@syncfusion/ej2-angular-base 20.1.48 → 20.2.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -2
- package/dist/ej2-angular-base.umd.min.js +2 -2
- package/dist/ej2-angular-base.umd.min.js.map +1 -1
- package/dist/es6/ej2-angular-base.es2015.js +11 -30
- package/dist/es6/ej2-angular-base.es2015.js.map +1 -1
- package/dist/es6/ej2-angular-base.es5.js +11 -30
- package/dist/es6/ej2-angular-base.es5.js.map +1 -1
- package/dist/global/ej2-angular-base.min.js +2 -2
- package/dist/global/ej2-angular-base.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +33 -8
- package/schematics/generators/component-builder.js +14 -14
- package/schematics/generators/template/schema.json +1 -1
- package/schematics/ng-add/index.js +2 -2
- package/schematics/ng-add/schema.json +1 -1
- package/schematics/ng-add/theme.js +5 -4
- package/schematics/utils/helpers/helpers.d.ts +1 -1
- package/schematics/utils/project-style-file.js +2 -2
- package/src/complex-array-base.js +5 -12
- package/src/component-base.js +4 -17
- package/src/form-base.js +1 -1
- package/src/template.js +1 -0
- package/styles/material-dark.css +1 -1
- package/styles/material.css +1 -1
- package/styles/tailwind-dark.css +1 -1
- package/styles/tailwind.css +1 -1
|
@@ -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) {\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 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 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 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 delete _this.registeredTemplate[registeredTemplate];\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 viewRef.markForCheck();\n /* istanbul ignore next */\n var viewCollection = (component && component.registeredTemplate) ?\n component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);\n propName = (propName && component.registeredTemplate) ? propName : pName_1;\n if (typeof viewCollection[propName] === 'undefined') {\n viewCollection[propName] = [];\n }\n viewCollection[propName].push(viewRef);\n return viewRef.rootNodes;\n };\n }\n}\n/**\n * Property decorator for angular.\n */\nexport function Template(defaultValue) {\n return function (target, key) {\n var propertyDescriptor = {\n set: setter(key),\n get: getter(key, defaultValue),\n enumerable: true,\n configurable: true\n };\n Object.defineProperty(target, key, propertyDescriptor);\n };\n}\nfunction setter(key) {\n return function (val) {\n if (val === undefined) {\n return;\n }\n setValue(key + 'Ref', val, this);\n if (typeof val !== 'string') {\n val.elementRef.nativeElement._viewContainerRef = this.viewContainerRef;\n val.elementRef.nativeElement.propName = key;\n }\n else {\n if (this.saveChanges) {\n this.saveChanges(key, val, undefined);\n this.dataBind();\n }\n }\n };\n}\nfunction getter(key, defaultValue) {\n return function () {\n /* istanbul ignore next */\n return getValue(key + 'Ref', this) || defaultValue;\n };\n}\n//tslint:disable-next-line\nsetTemplateEngine({ compile: compile });\n","import { getValue, setValue, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { clearTemplate, registerEvents } from './util';\nvar refRegex = /Ref$/;\nvar ComplexBase = /** @class */ (function () {\n function ComplexBase() {\n this.hasChanges = false;\n this.propCollection = {};\n this.dataSource = {};\n this.tags = [];\n this.tagObjects = [];\n }\n ComplexBase.prototype.ngOnInit = function () {\n this.registeredTemplate = {};\n for (var _i = 0, _a = this.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var objInstance = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), this);\n if (objInstance) {\n this.tagObjects.push({ instance: objInstance, name: tag });\n }\n }\n var templateProperties = Object.keys(this);\n for (var i = 0; i < templateProperties.length; i++) {\n var tempProp = getValue(templateProperties[i], this);\n if (typeof tempProp === 'object' && tempProp && tempProp.elementRef) {\n if (!getValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', this)) {\n setValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', tempProp, this);\n }\n if (getValue(\"viewContainerRef\", this) && !getValue(\"_viewContainerRef\", tempProp.elementRef.nativeElement) && !getValue(\"propName\", tempProp.elementRef.nativeElement)) {\n setValue(\"_viewContainerRef\", getValue(\"viewContainerRef\", this), tempProp.elementRef.nativeElement);\n setValue(\"propName\", templateProperties[i].replace(\"Ref\", ''), tempProp.elementRef.nativeElement);\n }\n }\n }\n templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n for (var _b = 0, templateProperties_1 = templateProperties; _b < templateProperties_1.length; _b++) {\n var tempName = templateProperties_1[_b];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n // Angular 9 compatibility to overcome ngOnchange not get triggered issue\n // To Update properties to \"this.propCollection\"\n var propList = Object.keys(this);\n /* istanbul ignore next */\n if (this.directivePropList) {\n for (var k = 0; k < this.directivePropList.length; k++) {\n var dirPropName = this.directivePropList[k];\n if (propList.indexOf(dirPropName) !== -1 && (getValue(dirPropName, this) === false || getValue(dirPropName, this))) {\n setValue(dirPropName, getValue(dirPropName, this), this.propCollection);\n }\n }\n this.hasChanges = true;\n }\n this.isInitChanges = true;\n };\n ComplexBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this, true);\n };\n ComplexBase.prototype.ngOnChanges = function (changes) {\n for (var _i = 0, _a = Object.keys(changes); _i < _a.length; _i++) {\n var propName = _a[_i];\n var changedVal = changes[propName];\n this.propCollection[propName] = changedVal.currentValue;\n }\n this.isUpdated = false;\n this.hasChanges = true;\n };\n /* istanbul ignore next */\n ComplexBase.prototype.clearTemplate = function (templateNames) {\n clearTemplate(this, templateNames);\n };\n ComplexBase.prototype.getProperties = function () {\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n this.propCollection[tagObject.name] = tagObject.instance.getProperties();\n }\n return this.propCollection;\n };\n ComplexBase.prototype.isChanged = function () {\n var result = this.hasChanges;\n if (!isNullOrUndefined(this.propCollection[this.property])) {\n var tempProps = this.propCollection[this.property];\n var props = Object.keys(tempProps[0]);\n for (var d = 0; d < props.length; d++) {\n if (!isNullOrUndefined(this.propCollection[props[d]])) {\n var val = getValue(props[d], this);\n var propVal = this.propCollection[this.property][0][props[d]];\n if (!isNullOrUndefined(val) && this.propCollection[props[d]] !== val\n && propVal !== val) {\n setValue(props[d], val, this.propCollection[this.property][0]);\n setValue(props[d], val, this.propCollection);\n this.hasChanges = true;\n this.isUpdated = false;\n }\n }\n }\n }\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.instance.hasChanges;\n }\n return result || this.hasChanges;\n };\n ComplexBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n if (this.isInitChanges || this.hasChanges) {\n var templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return refRegex.test(val);\n });\n for (var _i = 0, templateProperties_2 = templateProperties; _i < templateProperties_2.length; _i++) {\n var tempName = templateProperties_2[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n }\n };\n ComplexBase.prototype.ngAfterViewChecked = function () {\n /* istanbul ignore next */\n if (this.isUpdated) {\n this.hasChanges = false;\n }\n };\n ComplexBase.prototype.ngAfterViewInit = function () {\n /* istanbul ignore next */\n this.isInitChanges = false;\n };\n ComplexBase.prototype.ngOnDestroy = function () {\n /* istanbul ignore next */\n this.directivePropList = [];\n };\n return ComplexBase;\n}());\nexport { ComplexBase };\nvar ArrayBase = /** @class */ (function () {\n function ArrayBase(propertyName) {\n this.list = [];\n this.hasChanges = false;\n this.propertyName = propertyName;\n }\n ArrayBase.prototype.ngOnInit = function () {\n this.isInitChanges = true;\n };\n ArrayBase.prototype.ngAfterContentInit = function () {\n var _this = this;\n var index = 0;\n /* istanbul ignore next */\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n this.hasChanges = true;\n };\n ArrayBase.prototype.getProperties = function () {\n var onlyProp = [];\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n onlyProp.push(item.getProperties());\n }\n return onlyProp;\n };\n ArrayBase.prototype.isChanged = function () {\n var _this = this;\n var result = false;\n var index = 0;\n var isSourceChanged = false;\n // tslint:disable-next-line\n var childrenDataSource = this.children.map(function (child) {\n return child;\n });\n /* istanbul ignore next */\n if (this.list.length === this.children.length) {\n for (var i = 0; i < this.list.length; i++) {\n if (this.list[i].propCollection.dataSource) {\n if (this.list[i].dataSource && this.list[i].propCollection.dataSource !== this.list[i].dataSource) {\n this.list[i].propCollection.dataSource = this.list[i].dataSource;\n this.list[i].hasChanges = true;\n }\n }\n if (this.list[i].hasChanges !== childrenDataSource[i].hasChanges) {\n isSourceChanged = true;\n }\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 tempOnDestroyThis.ngBoundedEvents = {};\n tempOnDestroyThis.tagObjects = {};\n tempOnDestroyThis.ngEle = null;\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/.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 // setTimeout(() => {\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 };\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","_a","e","m","template","rootNodes","rt","destroy","_b","_c","destroyed","_view","pNode","renderer","parentNode","isNullOrUndefined","appendChild","_d","_e","tagObjects","tagObject","instance","RegExp","setValue","nameSpace","value","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","markForCheck","viewCollection","getValue","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","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","getModuleName","includes","appendTo","tempOnDestroyThis","classList","contains","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","JSON","stringify","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) {\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 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 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 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 delete _this.registeredTemplate[registeredTemplate];\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 viewRef.markForCheck();\n viewRef.detectChanges();\n /* istanbul ignore next */\n var viewCollection = (component && component.registeredTemplate) ?\n component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);\n propName = (propName && component.registeredTemplate) ? propName : pName_1;\n if (typeof viewCollection[propName] === 'undefined') {\n viewCollection[propName] = [];\n }\n viewCollection[propName].push(viewRef);\n return viewRef.rootNodes;\n };\n }\n}\n/**\n * Property decorator for angular.\n */\nexport function Template(defaultValue) {\n return function (target, key) {\n var propertyDescriptor = {\n set: setter(key),\n get: getter(key, defaultValue),\n enumerable: true,\n configurable: true\n };\n Object.defineProperty(target, key, propertyDescriptor);\n };\n}\nfunction setter(key) {\n return function (val) {\n if (val === undefined) {\n return;\n }\n setValue(key + 'Ref', val, this);\n if (typeof val !== 'string') {\n val.elementRef.nativeElement._viewContainerRef = this.viewContainerRef;\n val.elementRef.nativeElement.propName = key;\n }\n else {\n if (this.saveChanges) {\n this.saveChanges(key, val, undefined);\n this.dataBind();\n }\n }\n };\n}\nfunction getter(key, defaultValue) {\n return function () {\n /* istanbul ignore next */\n return getValue(key + 'Ref', this) || defaultValue;\n };\n}\n//tslint:disable-next-line\nsetTemplateEngine({ compile: compile });\n","import { getValue, setValue, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { clearTemplate, registerEvents } from './util';\nvar refRegex = /Ref$/;\nvar ComplexBase = /** @class */ (function () {\n function ComplexBase() {\n this.hasChanges = false;\n this.propCollection = {};\n this.dataSource = {};\n this.tags = [];\n this.tagObjects = [];\n }\n ComplexBase.prototype.ngOnInit = function () {\n this.registeredTemplate = {};\n for (var _i = 0, _a = this.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var objInstance = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), this);\n if (objInstance) {\n this.tagObjects.push({ instance: objInstance, name: tag });\n }\n }\n var templateProperties = Object.keys(this);\n for (var i = 0; i < templateProperties.length; i++) {\n var tempProp = getValue(templateProperties[i], this);\n if (typeof tempProp === 'object' && tempProp.elementRef && !getValue(templateProperties[i] + 'Ref', this)) {\n setValue(templateProperties[i] + 'Ref', tempProp, this);\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)) {\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 }\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 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' && document.body.contains(tempAfterViewThis.element)) {\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' && document.body.contains(tempOnDestroyThis.element) && tempOnDestroyThis.element.classList.contains('e-control')) {\n tempOnDestroyThis.destroy();\n tempOnDestroyThis.clearTemplate(null);\n // removing bounded events and tagobjects from component after destroy\n tempOnDestroyThis.ngBoundedEvents = {};\n tempOnDestroyThis.tagObjects = {};\n tempOnDestroyThis.ngEle = null;\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) || (tempAfterContentThis.getModuleName() === 'diagram')) {\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 && /chart/.test(tempAfterContentThis.getModuleName())) {\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 &&\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 // setTimeout(() => {\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 };\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","_a","e","m","template","rootNodes","rt","destroy","_b","_c","destroyed","_view","pNode","renderer","parentNode","isNullOrUndefined","appendChild","_d","_e","tagObjects","tagObject","instance","RegExp","setValue","nameSpace","value","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","markForCheck","detectChanges","viewCollection","getValue","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","templateProperties_1","propList","directivePropList","k","dirPropName","indexOf","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","complexTemplates_1","ngAr","tempAfterViewThis","ngEle","outerHTML","style","visibility","window","document","body","contains","appendTo","tempOnDestroyThis","classList","tempAfterContentThis","isUndefined","propObj","complexDirProps","skip","getModuleName","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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"}
|
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 20.
|
|
3
|
+
* version : 20.2.36
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
|
|
5
5
|
* Use of this code is subject to the terms of our license.
|
|
6
6
|
* A copy of the current license can be obtained at any time by e-mailing
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_from": "@syncfusion/ej2-angular-base@*",
|
|
3
|
-
"_id": "@syncfusion/ej2-angular-base@
|
|
3
|
+
"_id": "@syncfusion/ej2-angular-base@19.7.0",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-9EtGuktWOmpZ0sgl5koYBrsjWaElx+1F2cbwuxr8Ga8e0JmID6OId2l+lEEt0YcFZH19BqiWgOZktS1IOMUJsg==",
|
|
6
6
|
"_location": "/@syncfusion/ej2-angular-base",
|
|
7
7
|
"_phantomChildren": {},
|
|
8
8
|
"_requested": {
|
|
@@ -18,24 +18,41 @@
|
|
|
18
18
|
},
|
|
19
19
|
"_requiredBy": [
|
|
20
20
|
"/",
|
|
21
|
+
"/@syncfusion/ej2-angular-barcode-generator",
|
|
22
|
+
"/@syncfusion/ej2-angular-buttons",
|
|
23
|
+
"/@syncfusion/ej2-angular-calendars",
|
|
21
24
|
"/@syncfusion/ej2-angular-charts",
|
|
25
|
+
"/@syncfusion/ej2-angular-circulargauge",
|
|
22
26
|
"/@syncfusion/ej2-angular-diagrams",
|
|
23
27
|
"/@syncfusion/ej2-angular-documenteditor",
|
|
28
|
+
"/@syncfusion/ej2-angular-dropdowns",
|
|
29
|
+
"/@syncfusion/ej2-angular-filemanager",
|
|
24
30
|
"/@syncfusion/ej2-angular-gantt",
|
|
25
31
|
"/@syncfusion/ej2-angular-grids",
|
|
32
|
+
"/@syncfusion/ej2-angular-heatmap",
|
|
33
|
+
"/@syncfusion/ej2-angular-inplace-editor",
|
|
26
34
|
"/@syncfusion/ej2-angular-inputs",
|
|
35
|
+
"/@syncfusion/ej2-angular-kanban",
|
|
36
|
+
"/@syncfusion/ej2-angular-layouts",
|
|
27
37
|
"/@syncfusion/ej2-angular-lineargauge",
|
|
38
|
+
"/@syncfusion/ej2-angular-lists",
|
|
28
39
|
"/@syncfusion/ej2-angular-maps",
|
|
29
40
|
"/@syncfusion/ej2-angular-navigations",
|
|
41
|
+
"/@syncfusion/ej2-angular-notifications",
|
|
42
|
+
"/@syncfusion/ej2-angular-pdfviewer",
|
|
30
43
|
"/@syncfusion/ej2-angular-pivotview",
|
|
44
|
+
"/@syncfusion/ej2-angular-popups",
|
|
45
|
+
"/@syncfusion/ej2-angular-progressbar",
|
|
31
46
|
"/@syncfusion/ej2-angular-querybuilder",
|
|
32
47
|
"/@syncfusion/ej2-angular-richtexteditor",
|
|
33
48
|
"/@syncfusion/ej2-angular-schedule",
|
|
49
|
+
"/@syncfusion/ej2-angular-splitbuttons",
|
|
34
50
|
"/@syncfusion/ej2-angular-spreadsheet",
|
|
35
|
-
"/@syncfusion/ej2-angular-treegrid"
|
|
51
|
+
"/@syncfusion/ej2-angular-treegrid",
|
|
52
|
+
"/@syncfusion/ej2-angular-treemap"
|
|
36
53
|
],
|
|
37
|
-
"_resolved": "http://nexus.syncfusion.com/repository/ej2-
|
|
38
|
-
"_shasum": "
|
|
54
|
+
"_resolved": "http://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-angular-base/-/ej2-angular-base-19.7.0.tgz",
|
|
55
|
+
"_shasum": "04b7f1e5ef3465bbf58329529b590a6e51f1b1bb",
|
|
39
56
|
"_spec": "@syncfusion/ej2-angular-base@*",
|
|
40
57
|
"_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
|
|
41
58
|
"author": {
|
|
@@ -46,8 +63,8 @@
|
|
|
46
63
|
},
|
|
47
64
|
"bundleDependencies": false,
|
|
48
65
|
"dependencies": {
|
|
49
|
-
"@syncfusion/ej2-base": "~20.
|
|
50
|
-
"@syncfusion/ej2-icons": "~20.
|
|
66
|
+
"@syncfusion/ej2-base": "~20.2.36",
|
|
67
|
+
"@syncfusion/ej2-icons": "~20.2.36",
|
|
51
68
|
"core-js": "^3.4.8",
|
|
52
69
|
"reflect-metadata": "^0.1.9",
|
|
53
70
|
"rxjs": "^6.5.4",
|
|
@@ -70,6 +87,14 @@
|
|
|
70
87
|
"main": "./dist/ej2-angular-base.umd.min.js",
|
|
71
88
|
"module": "./index.js",
|
|
72
89
|
"name": "@syncfusion/ej2-angular-base",
|
|
90
|
+
"peerDependencies": {
|
|
91
|
+
"@angular/common": "4.10.0 - 11.1.1",
|
|
92
|
+
"@angular/compiler": "4.10.0 - 11.1.1",
|
|
93
|
+
"@angular/core": "4.10.0 - 11.1.1",
|
|
94
|
+
"@angular/forms": "4.10.0 - 11.1.1",
|
|
95
|
+
"@angular/platform-browser": "4.10.0 - 11.1.1",
|
|
96
|
+
"@angular/platform-browser-dynamic": "4.10.0 - 11.1.1"
|
|
97
|
+
},
|
|
73
98
|
"repository": {
|
|
74
99
|
"type": "git",
|
|
75
100
|
"url": "git+https://github.com/syncfusion/ej2-angular-ui-components.git"
|
|
@@ -79,6 +104,6 @@
|
|
|
79
104
|
"postinstall": "node ./postinstall.js"
|
|
80
105
|
},
|
|
81
106
|
"typings": "index.d.ts",
|
|
82
|
-
"version": "20.
|
|
107
|
+
"version": "20.2.36",
|
|
83
108
|
"sideEffects": true
|
|
84
109
|
}
|
|
@@ -2,31 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const core_1 = require("@angular-devkit/core");
|
|
4
4
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
-
const
|
|
5
|
+
const helpers_1 = require("../utils/helpers/helpers");
|
|
6
6
|
const ts = require("typescript");
|
|
7
7
|
const get_project_1 = require("../utils/get-project");
|
|
8
|
-
const
|
|
8
|
+
const helpers_2 = require("../utils/helpers/helpers");
|
|
9
9
|
const ast_1 = require("../utils/ast");
|
|
10
10
|
function componentBuilder(options, sampleDetails) {
|
|
11
11
|
return (host, context) => {
|
|
12
|
-
const workspace =
|
|
12
|
+
const workspace = helpers_1.getWorkspace(host);
|
|
13
13
|
const project = get_project_1.getProjectFromWorkspace(workspace, options.project);
|
|
14
14
|
options.selector = options.selector || core_1.strings.dasherize(options.name);
|
|
15
15
|
if (options.path === undefined) {
|
|
16
16
|
options.path = `/${project.root}/src/app/`;
|
|
17
17
|
}
|
|
18
|
-
const parsedPath =
|
|
18
|
+
const parsedPath = helpers_2.parseName(options.path, options.name);
|
|
19
19
|
options.name = parsedPath.name;
|
|
20
20
|
options.path = parsedPath.path;
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
helpers_2.validateName(options.name);
|
|
22
|
+
helpers_2.validateHtmlSelector(options.selector);
|
|
23
23
|
options.selector = options.selector || buildSelector(options, project.prefix);
|
|
24
|
-
options.module =
|
|
24
|
+
options.module = helpers_2.findModuleFromOptions(host, options);
|
|
25
25
|
const templateSource = schematics_1.apply(schematics_1.url('./samples'), [
|
|
26
26
|
schematics_1.template(Object.assign({}, core_1.strings, { 'if-flat': (s) => options.flat ? '' : s }, options)),
|
|
27
27
|
schematics_1.move(null, parsedPath.path)
|
|
28
28
|
]);
|
|
29
|
-
const parsedImagePath =
|
|
29
|
+
const parsedImagePath = helpers_2.parseName(`/${project.root}/src/assets/${sampleDetails.componentName}`, `${sampleDetails.sampleName}`);
|
|
30
30
|
let imagesExists = host.getDir(`${parsedImagePath.path}/${parsedImagePath.name}`).subfiles.length ?
|
|
31
31
|
true : false, optionsClone = Object.assign({}, options), copyImages;
|
|
32
32
|
optionsClone.path = parsedImagePath.path;
|
|
@@ -72,12 +72,12 @@ function addModuleToRoot(options, sampleDetails) {
|
|
|
72
72
|
+ (options.flat ? '' : core_1.strings.dasherize(options.name) + '/')
|
|
73
73
|
+ core_1.strings.dasherize(options.name)
|
|
74
74
|
+ '.component';
|
|
75
|
-
const relativePath =
|
|
75
|
+
const relativePath = helpers_2.buildRelativePath(modulePath, componentPath);
|
|
76
76
|
const classifiedName = core_1.strings.classify(`${options.name}Component`);
|
|
77
|
-
const declarationChanges =
|
|
77
|
+
const declarationChanges = helpers_2.addDeclarationToModule(source, modulePath, classifiedName, relativePath);
|
|
78
78
|
const declarationRecorder = host.beginUpdate(modulePath);
|
|
79
79
|
for (const change of declarationChanges) {
|
|
80
|
-
if (change instanceof
|
|
80
|
+
if (change instanceof helpers_2.InsertChange) {
|
|
81
81
|
declarationRecorder.insertLeft(change.pos, change.toAdd);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -86,12 +86,12 @@ function addModuleToRoot(options, sampleDetails) {
|
|
|
86
86
|
const providers = sampleDetails.diModules ? sampleDetails.diModules.split(',') : null;
|
|
87
87
|
if (providers)
|
|
88
88
|
providers.forEach((provider) => {
|
|
89
|
-
if (!
|
|
89
|
+
if (!helpers_2.isImported(source, provider.trim(), sampleDetails.packageName)) {
|
|
90
90
|
source = readIntoSourceFile(host, modulePath);
|
|
91
|
-
const providerChanges =
|
|
91
|
+
const providerChanges = helpers_2.addProviderToModule(source, modulePath, provider, sampleDetails.packageName);
|
|
92
92
|
const providerRecorder = host.beginUpdate(modulePath);
|
|
93
93
|
for (const change of providerChanges) {
|
|
94
|
-
if (change instanceof
|
|
94
|
+
if (change instanceof helpers_2.InsertChange) {
|
|
95
95
|
providerRecorder.insertLeft(change.pos, change.toAdd);
|
|
96
96
|
}
|
|
97
97
|
}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const core_1 = require("@angular-devkit/core");
|
|
4
4
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
5
|
const tasks_1 = require("@angular-devkit/schematics/tasks");
|
|
6
|
-
const
|
|
6
|
+
const helpers_1 = require("../utils/helpers/helpers");
|
|
7
7
|
const ast_1 = require("../utils/ast");
|
|
8
8
|
const get_project_1 = require("../utils/get-project");
|
|
9
9
|
const theme_1 = require("./theme");
|
|
@@ -57,7 +57,7 @@ function addModuleImportToCustomModule(host, options, validModules, libOptions)
|
|
|
57
57
|
*/
|
|
58
58
|
function addEJ2PackageRootConfig(options, libOptions) {
|
|
59
59
|
return (host) => {
|
|
60
|
-
const workspace =
|
|
60
|
+
const workspace = helpers_1.getWorkspace(host);
|
|
61
61
|
const project = get_project_1.getProjectFromWorkspace(workspace, options.project);
|
|
62
62
|
let validModules;
|
|
63
63
|
let availableModules = libOptions.moduleName.replace(/Module/g, '').trim();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const change_1 = require("@schematics/angular/utility/change");
|
|
4
|
-
const
|
|
4
|
+
const helpers_1 = require("../utils/helpers/helpers");
|
|
5
5
|
const get_project_1 = require("../utils/get-project");
|
|
6
6
|
const package_1 = require("../utils/package");
|
|
7
7
|
const project_style_file_1 = require("../utils/project-style-file");
|
|
@@ -21,12 +21,13 @@ exports.addEJ2ThemeToPackageJson = addEJ2ThemeToPackageJson;
|
|
|
21
21
|
*/
|
|
22
22
|
function addEJ2Theme(options, theme) {
|
|
23
23
|
return (host) => {
|
|
24
|
-
|
|
24
|
+
let themePath = `@import \'..\/node_modules/@syncfusion/ej2-${theme}-theme/styles/${theme}.css\'`;
|
|
25
25
|
const strippedThemePath = `./node_modules/@syncfusion/ej2-${theme}-theme/styles/${theme}.css`;
|
|
26
|
-
const workspace =
|
|
26
|
+
const workspace = helpers_1.getWorkspace(host);
|
|
27
27
|
const project = get_project_1.getProjectFromWorkspace(workspace, options.project);
|
|
28
|
-
const stylesPath = project_style_file_1.getProjectStyleFile(project
|
|
28
|
+
const stylesPath = project_style_file_1.getProjectStyleFile(project);
|
|
29
29
|
const stylesBuffer = host.read(stylesPath);
|
|
30
|
+
themePath += stylesPath.includes("sass") ? `\n` : `;\n`;
|
|
30
31
|
// Because the build setup for the Angular CLI can be changed so dramatically, we can't know
|
|
31
32
|
// where to generate anything if the project is not using the default config for build and test.
|
|
32
33
|
project_style_file_1.assertDefaultBuildersConfigured(project);
|
|
@@ -93,7 +93,7 @@ export interface ProjectBuildOptions {
|
|
|
93
93
|
[k: string]: any;
|
|
94
94
|
}
|
|
95
95
|
/** Gets the Angular CLI workspace config (angular.json) */
|
|
96
|
-
export declare function getWorkspace(host: Tree):
|
|
96
|
+
export declare function getWorkspace(host: Tree): any;
|
|
97
97
|
/**
|
|
98
98
|
* Gets a project from the Angular CLI workspace. If no project name is given, the first project
|
|
99
99
|
* will be retrieved.
|
|
@@ -10,9 +10,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
const core_1 = require("@angular-devkit/core");
|
|
11
11
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
12
12
|
/** Regular expression that matches all possible Angular CLI default style files. */
|
|
13
|
-
const defaultStyleFileRegex = /styles\.(c|le|sc)ss/;
|
|
13
|
+
const defaultStyleFileRegex = /styles\.(c|le|sa|sc)ss/;
|
|
14
14
|
/** Regular expression that matches all files that have a proper stylesheet extension. */
|
|
15
|
-
const validStyleFileRegex = /\.(c|le|sc)ss/;
|
|
15
|
+
const validStyleFileRegex = /\.(c|le|sa|sc)ss/;
|
|
16
16
|
/**
|
|
17
17
|
* Gets a style file with the given extension in a project and returns its path. If no
|
|
18
18
|
* extension is specified, any style file with a valid extension will be returned.
|
|
@@ -21,14 +21,8 @@ var ComplexBase = /** @class */ (function () {
|
|
|
21
21
|
var templateProperties = Object.keys(this);
|
|
22
22
|
for (var i = 0; i < templateProperties.length; i++) {
|
|
23
23
|
var tempProp = getValue(templateProperties[i], this);
|
|
24
|
-
if (typeof tempProp === 'object' && tempProp &&
|
|
25
|
-
|
|
26
|
-
setValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', tempProp, this);
|
|
27
|
-
}
|
|
28
|
-
if (getValue("viewContainerRef", this) && !getValue("_viewContainerRef", tempProp.elementRef.nativeElement) && !getValue("propName", tempProp.elementRef.nativeElement)) {
|
|
29
|
-
setValue("_viewContainerRef", getValue("viewContainerRef", this), tempProp.elementRef.nativeElement);
|
|
30
|
-
setValue("propName", templateProperties[i].replace("Ref", ''), tempProp.elementRef.nativeElement);
|
|
31
|
-
}
|
|
24
|
+
if (typeof tempProp === 'object' && tempProp.elementRef && !getValue(templateProperties[i] + 'Ref', this)) {
|
|
25
|
+
setValue(templateProperties[i] + 'Ref', tempProp, this);
|
|
32
26
|
}
|
|
33
27
|
}
|
|
34
28
|
templateProperties = Object.keys(this);
|
|
@@ -47,7 +41,7 @@ var ComplexBase = /** @class */ (function () {
|
|
|
47
41
|
if (this.directivePropList) {
|
|
48
42
|
for (var k = 0; k < this.directivePropList.length; k++) {
|
|
49
43
|
var dirPropName = this.directivePropList[k];
|
|
50
|
-
if (propList.indexOf(dirPropName) !== -1 &&
|
|
44
|
+
if (propList.indexOf(dirPropName) !== -1 && getValue(dirPropName, this)) {
|
|
51
45
|
setValue(dirPropName, getValue(dirPropName, this), this.propCollection);
|
|
52
46
|
}
|
|
53
47
|
}
|
|
@@ -181,9 +175,8 @@ var ArrayBase = /** @class */ (function () {
|
|
|
181
175
|
this.list[i].propCollection.dataSource = this.list[i].dataSource;
|
|
182
176
|
this.list[i].hasChanges = true;
|
|
183
177
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
isSourceChanged = true;
|
|
178
|
+
isSourceChanged = (JSON.stringify(this.list[i].propCollection.dataSource) !==
|
|
179
|
+
JSON.stringify(childrenDataSource[i].propCollection.dataSource));
|
|
187
180
|
}
|
|
188
181
|
}
|
|
189
182
|
}
|