@syncfusion/ej2-angular-base 25.2.4 → 26.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +261 -0
- package/dist/ej2-angular-base.umd.min.js +2 -2
- package/dist/ej2-angular-base.umd.min.js.map +1 -1
- package/dist/es6/ej2-angular-base.es2015.js +234 -214
- package/dist/es6/ej2-angular-base.es2015.js.map +1 -1
- package/dist/es6/ej2-angular-base.es5.js +158 -138
- package/dist/es6/ej2-angular-base.es5.js.map +1 -1
- package/dist/global/ej2-angular-base.min.js +2 -2
- package/dist/global/ej2-angular-base.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +24 -9
- package/schematics/generators/component-builder.d.ts +3 -0
- package/schematics/generators/component-builder.js +23 -22
- package/schematics/generators/index.js +1 -0
- package/schematics/index.d.ts +0 -4
- package/schematics/index.js +21 -9
- package/schematics/ng-add/index.d.ts +3 -0
- package/schematics/ng-add/index.js +14 -12
- package/schematics/ng-add/theme.d.ts +3 -0
- package/schematics/ng-add/theme.js +10 -8
- package/schematics/utils/ast.d.ts +3 -2
- package/schematics/utils/ast.js +8 -8
- package/schematics/utils/get-project.d.ts +4 -2
- package/schematics/utils/get-project.js +3 -2
- package/schematics/utils/helpers/helpers.js +19 -18
- package/schematics/utils/package.js +1 -0
- package/schematics/utils/project-style-file.d.ts +5 -3
- package/schematics/utils/project-style-file.js +4 -3
- package/src/complex-array-base.d.ts +1 -0
- package/src/complex-array-base.js +31 -28
- package/src/component-base.d.ts +1 -0
- package/src/component-base.js +39 -53
- package/src/form-base.d.ts +3 -3
- package/src/form-base.js +0 -4
- package/src/template.d.ts +8 -1
- package/src/template.js +23 -5
- package/src/util.d.ts +26 -3
- package/src/util.js +51 -28
- package/styles/fluent2.css +1033 -0
- package/styles/fluent2.scss +1 -0
- package/styles/material3-dark.css +1 -1
- package/styles/material3.css +1 -1
- package/tslint.json +111 -0
- package/CHANGELOG.md +0 -702
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ej2-angular-base.min.js","sources":["../../src/util.js","../../src/template.js","../../src/complex-array-base.js","../../src/component-base.js","../../src/form-base.js"],"sourcesContent":["import { EventEmitter } from '@angular/core';\nimport { isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * Angular Utility Module\n */\n/* tslint:disable */\nexport function applyMixins(derivedClass, baseClass) {\n baseClass.forEach(function (baseClass) {\n Object.getOwnPropertyNames(baseClass.prototype).forEach(function (name) {\n if (!derivedClass.prototype.hasOwnProperty(name) || (baseClass.isFormBase && name !== 'constructor')) {\n derivedClass.prototype[name] = baseClass.prototype[name];\n }\n });\n });\n}\n/* tslint:disable */\nexport function ComponentMixins(baseClass) {\n return function (derivedClass) {\n applyMixins(derivedClass, baseClass);\n };\n}\n/**\n * @private\n */\nexport function registerEvents(eventList, obj, direct) {\n var ngEventsEmitter = {};\n if (eventList && eventList.length) {\n for (var _i = 0, eventList_1 = eventList; _i < eventList_1.length; _i++) {\n var event_1 = eventList_1[_i];\n if (direct === true) {\n obj.propCollection[event_1] = new EventEmitter(false);\n obj[event_1] = obj.propCollection[event_1];\n }\n else {\n ngEventsEmitter[event_1] = new EventEmitter(false);\n }\n }\n if (direct !== true) {\n obj.setProperties(ngEventsEmitter, true);\n }\n }\n}\n/**\n * @private\n */\nexport function clearTemplate(_this, templateNames, index) {\n var regTemplates = Object.keys(_this.registeredTemplate);\n if (regTemplates.length) {\n /* istanbul ignore next */\n var regProperties = templateNames && templateNames.filter(function (val) {\n return (/\\./g.test(val) ? false : true);\n });\n var tabaccordionTemp = /tab|accordion|toolbar/.test(_this.getModuleName());\n for (var _i = 0, _a = (regProperties && regProperties || regTemplates); _i < _a.length; _i++) {\n var registeredTemplate = _a[_i];\n /* istanbul ignore next */\n if (index && index.length) {\n for (var e = 0; e < index.length; e++) {\n if (tabaccordionTemp) {\n for (var m = 0; m < _this.registeredTemplate[registeredTemplate].length; m++) {\n var value = _this.registeredTemplate[registeredTemplate][m];\n if (value && value === index[e]) {\n value.destroy();\n _this.registeredTemplate[registeredTemplate].splice(m, 1);\n }\n }\n }\n else {\n for (var m = 0; m < _this.registeredTemplate.template.length; m++) {\n var value = _this.registeredTemplate.template[m].rootNodes[0];\n if (value === index[e]) {\n var rt = _this.registeredTemplate[registeredTemplate];\n rt[m].destroy();\n }\n }\n }\n }\n }\n else {\n if (_this.registeredTemplate[registeredTemplate]) {\n for (var _b = 0, _c = _this.registeredTemplate[registeredTemplate]; _b < _c.length; _b++) {\n var rt = _c[_b];\n if (!rt.destroyed) {\n if (rt._view) {\n var pNode = rt._view.renderer.parentNode(rt.rootNodes[0]);\n if (!isNullOrUndefined(pNode)) {\n for (var m = 0; m < rt.rootNodes.length; m++) {\n pNode.appendChild(rt.rootNodes[m]);\n }\n }\n }\n rt.destroy();\n }\n }\n }\n }\n if (!tabaccordionTemp || !index) {\n delete _this.registeredTemplate[registeredTemplate];\n }\n }\n }\n var _loop_1 = function (tagObject) {\n if (tagObject.instance) {\n /* istanbul ignore next */\n tagObject.instance.clearTemplate((templateNames && templateNames.filter(function (val) {\n return (new RegExp(tagObject.name).test(val) ? true : false);\n })));\n }\n };\n for (var _d = 0, _e = _this.tagObjects; _d < _e.length; _d++) {\n var tagObject = _e[_d];\n _loop_1(tagObject);\n }\n}\n/**\n * To set value for the nameSpace in desired object.\n * @param {string} nameSpace - String value to the get the inner object\n * @param {any} value - Value that you need to set.\n * @param {any} obj - Object to get the inner object value.\n * @return {void}\n * @private\n */\nexport function setValue(nameSpace, value, object) {\n var keys = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n /* istanbul ignore next */\n var fromObj = object || {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (i + 1 === keys.length) {\n fromObj[key] = value === undefined ? {} : value;\n }\n else if (fromObj[key] === undefined) {\n fromObj[key] = {};\n }\n fromObj = fromObj[key];\n }\n return fromObj;\n}\n","import { setTemplateEngine, getTemplateEngine } from '@syncfusion/ej2-base';\nimport { setValue, getValue } from '@syncfusion/ej2-base';\nvar stringCompiler = getTemplateEngine();\n/**\n * Angular Template Compiler\n */\nexport function compile(templateEle, helper) {\n if (typeof templateEle === 'string' || (typeof templateEle === 'function' && templateEle.prototype && templateEle.prototype.CSPTemplate)) {\n return stringCompiler(templateEle, helper);\n }\n else {\n var contRef_1 = templateEle.elementRef.nativeElement._viewContainerRef;\n var pName_1 = templateEle.elementRef.nativeElement.propName;\n //tslint:disable-next-line \n return function (data, component, propName) {\n var context = { $implicit: data };\n /* istanbul ignore next */\n var conRef = contRef_1 ? contRef_1 : component.viewContainerRef;\n var viewRef = conRef.createEmbeddedView(templateEle, context);\n if (/EJS-MENTION|EJS-DROPDOWNLIST/.test(getValue('currentInstance.element.nodeName', conRef)) || /E-TABITEM/.test(getValue('element.nativeElement.nodeName', conRef))) {\n viewRef.detectChanges();\n }\n else {\n viewRef.markForCheck();\n }\n /* istanbul ignore next */\n var viewCollection = (component && component.registeredTemplate) ?\n component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);\n propName = (propName && component.registeredTemplate) ? propName : pName_1;\n if (typeof viewCollection[propName] === 'undefined') {\n viewCollection[propName] = [];\n }\n viewCollection[propName].push(viewRef);\n return viewRef.rootNodes;\n };\n }\n}\n/**\n * Property decorator for angular.\n */\nexport function Template(defaultValue) {\n return function (target, key) {\n var propertyDescriptor = {\n set: setter(key),\n get: getter(key, defaultValue),\n enumerable: true,\n configurable: true\n };\n Object.defineProperty(target, key, propertyDescriptor);\n };\n}\nfunction setter(key) {\n return function (val) {\n if (val === undefined) {\n return;\n }\n setValue(key + 'Ref', val, this);\n if (typeof val !== 'string') {\n val.elementRef.nativeElement._viewContainerRef = this.viewContainerRef;\n val.elementRef.nativeElement.propName = key;\n }\n else {\n if (this.saveChanges) {\n this.saveChanges(key, val, undefined);\n this.dataBind();\n }\n }\n };\n}\nfunction getter(key, defaultValue) {\n return function () {\n /* istanbul ignore next */\n return getValue(key + 'Ref', this) || defaultValue;\n };\n}\n//tslint:disable-next-line\nsetTemplateEngine({ compile: compile });\n","import { getValue, setValue, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { clearTemplate, registerEvents } from './util';\nvar refRegex = /Ref$/;\nvar ComplexBase = /** @class */ (function () {\n function ComplexBase() {\n this.hasChanges = false;\n this.propCollection = {};\n this.dataSource = {};\n this.tags = [];\n this.tagObjects = [];\n }\n ComplexBase.prototype.ngOnInit = function () {\n this.registeredTemplate = {};\n for (var _i = 0, _a = this.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var objInstance = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), this);\n if (objInstance) {\n this.tagObjects.push({ instance: objInstance, name: tag });\n }\n }\n var templateProperties = Object.keys(this);\n for (var i = 0; i < templateProperties.length; i++) {\n var tempProp = getValue(templateProperties[i], this);\n if (typeof tempProp === 'object' && tempProp && tempProp.elementRef) {\n if (!getValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', this)) {\n setValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', tempProp, this);\n }\n if (getValue(\"viewContainerRef\", this) && !getValue(\"_viewContainerRef\", tempProp.elementRef.nativeElement) && !getValue(\"propName\", tempProp.elementRef.nativeElement)) {\n setValue(\"_viewContainerRef\", getValue(\"viewContainerRef\", this), tempProp.elementRef.nativeElement);\n setValue(\"propName\", templateProperties[i].replace(\"Ref\", ''), tempProp.elementRef.nativeElement);\n }\n }\n }\n templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n for (var _b = 0, templateProperties_1 = templateProperties; _b < templateProperties_1.length; _b++) {\n var tempName = templateProperties_1[_b];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n // Angular 9 compatibility to overcome ngOnchange not get triggered issue\n // To Update properties to \"this.propCollection\"\n var propList = Object.keys(this);\n /* istanbul ignore next */\n if (this.directivePropList) {\n for (var k = 0; k < this.directivePropList.length; k++) {\n var dirPropName = this.directivePropList[k];\n if (propList.indexOf(dirPropName) !== -1 && (getValue(dirPropName, this) === false || getValue(dirPropName, this))) {\n setValue(dirPropName, getValue(dirPropName, this), this.propCollection);\n }\n }\n this.hasChanges = true;\n }\n this.isInitChanges = true;\n };\n ComplexBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this, true);\n };\n ComplexBase.prototype.ngOnChanges = function (changes) {\n for (var _i = 0, _a = Object.keys(changes); _i < _a.length; _i++) {\n var propName = _a[_i];\n var changedVal = changes[propName];\n this.propCollection[propName] = changedVal.currentValue;\n }\n this.isUpdated = false;\n this.hasChanges = true;\n };\n /* istanbul ignore next */\n ComplexBase.prototype.clearTemplate = function (templateNames) {\n clearTemplate(this, templateNames);\n };\n ComplexBase.prototype.getProperties = function () {\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n this.propCollection[tagObject.name] = tagObject.instance.getProperties();\n }\n return this.propCollection;\n };\n ComplexBase.prototype.isChanged = function () {\n var result = this.hasChanges;\n if (!isNullOrUndefined(this.propCollection[this.property])) {\n var tempProps = this.propCollection[this.property];\n var props = Object.keys(tempProps[0]);\n for (var d = 0; d < props.length; d++) {\n if (!isNullOrUndefined(this.propCollection[props[d]])) {\n var val = getValue(props[d], this);\n var propVal = this.propCollection[this.property][0][props[d]];\n if (!isNullOrUndefined(val) && this.propCollection[props[d]] !== val\n && propVal !== val) {\n setValue(props[d], val, this.propCollection[this.property][0]);\n setValue(props[d], val, this.propCollection);\n this.hasChanges = true;\n this.isUpdated = false;\n }\n }\n }\n }\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.instance.hasChanges;\n }\n return result || this.hasChanges;\n };\n ComplexBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n if (this.isInitChanges || this.hasChanges) {\n var templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return refRegex.test(val);\n });\n for (var _i = 0, templateProperties_2 = templateProperties; _i < templateProperties_2.length; _i++) {\n var tempName = templateProperties_2[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n }\n };\n ComplexBase.prototype.ngAfterViewChecked = function () {\n /* istanbul ignore next */\n if (this.isUpdated) {\n this.hasChanges = false;\n }\n };\n ComplexBase.prototype.ngAfterViewInit = function () {\n /* istanbul ignore next */\n this.isInitChanges = false;\n };\n ComplexBase.prototype.ngOnDestroy = function () {\n /* istanbul ignore next */\n this.directivePropList = [];\n };\n return ComplexBase;\n}());\nexport { ComplexBase };\nvar ArrayBase = /** @class */ (function () {\n function ArrayBase(propertyName) {\n this.list = [];\n this.hasChanges = false;\n this.propertyName = propertyName;\n }\n ArrayBase.prototype.ngOnInit = function () {\n this.isInitChanges = true;\n };\n ArrayBase.prototype.ngAfterContentInit = function () {\n var _this = this;\n var index = 0;\n /* istanbul ignore next */\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n this.hasChanges = true;\n };\n ArrayBase.prototype.getProperties = function () {\n var onlyProp = [];\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n onlyProp.push(item.getProperties());\n }\n return onlyProp;\n };\n ArrayBase.prototype.isChanged = function () {\n var _this = this;\n var result = false;\n var index = 0;\n var isSourceChanged = false;\n // tslint:disable-next-line\n var childrenDataSource = this.children.map(function (child) {\n return child;\n });\n /* istanbul ignore next */\n if (this.list.length === this.children.length) {\n for (var i = 0; i < this.list.length; i++) {\n if (this.list[i].propCollection.dataSource) {\n if (this.list[i].dataSource && this.list[i].propCollection.dataSource !== this.list[i].dataSource) {\n this.list[i].propCollection.dataSource = this.list[i].dataSource;\n this.list[i].hasChanges = true;\n }\n if (this.list[i].property !== \"series\") {\n isSourceChanged = (JSON.stringify(this.list[i].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[i].propCollection.dataSource));\n }\n }\n isSourceChanged = this.list[i].hasChanges !== childrenDataSource[i].hasChanges;\n }\n }\n this.hasNewChildren = (this.list.length !== this.children.length || isSourceChanged) ? true : null;\n if (this.hasNewChildren) {\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n }\n /* istanbul ignore end */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.hasChanges;\n }\n return !!this.list.length && result;\n };\n ArrayBase.prototype.clearTemplate = function (templateNames) {\n var _this = this;\n /* istanbul ignore next */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n item.clearTemplate(templateNames && templateNames.map(function (val) {\n return new RegExp(_this.propertyName).test(val) ? val.replace(_this.propertyName + '.', '') : val;\n }));\n }\n };\n ArrayBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n for (var i = 0; i < this.list.length; i++) {\n if (getValue('childColumns', this.list[i]) && getValue('property', this.list[i]) === 'columns') {\n setValue('columns', getValue('childColumns', this.list[i]).getProperties(), this.list[i].propCollection);\n }\n this.list[i].isUpdated = true;\n }\n };\n ArrayBase.prototype.ngAfterViewInit = function () {\n this.isInitChanges = false;\n };\n ArrayBase.prototype.ngOnDestroy = function () {\n this.list = [];\n };\n return ArrayBase;\n}());\nexport { ArrayBase };\n","/**\n * Angular Component Base Module\n */\nimport { getValue, isUndefined, setValue, isNullOrUndefined, attributes, createElement } from '@syncfusion/ej2-base';\nimport { EventEmitter } from '@angular/core';\nimport { clearTemplate, registerEvents } from './util';\nvar SVG_REG = /^svg|^path|^g/;\nvar ComponentBase = /** @class */ (function () {\n function ComponentBase() {\n this.isProtectedOnChange = true;\n this.isFormInit = true;\n }\n ComponentBase.prototype.saveChanges = function (key, newValue, oldValue) {\n if (this.isProtectedOnChange) {\n return;\n }\n this.oldProperties[key] = oldValue;\n this.changedProperties[key] = newValue;\n this.finalUpdate();\n // tslint:disable-next-line:no-any\n var changeTime = setTimeout(this.dataBind.bind(this));\n var clearUpdate = function () {\n clearTimeout(changeTime);\n };\n this.finalUpdate = clearUpdate;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngOnInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempOnThis = isTempRef || this;\n tempOnThis.registeredTemplate = {};\n tempOnThis.ngBoundedEvents = {};\n tempOnThis.isAngular = true;\n tempOnThis.isFormInit = true;\n /* istanbul ignore next */\n if (isTempRef) {\n this.tags = isTempRef.tags;\n }\n tempOnThis.tags = this.tags || [];\n tempOnThis.complexTemplate = this.complexTemplate || [];\n tempOnThis.tagObjects = [];\n tempOnThis.ngAttr = this.getAngularAttr(tempOnThis.element);\n /* istanbul ignore next */\n tempOnThis.createElement = function (tagName, prop) {\n //tslint:disable-next-line\n var ele = tempOnThis.srenderer ? tempOnThis.srenderer.createElement(tagName) : createElement(tagName);\n if (typeof (prop) === 'undefined') {\n return ele;\n }\n ele.innerHTML = (prop.innerHTML ? prop.innerHTML : '');\n if (prop.className !== undefined) {\n ele.className = prop.className;\n }\n if (prop.id !== undefined) {\n ele.id = prop.id;\n }\n if (prop.styles !== undefined) {\n ele.setAttribute('style', prop.styles);\n }\n if (tempOnThis.ngAttr !== undefined) {\n ele.setAttribute(tempOnThis.ngAttr, '');\n }\n if (prop.attrs !== undefined) {\n attributes(ele, prop.attrs);\n }\n return ele;\n };\n for (var _i = 0, _a = tempOnThis.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var tagObject = {\n instance: getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tempOnThis),\n name: tag\n };\n tempOnThis.tagObjects.push(tagObject);\n }\n var complexTemplates = Object.keys(tempOnThis);\n for (var i = 0; i < complexTemplates.length; i++) {\n var compProp = getValue(complexTemplates[i], tempOnThis);\n if (typeof compProp === 'object' && compProp && compProp.elementRef) {\n if (typeof compProp === 'object' && compProp && compProp.elementRef && complexTemplates[i].indexOf('_') !== -1 && complexTemplates[i].indexOf('Ref') === -1) {\n setValue(complexTemplates[i] + 'Ref', compProp, tempOnThis);\n }\n if (tempOnThis.viewContainerRef && !getValue(\"_viewContainerRef\", compProp.elementRef.nativeElement) && !getValue(\"propName\", compProp.elementRef.nativeElement)) {\n setValue(\"_viewContainerRef\", tempOnThis.viewContainerRef, compProp.elementRef.nativeElement);\n setValue(\"propName\", complexTemplates[i].replace(\"Ref\", ''), compProp.elementRef.nativeElement);\n }\n }\n }\n complexTemplates = Object.keys(tempOnThis);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val) && /\\_/i.test(val);\n });\n for (var _b = 0, complexTemplates_1 = complexTemplates; _b < complexTemplates_1.length; _b++) {\n var tempName = complexTemplates_1[_b];\n var propName = tempName.replace('Ref', '');\n var val = {};\n setValue(propName.replace('_', '.'), getValue(propName, tempOnThis), val);\n tempOnThis.setProperties(val, true);\n }\n };\n ComponentBase.prototype.getAngularAttr = function (ele) {\n var attributes = ele.attributes;\n var length = attributes.length;\n var ngAr;\n for (var i = 0; i < length; i++) {\n /* istanbul ignore next */\n if (/_ngcontent/g.test(attributes[i].name)) {\n ngAr = attributes[i].name;\n }\n }\n return ngAr;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterViewThis = isTempRef || this;\n var regExp = /ejs-tab|ejs-accordion/g;\n /* istanbul ignore next */\n if (regExp.test(tempAfterViewThis.ngEle.nativeElement.outerHTML)) {\n tempAfterViewThis.ngEle.nativeElement.style.visibility = 'hidden';\n }\n /**\n * Root level template properties are not getting rendered,\n * Due to ngonchanges not get triggered.\n * so that we have set template value for root level template properties,\n * for example: refer below syntax\n * ```html\n * <ejs-grid>\n * <e-column></e-column>\n * <ng-template #editSettingsTemplate></ng-template>\n * </ejs-grid>\n * ```\n */\n var templateProperties = Object.keys(tempAfterViewThis);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n var ngtempRef = tempAfterViewThis.getModuleName() === 'DocumentEditor';\n for (var _i = 0, templateProperties_1 = templateProperties; _i < templateProperties_1.length; _i++) {\n var tempName = templateProperties_1[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName + 'Ref', tempAfterViewThis), tempAfterViewThis);\n }\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n var appendToComponent = function (tempAfterViewThis) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined' && tempAfterViewThis.element || tempAfterViewThis.getModuleName().includes('btn')) {\n tempAfterViewThis.appendTo(tempAfterViewThis.element);\n tempAfterViewThis.ngEle.nativeElement.style.visibility = '';\n }\n };\n if (!ngtempRef) {\n setTimeout(function () {\n appendToComponent(tempAfterViewThis);\n });\n }\n else {\n appendToComponent(tempAfterViewThis);\n }\n };\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngOnDestroy = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempOnDestroyThis = isTempRef || this;\n /* istanbul ignore else */\n setTimeout(function () {\n if (typeof window !== 'undefined' && (tempOnDestroyThis.element.classList.contains('e-control'))) {\n tempOnDestroyThis.destroy();\n tempOnDestroyThis.clearTemplate(null);\n // removing bounded events and tagobjects from component after destroy\n setTimeout(function () {\n for (var _i = 0, _a = Object.keys(tempOnDestroyThis); _i < _a.length; _i++) {\n var key = _a[_i];\n var value = tempOnDestroyThis[key];\n if (value && /object/.test(typeof value) && Object.keys(value).length !== 0) {\n if (/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(key)) {\n for (var _b = 0, _c = Object.keys(tempOnDestroyThis[key]); _b < _c.length; _b++) {\n var propKey = _c[_b];\n var propValue = value[propKey];\n if (propValue && /object/.test(typeof propValue) && Object.keys(propValue).length !== 0 && (propValue.parent || propValue.parentObj)) {\n tempOnDestroyThis[key][propKey] = null;\n }\n }\n }\n else {\n if (value.parent || value.parentObj) {\n tempOnDestroyThis[key] = null;\n }\n }\n }\n }\n });\n }\n });\n };\n //tslint:disable-next-line\n ComponentBase.prototype.clearTemplate = function (templateNames, index) {\n clearTemplate(this, templateNames, index);\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterContentChecked = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterContentThis = isTempRef || this;\n for (var _i = 0, _a = tempAfterContentThis.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n if (!isUndefined(tagObject.instance) &&\n (tagObject.instance.isInitChanges || tagObject.instance.hasChanges || tagObject.instance.hasNewChildren)) {\n var propObj = {};\n if (tagObject.instance.isInitChanges) {\n // For angular 9 compatibility\n // Not able to get complex directive properties reference ni Onint hook\n // So we have constructed property here and used\n var complexDirProps = void 0;\n var list = getValue('instance.list', tagObject);\n if (list && list.length) {\n complexDirProps = list[0].directivePropList;\n }\n var skip = true;\n if (tempAfterContentThis.getModuleName && tempAfterContentThis.getModuleName() === 'gantt') {\n skip = false;\n }\n if (complexDirProps && skip && complexDirProps.indexOf(tagObject.instance.propertyName) === -1) {\n var compDirPropList = Object.keys(tagObject.instance.list[0].propCollection);\n for (var h = 0; h < tagObject.instance.list.length; h++) {\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName] = [];\n var obj = {};\n for (var k = 0; k < compDirPropList.length; k++) {\n var complexPropName = compDirPropList[k];\n obj[complexPropName] = tagObject.instance.list[h].propCollection[complexPropName];\n }\n var _loop_1 = function (i) {\n var tag = tagObject.instance.list[h].tags[i];\n var childObj = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tagObject.instance.list[h]);\n if (childObj) {\n var innerchildObj = tagObject.instance.list[h]['child' + tag.substring(0, 1).toUpperCase() + tag.substring(1)];\n // Update the inner child tag objects\n var updateChildTag_1 = function (innerchild) {\n var innerLevelTag = [];\n if (innerchild) {\n for (var j = 0; j < innerchild.list.length; j++) {\n var innerTag = innerchild.list[0].tags[0];\n if (innerTag) {\n var innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchild.list[j]);\n if (innerchildTag) {\n innerchild.list[j].tagObjects.push({ instance: innerchildTag, name: innerTag });\n innerLevelTag.push(innerchildTag);\n }\n }\n }\n }\n // check for inner level tag\n if (innerLevelTag.length !== 0) {\n for (var l = 0; l < innerLevelTag.length; l++) {\n updateChildTag_1(innerLevelTag[l]);\n }\n }\n ;\n };\n updateChildTag_1(innerchildObj);\n tagObject.instance.list[h].tagObjects.push({ instance: childObj, name: tag });\n }\n };\n for (var i = 0; i < tagObject.instance.list[h].tags.length; i++) {\n _loop_1(i);\n }\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName].push(obj);\n }\n }\n // End angular 9 compatibility\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n else {\n /* istanbul ignore next */\n var hasDiffLength = false;\n if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|DashboardLayout|chart/.test(tempAfterContentThis.getModuleName()))) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n hasDiffLength = true;\n }\n for (var _b = 0, _c = tagObject.instance.list; _b < _c.length; _b++) {\n var list = _c[_b];\n var curIndex = tagObject.instance.list.indexOf(list);\n var curChild = getValue(tagObject.name, tempAfterContentThis)[curIndex];\n var complexTemplates = Object.keys(curChild);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val);\n });\n if (curChild.properties && Object.keys(curChild.properties).length !== 0) {\n for (var _d = 0, complexTemplates_2 = complexTemplates; _d < complexTemplates_2.length; _d++) {\n var complexPropName = complexTemplates_2[_d];\n complexPropName = complexPropName.replace(/Ref/, '');\n curChild.properties[complexPropName] = !curChild.properties[complexPropName] ?\n curChild.propCollection[complexPropName] : curChild.properties[complexPropName];\n }\n }\n if (!isUndefined(curChild) && !isUndefined(curChild.setProperties)) {\n if (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName())) {\n curChild.setProperties(list.getProperties(), true);\n }\n else {\n curChild.setProperties(list.getProperties());\n }\n }\n list.isUpdated = true;\n }\n if (/grid/.test(tempAfterContentThis.getModuleName()) && hasDiffLength) {\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n }\n }\n }\n };\n ComponentBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this);\n };\n ComponentBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = getValue(prop, this.properties);\n if (oldVal === newVal) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n ComponentBase.prototype.addTwoWay = function (propList) {\n var _this = this;\n var _loop_2 = function (prop) {\n getValue(prop, this_1);\n Object.defineProperty(this_1, prop, {\n get: function () {\n return getValue(prop, _this.properties);\n },\n set: function (newVal) { return _this.twoWaySetter(newVal, prop); }\n });\n setValue(prop + 'Change', new EventEmitter(), this_1);\n };\n var this_1 = this;\n for (var _i = 0, propList_1 = propList; _i < propList_1.length; _i++) {\n var prop = propList_1[_i];\n _loop_2(prop);\n }\n };\n ComponentBase.prototype.addEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n if (!this.ngBoundedEvents[eventName]) {\n this.ngBoundedEvents[eventName] = new Map();\n }\n this.ngBoundedEvents[eventName].set(handler, eventObj.subscribe(handler));\n }\n };\n ComponentBase.prototype.removeEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n this.ngBoundedEvents[eventName].get(handler).unsubscribe();\n }\n };\n ComponentBase.prototype.trigger = function (eventName, eventArgs, success) {\n var eventObj = getValue(eventName, this);\n var prevDetection = this.isProtectedOnChange;\n this.isProtectedOnChange = false;\n if (eventArgs) {\n eventArgs.name = eventName;\n }\n if (!isUndefined(eventObj)) {\n eventObj.next(eventArgs);\n }\n var localEventObj = getValue('local' + eventName.charAt(0).toUpperCase() + eventName.slice(1), this);\n if (!isUndefined(localEventObj)) {\n localEventObj.call(this, eventArgs);\n }\n this.isProtectedOnChange = prevDetection;\n /* istanbul ignore else */\n if (success) {\n this.preventChange = this.isPreventChange;\n success.call(this, eventArgs);\n }\n this.isPreventChange = false;\n };\n return ComponentBase;\n}());\nexport { ComponentBase };\n","import { getValue, setValue, isNullOrUndefined, isObject } from '@syncfusion/ej2-base';\n/**\n * Angular Form Base Module\n */\nvar FormBase = /** @class */ (function () {\n function FormBase() {\n }\n FormBase.prototype.propagateChange = function (_) { return; };\n FormBase.prototype.propagateTouch = function () { return; };\n FormBase.prototype.localChange = function (e) {\n //tslint:disable-next-line\n var value = (e.checked === undefined ? e.value : e.checked);\n this.objCheck = isObject(value);\n if (this.isUpdated === true) {\n this.angularValue = this.oldValue;\n }\n if (this.objCheck === true) {\n this.duplicateValue = JSON.stringify(value);\n this.duplicateAngularValue = JSON.stringify(this.angularValue);\n if (this.duplicateValue !== this.duplicateAngularValue && this.propagateChange !== undefined && value !== undefined) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n }\n else {\n if (value !== this.angularValue && this.propagateChange !== undefined && value !== undefined) {\n // While reset form using reset() method ng-dirty not get updated, so while value is empty just update angularValue only\n if (value !== '' && value !== null) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n else {\n //tslint:disable-next-line\n var optionalValue = value;\n this.propagateChange(optionalValue);\n this.angularValue = value;\n }\n }\n }\n this.cdr.markForCheck();\n };\n FormBase.prototype.registerOnChange = function (registerFunction) {\n this.propagateChange = registerFunction;\n };\n FormBase.prototype.registerOnTouched = function (registerFunction) {\n this.propagateTouch = registerFunction;\n };\n FormBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = this.oldValue || getValue(prop, this.properties);\n var ele = this.inputElement || this.element;\n if (ele && oldVal === newVal && this.value === newVal &&\n (ele.value === undefined || ele.value === '')) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n // tslint:disable-next-line:no-any\n FormBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempFormAfterViewThis = isTempRef || this;\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n // Removed setTimeout, Because we have called markForCheck() method in Angular Template Compiler\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n if ((tempFormAfterViewThis.getModuleName()).includes('dropdowntree')) {\n setTimeout(function () {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n });\n }\n else {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n }\n var ele = tempFormAfterViewThis.inputElement || tempFormAfterViewThis.element;\n ele.addEventListener('focus', tempFormAfterViewThis.ngOnFocus.bind(tempFormAfterViewThis));\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlur.bind(tempFormAfterViewThis));\n }\n this.isFormInit = false;\n };\n FormBase.prototype.setDisabledState = function (disabled) {\n this.enabled = !disabled;\n this.disabled = disabled;\n };\n FormBase.prototype.writeValue = function (value) {\n var regExp = /ejs-radiobutton/g;\n //update control value from angular\n if (this.checked === undefined) {\n this.value = value;\n }\n else {\n // To resolve boolean type formControl value is not working for radio button control.\n /* istanbul ignore next */\n if (this.ngEle) {\n if (typeof value === 'boolean') {\n if (regExp.test(this.ngEle.nativeElement.outerHTML)) {\n this.checked = value === this.value;\n }\n else {\n this.checked = value;\n }\n }\n else {\n this.checked = value === this.value;\n }\n }\n }\n this.angularValue = value;\n this.isUpdated = true;\n // When binding Html textbox value to syncfusion textbox, change event triggered dynamically.\n // To prevent change event, trigger change in component side based on `preventChange` value\n this.preventChange = this.isFormInit ? false : true;\n this.cdr.markForCheck();\n if (value === null) {\n return;\n }\n };\n FormBase.prototype.ngOnFocus = function (e) {\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.focus.emit(e);\n }\n this.cdr.markForCheck();\n };\n FormBase.prototype.ngOnBlur = function (e) {\n this.propagateTouch();\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.blur.emit(e);\n }\n this.cdr.markForCheck();\n };\n FormBase.isFormBase = true;\n return FormBase;\n}());\nexport { FormBase };\n"],"names":["applyMixins","derivedClass","baseClass","forEach","Object","getOwnPropertyNames","prototype","name","hasOwnProperty","isFormBase","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","tabaccordionTemp","getModuleName","_a","e","m","value","destroy","splice","template","rootNodes","rt","_b","_c","destroyed","_view","pNode","renderer","parentNode","isNullOrUndefined","appendChild","_d","_e","tagObjects","tagObject","instance","RegExp","setValue","nameSpace","object","replace","split","fromObj","i","key","undefined","compile","templateEle","helper","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","includes","appendTo","tempOnDestroyThis","classList","contains","propKey","propValue","parent","parentObj","tempAfterContentThis","isUndefined","propObj","complexDirProps","skip","compDirPropList","h","complexPropName","childObj","innerchildObj","updateChildTag_1","innerchild","innerLevelTag","j","innerTag","innerchildTag","l","hasDiffLength","curIndex","curChild","properties","complexTemplates_2","twoWaySetter","newVal","oldVal","emit","addTwoWay","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","cdr","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":["/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */\nimport { EventEmitter } from '@angular/core';\nimport { isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * Angular Utility Module\n *\n * @param {Function} derivedClass The derived class to which mixins are applied.\n * @param {Function[]} baseClass An array of base classes whose methods are applied as mixins.\n * @returns {void}\n */\nexport function applyMixins(derivedClass, baseClass) {\n baseClass.forEach(function (baseClass) {\n Object.getOwnPropertyNames(baseClass.prototype).forEach(function (name) {\n if (!Object.prototype.hasOwnProperty.call(derivedClass.prototype, name) || (baseClass.isFormBase && name !== 'constructor')) {\n derivedClass.prototype[\"\".concat(name)] = baseClass.prototype[\"\".concat(name)];\n }\n });\n });\n}\n/**\n * Decorator function to apply mixins to a derived class.\n *\n * @param {Function[]} baseClass - An array of mixin classes to be applied to the derived class.\n * @returns {ClassDecorator} The decorator function.\n */\nexport function ComponentMixins(baseClass) {\n return function (derivedClass) {\n applyMixins(derivedClass, baseClass);\n };\n}\n/**\n * Registers events.\n *\n * @private\n * @param {string[]} eventList - The list of events to register.\n * @param {any} obj - The object on which to register the events.\n * @param {boolean} [direct] - Whether to register events directly on the object or not.\n * @returns {void}\n */\nexport function registerEvents(eventList, obj, direct) {\n var ngEventsEmitter = {};\n if (eventList && eventList.length) {\n for (var _i = 0, eventList_1 = eventList; _i < eventList_1.length; _i++) {\n var event_1 = eventList_1[_i];\n if (direct === true) {\n obj.propCollection[\"\".concat(event_1)] = new EventEmitter(false);\n obj[\"\".concat(event_1)] = obj.propCollection[\"\".concat(event_1)];\n }\n else {\n ngEventsEmitter[\"\".concat(event_1)] = new EventEmitter(false);\n }\n }\n if (direct !== true) {\n obj.setProperties(ngEventsEmitter, true);\n }\n }\n}\n/**\n * Clears registered templates.\n *\n * @private\n * @param {any} _this - The context object.\n * @param {string[]} [templateNames] - Optional. An array of template names to clear.\n * @param {any[]} [index] - Optional. An array of indices specifying templates to clear.\n * @returns {void}\n */\nexport function clearTemplate(_this, templateNames, index) {\n var regTemplates = Object.keys(_this.registeredTemplate);\n if (regTemplates.length) {\n /* istanbul ignore next */\n var regProperties = templateNames && templateNames.filter(function (val) {\n return (/\\./g.test(val) ? false : true);\n });\n var tabaccordionTemp = /tab|accordion|toolbar/.test(_this.getModuleName());\n for (var _i = 0, _a = (regProperties && regProperties || regTemplates); _i < _a.length; _i++) {\n var registeredTemplate = _a[_i];\n /* istanbul ignore next */\n if (index && index.length) {\n for (var e = 0; e < index.length; e++) {\n if (tabaccordionTemp) {\n for (var m = 0; m < _this.registeredTemplate[\"\".concat(registeredTemplate)].length; m++) {\n var value = _this.registeredTemplate[\"\".concat(registeredTemplate)][parseInt(m.toString(), 10)];\n if (value && value === index[\"\".concat(e)]) {\n value.destroy();\n _this.registeredTemplate[\"\".concat(registeredTemplate)].splice(m, 1);\n }\n }\n }\n else {\n for (var m = 0; m < _this.registeredTemplate.template.length; m++) {\n var value = _this.registeredTemplate.template[parseInt(m.toString(), 10)].rootNodes[0];\n if (value === index[\"\".concat(e)]) {\n var rt = _this.registeredTemplate[\"\".concat(registeredTemplate)];\n rt[parseInt(m.toString(), 10)].destroy();\n }\n }\n }\n }\n }\n else {\n if (_this.registeredTemplate[\"\".concat(registeredTemplate)]) {\n for (var _b = 0, _c = _this.registeredTemplate[\"\".concat(registeredTemplate)]; _b < _c.length; _b++) {\n var rt = _c[_b];\n if (!rt.destroyed) {\n if (rt._view) {\n var pNode = rt._view.renderer.parentNode(rt.rootNodes[0]);\n if (!isNullOrUndefined(pNode)) {\n for (var m = 0; m < rt.rootNodes.length; m++) {\n pNode.appendChild(rt.rootNodes[parseInt(m.toString(), 10)]);\n }\n }\n }\n rt.destroy();\n }\n }\n }\n }\n if (!tabaccordionTemp || !index) {\n delete _this.registeredTemplate[\"\".concat(registeredTemplate)];\n }\n }\n }\n var _loop_1 = function (tagObject) {\n if (tagObject.instance) {\n /* istanbul ignore next */\n tagObject.instance.clearTemplate((templateNames && templateNames.filter(function (val) {\n var regExp = RegExp;\n return (new regExp(tagObject.name).test(val) ? true : false);\n })));\n }\n };\n for (var _d = 0, _e = _this.tagObjects; _d < _e.length; _d++) {\n var tagObject = _e[_d];\n _loop_1(tagObject);\n }\n}\n/**\n * To set value for the nameSpace in desired object.\n *\n * @param {string} nameSpace - String value to get the inner object.\n * @param {any} value - Value that you need to set.\n * @param {any} object - Object to get the inner object value.\n * @returns {void}\n * @private\n */\nexport function setValue(nameSpace, value, object) {\n var keys = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n /* istanbul ignore next */\n var fromObj = object || {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[parseInt(i.toString(), 10)];\n if (i + 1 === keys.length) {\n fromObj[\"\".concat(key)] = value === undefined ? {} : value;\n }\n else if (fromObj[\"\".concat(key)] === undefined) {\n fromObj[\"\".concat(key)] = {};\n }\n fromObj = fromObj[\"\".concat(key)];\n }\n return fromObj;\n}\n","import { setTemplateEngine, getTemplateEngine } from '@syncfusion/ej2-base';\nimport { setValue, getValue } from '@syncfusion/ej2-base';\nvar stringCompiler = getTemplateEngine();\n/**\n * Angular Template Compiler\n *\n * @param {AngularElementType} templateEle - The element representing the template.\n * @param {Object} [helper] - Optional helper object.\n * @returns {Function} A function that compiles the template.\n */\nexport function compile(templateEle, helper) {\n if (typeof templateEle === 'string' || (typeof templateEle === 'function' && templateEle.prototype && templateEle.prototype.CSPTemplate)) {\n return stringCompiler(templateEle, helper);\n }\n else {\n var contRef_1 = templateEle.elementRef.nativeElement._viewContainerRef;\n var pName_1 = templateEle.elementRef.nativeElement.propName;\n return function (data, component, propName) {\n var context = { $implicit: data };\n /* istanbul ignore next */\n var conRef = contRef_1 ? contRef_1 : component.viewContainerRef;\n var viewRef = conRef.createEmbeddedView(templateEle, context);\n if (/EJS-MENTION|EJS-DROPDOWNLIST/.test(getValue('currentInstance.element.nodeName', conRef)) || /E-TABITEM/.test(getValue('element.nativeElement.nodeName', conRef))) {\n viewRef.detectChanges();\n }\n else {\n viewRef.markForCheck();\n }\n /* istanbul ignore next */\n var viewCollection = (component && component.registeredTemplate) ?\n component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);\n propName = (propName && component.registeredTemplate) ? propName : pName_1;\n if (typeof viewCollection[\"\".concat(propName)] === 'undefined') {\n viewCollection[\"\".concat(propName)] = [];\n }\n viewCollection[\"\".concat(propName)].push(viewRef);\n return viewRef.rootNodes;\n };\n }\n}\n/**\n * Property decorator for angular.\n *\n * @param {Object} [defaultValue] - Default value for the property.\n * @returns {PropertyDecorator} The decorator function.\n */\nexport function Template(defaultValue) {\n return function (target, key) {\n var propertyDescriptor = {\n set: setter(key),\n get: getter(key, defaultValue),\n enumerable: true,\n configurable: true\n };\n Object.defineProperty(target, key, propertyDescriptor);\n };\n}\n/**\n * Creates a setter function for a given property key.\n *\n * @param {string} key - The property key.\n * @returns {Function} The setter function.\n */\nfunction setter(key) {\n return function (val) {\n if (val === undefined) {\n return;\n }\n setValue(key + 'Ref', val, this);\n if (typeof val !== 'string') {\n val.elementRef.nativeElement._viewContainerRef = this.viewContainerRef;\n val.elementRef.nativeElement.propName = key;\n }\n else {\n if (this.saveChanges) {\n this.saveChanges(key, val, undefined);\n this.dataBind();\n }\n }\n };\n}\n/**\n * Returns a getter function for the specified key and default value.\n *\n * @param {string} key - The key for the property.\n * @param {Object} defaultValue - The default value for the property.\n * @returns {Function} The getter function.\n */\nfunction getter(key, defaultValue) {\n return function () {\n /* istanbul ignore next */\n return getValue(key + 'Ref', this) || defaultValue;\n };\n}\nsetTemplateEngine({ compile: compile });\n","import { getValue, setValue, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { clearTemplate, registerEvents } from './util';\nvar refRegex = /Ref$/;\nvar ComplexBase = /** @class */ (function () {\n function ComplexBase() {\n this.hasChanges = false;\n this.propCollection = {};\n this.dataSource = {};\n this.tags = [];\n this.tagObjects = [];\n }\n ComplexBase.prototype.ngOnInit = function () {\n this.registeredTemplate = {};\n for (var _i = 0, _a = this.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var objInstance = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), this);\n if (objInstance) {\n this.tagObjects.push({ instance: objInstance, name: tag });\n }\n }\n var templateProperties = Object.keys(this);\n for (var i = 0; i < templateProperties.length; i++) {\n var tempProp = getValue(templateProperties[parseInt(i.toString(), 10)], this);\n if (typeof tempProp === 'object' && tempProp && tempProp.elementRef) {\n if (!getValue(templateProperties[parseInt(i.toString(), 10)].indexOf('Ref') !== -1 ? templateProperties[parseInt(i.toString(), 10)] : templateProperties[parseInt(i.toString(), 10)] + 'Ref', this)) {\n setValue(templateProperties[parseInt(i.toString(), 10)].indexOf('Ref') !== -1 ? templateProperties[parseInt(i.toString(), 10)] : templateProperties[parseInt(i.toString(), 10)] + 'Ref', tempProp, this);\n }\n if (getValue('viewContainerRef', this) && !getValue('_viewContainerRef', tempProp.elementRef.nativeElement) && !getValue('propName', tempProp.elementRef.nativeElement)) {\n setValue('_viewContainerRef', getValue('viewContainerRef', this), tempProp.elementRef.nativeElement);\n setValue('propName', templateProperties[parseInt(i.toString(), 10)].replace('Ref', ''), tempProp.elementRef.nativeElement);\n }\n }\n }\n templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n for (var _b = 0, templateProperties_1 = templateProperties; _b < templateProperties_1.length; _b++) {\n var tempName = templateProperties_1[_b];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n // Angular 9 compatibility to overcome ngOnchange not get triggered issue\n // To Update properties to \"this.propCollection\"\n var propList = Object.keys(this);\n /* istanbul ignore next */\n if (this.directivePropList) {\n for (var k = 0; k < this.directivePropList.length; k++) {\n var dirPropName = this.directivePropList[parseInt(k.toString(), 10)];\n if (propList.indexOf(dirPropName) !== -1 && (getValue(dirPropName, this) === false || getValue(dirPropName, this))) {\n setValue(dirPropName, getValue(dirPropName, this), this.propCollection);\n }\n }\n this.hasChanges = true;\n }\n this.isInitChanges = true;\n };\n ComplexBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this, true);\n };\n ComplexBase.prototype.ngOnChanges = function (changes) {\n for (var _i = 0, _a = Object.keys(changes); _i < _a.length; _i++) {\n var propName = _a[_i];\n var changedVal = changes[\"\".concat(propName)];\n this.propCollection[\"\".concat(propName)] = changedVal.currentValue;\n }\n this.isUpdated = false;\n this.hasChanges = true;\n };\n /* istanbul ignore next */\n ComplexBase.prototype.clearTemplate = function (templateNames) {\n clearTemplate(this, templateNames);\n };\n ComplexBase.prototype.getProperties = function () {\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n this.propCollection[tagObject.name] = tagObject.instance.getProperties();\n }\n return this.propCollection;\n };\n ComplexBase.prototype.isChanged = function () {\n var result = this.hasChanges;\n if (!isNullOrUndefined(this.propCollection[this.property])) {\n var tempProps = this.propCollection[this.property];\n var props = Object.keys(tempProps[0]);\n for (var d = 0; d < props.length; d++) {\n if (!isNullOrUndefined(this.propCollection[props[parseInt(d.toString(), 10)]])) {\n var val = getValue(props[parseInt(d.toString(), 10)], this);\n var propVal = this.propCollection[this.property][0][props[parseInt(d.toString(), 10)]];\n if (!isNullOrUndefined(val) && this.propCollection[props[parseInt(d.toString(), 10)]] !== val\n && propVal !== val) {\n setValue(props[parseInt(d.toString(), 10)], val, this.propCollection[this.property][0]);\n setValue(props[parseInt(d.toString(), 10)], val, this.propCollection);\n this.hasChanges = true;\n this.isUpdated = false;\n }\n }\n }\n }\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.instance.hasChanges;\n }\n return result || this.hasChanges;\n };\n ComplexBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n if (this.isInitChanges || this.hasChanges) {\n var templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return refRegex.test(val);\n });\n for (var _i = 0, templateProperties_2 = templateProperties; _i < templateProperties_2.length; _i++) {\n var tempName = templateProperties_2[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n }\n };\n ComplexBase.prototype.ngAfterViewChecked = function () {\n /* istanbul ignore next */\n if (this.isUpdated) {\n this.hasChanges = false;\n }\n };\n ComplexBase.prototype.ngAfterViewInit = function () {\n /* istanbul ignore next */\n this.isInitChanges = false;\n };\n ComplexBase.prototype.ngOnDestroy = function () {\n /* istanbul ignore next */\n this.directivePropList = [];\n };\n return ComplexBase;\n}());\nexport { ComplexBase };\nvar ArrayBase = /** @class */ (function () {\n function ArrayBase(propertyName) {\n this.list = [];\n this.hasChanges = false;\n this.propertyName = propertyName;\n }\n ArrayBase.prototype.ngOnInit = function () {\n this.isInitChanges = true;\n };\n ArrayBase.prototype.ngAfterContentInit = function () {\n var _this = this;\n var index = 0;\n /* istanbul ignore next */\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n this.hasChanges = true;\n };\n ArrayBase.prototype.getProperties = function () {\n var onlyProp = [];\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n onlyProp.push(item.getProperties());\n }\n return onlyProp;\n };\n ArrayBase.prototype.isChanged = function () {\n var _this = this;\n var result = false;\n var index = 0;\n var isSourceChanged = false;\n var childrenDataSource = this.children.map(function (child) {\n return child;\n });\n /* istanbul ignore next */\n if (this.list.length === this.children.length) {\n for (var i = 0; i < this.list.length; i++) {\n if (this.list[parseInt(i.toString(), 10)].propCollection.dataSource) {\n if (this.list[parseInt(i.toString(), 10)].dataSource &&\n this.list[parseInt(i.toString(), 10)].propCollection.dataSource\n !== this.list[parseInt(i.toString(), 10)].dataSource) {\n this.list[parseInt(i.toString(), 10)].propCollection.dataSource = this.list[parseInt(i.toString(), 10)].dataSource;\n this.list[parseInt(i.toString(), 10)].hasChanges = true;\n }\n if (this.list[parseInt(i.toString(), 10)].property !== 'series') {\n isSourceChanged = (JSON.stringify(this.list[parseInt(i.toString(), 10)].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[parseInt(i.toString(), 10)].propCollection.dataSource));\n }\n }\n isSourceChanged = this.list[parseInt(i.toString(), 10)].hasChanges\n !== childrenDataSource[parseInt(i.toString(), 10)].hasChanges;\n }\n }\n this.hasNewChildren = (this.list.length !== this.children.length || isSourceChanged) ? true : null;\n if (this.hasNewChildren) {\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n }\n /* istanbul ignore end */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.hasChanges;\n }\n return !!this.list.length && result;\n };\n ArrayBase.prototype.clearTemplate = function (templateNames) {\n var _this = this;\n /* istanbul ignore next */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n item.clearTemplate(templateNames && templateNames.map(function (val) {\n var regExp = RegExp;\n return new regExp(_this.propertyName).test(val) ? val.replace(_this.propertyName + '.', '') : val;\n }));\n }\n };\n ArrayBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n for (var i = 0; i < this.list.length; i++) {\n if (getValue('childColumns', this.list[parseInt(i.toString(), 10)]) && getValue('property', this.list[parseInt(i.toString(), 10)]) === 'columns') {\n setValue('columns', getValue('childColumns', this.list[parseInt(i.toString(), 10)]).getProperties(), this.list[parseInt(i.toString(), 10)].propCollection);\n }\n this.list[parseInt(i.toString(), 10)].isUpdated = true;\n }\n };\n ArrayBase.prototype.ngAfterViewInit = function () {\n this.isInitChanges = false;\n };\n ArrayBase.prototype.ngOnDestroy = function () {\n this.list = [];\n };\n return ArrayBase;\n}());\nexport { ArrayBase };\n","/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */\n/**\n * Angular Component Base Module\n */\nimport { getValue, isUndefined, setValue, isNullOrUndefined, attributes, createElement } from '@syncfusion/ej2-base';\nimport { EventEmitter } from '@angular/core';\nimport { clearTemplate, registerEvents } from './util';\nvar ComponentBase = /** @class */ (function () {\n function ComponentBase() {\n this.isProtectedOnChange = true;\n this.isFormInit = true;\n }\n ComponentBase.prototype.saveChanges = function (key, newValue, oldValue) {\n if (this.isProtectedOnChange) {\n return;\n }\n this.oldProperties[\"\".concat(key)] = oldValue;\n this.changedProperties[\"\".concat(key)] = newValue;\n this.finalUpdate();\n var changeTime = setTimeout(this.dataBind.bind(this));\n var clearUpdate = function () {\n clearTimeout(changeTime);\n };\n this.finalUpdate = clearUpdate;\n };\n ComponentBase.prototype.ngOnInit = function (isTempRef) {\n var tempOnThis = isTempRef || this;\n tempOnThis.registeredTemplate = {};\n tempOnThis.ngBoundedEvents = {};\n tempOnThis.isAngular = true;\n tempOnThis.isFormInit = true;\n /* istanbul ignore next */\n if (isTempRef) {\n this.tags = isTempRef.tags;\n }\n tempOnThis.tags = this.tags || [];\n tempOnThis.complexTemplate = this.complexTemplate || [];\n tempOnThis.tagObjects = [];\n tempOnThis.ngAttr = this.getAngularAttr(tempOnThis.element);\n /* istanbul ignore next */\n tempOnThis.createElement = function (tagName, prop) {\n var ele = tempOnThis.srenderer ? tempOnThis.srenderer.createElement(tagName) : createElement(tagName);\n if (typeof (prop) === 'undefined') {\n return ele;\n }\n ele.innerHTML = (prop.innerHTML ? prop.innerHTML : '');\n if (prop.className !== undefined) {\n ele.className = prop.className;\n }\n if (prop.id !== undefined) {\n ele.id = prop.id;\n }\n if (prop.styles !== undefined) {\n ele.setAttribute('style', prop.styles);\n }\n if (tempOnThis.ngAttr !== undefined) {\n ele.setAttribute(tempOnThis.ngAttr, '');\n }\n if (prop.attrs !== undefined) {\n attributes(ele, prop.attrs);\n }\n return ele;\n };\n for (var _i = 0, _a = tempOnThis.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var tagObject = {\n instance: getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tempOnThis),\n name: tag\n };\n tempOnThis.tagObjects.push(tagObject);\n }\n var complexTemplates = Object.keys(tempOnThis);\n for (var i = 0; i < complexTemplates.length; i++) {\n var compProp = getValue(complexTemplates[parseInt(i.toString(), 10)], tempOnThis);\n if (typeof compProp === 'object' && compProp && compProp.elementRef) {\n if (typeof compProp === 'object' && compProp && compProp.elementRef && complexTemplates[parseInt(i.toString(), 10)].indexOf('_') !== -1 && complexTemplates[parseInt(i.toString(), 10)].indexOf('Ref') === -1) {\n setValue(complexTemplates[parseInt(i.toString(), 10)] + 'Ref', compProp, tempOnThis);\n }\n if (tempOnThis.viewContainerRef && !getValue('_viewContainerRef', compProp.elementRef.nativeElement) && !getValue('propName', compProp.elementRef.nativeElement)) {\n setValue('_viewContainerRef', tempOnThis.viewContainerRef, compProp.elementRef.nativeElement);\n setValue('propName', complexTemplates[parseInt(i.toString(), 10)].replace('Ref', ''), compProp.elementRef.nativeElement);\n }\n }\n }\n complexTemplates = Object.keys(tempOnThis);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val) && /_/i.test(val);\n });\n for (var _b = 0, complexTemplates_1 = complexTemplates; _b < complexTemplates_1.length; _b++) {\n var tempName = complexTemplates_1[_b];\n var propName = tempName.replace('Ref', '');\n var val = {};\n setValue(propName.replace('_', '.'), getValue(propName, tempOnThis), val);\n tempOnThis.setProperties(val, true);\n }\n };\n ComponentBase.prototype.getAngularAttr = function (ele) {\n var attributes = ele.attributes;\n var length = attributes.length;\n var ngAr;\n for (var i = 0; i < length; i++) {\n /* istanbul ignore next */\n if (/_ngcontent/g.test(attributes[parseInt(i.toString(), 10)].name)) {\n ngAr = attributes[parseInt(i.toString(), 10)].name;\n }\n }\n return ngAr;\n };\n ComponentBase.prototype.ngAfterViewInit = function (isTempRef) {\n var tempAfterViewThis = isTempRef || this;\n var regExp = /ejs-tab|ejs-accordion/g;\n /* istanbul ignore next */\n if (regExp.test(tempAfterViewThis.ngEle.nativeElement.outerHTML)) {\n tempAfterViewThis.ngEle.nativeElement.style.visibility = 'hidden';\n }\n /**\n * Root level template properties are not getting rendered,\n * Due to ngonchanges not get triggered.\n * so that we have set template value for root level template properties,\n * for example: refer below syntax\n * ```html\n * <ejs-grid>\n * <e-column></e-column>\n * <ng-template #editSettingsTemplate></ng-template>\n * </ejs-grid>\n * ```\n */\n var templateProperties = Object.keys(tempAfterViewThis);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n var ngtempRef = tempAfterViewThis.getModuleName() === 'DocumentEditor';\n for (var _i = 0, templateProperties_1 = templateProperties; _i < templateProperties_1.length; _i++) {\n var tempName = templateProperties_1[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName + 'Ref', tempAfterViewThis), tempAfterViewThis);\n }\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n var appendToComponent = function (tempAfterViewThis) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined' && tempAfterViewThis.element || tempAfterViewThis.getModuleName().includes('btn')) {\n tempAfterViewThis.appendTo(tempAfterViewThis.element);\n tempAfterViewThis.ngEle.nativeElement.style.visibility = '';\n }\n };\n if (!ngtempRef) {\n setTimeout(function () {\n appendToComponent(tempAfterViewThis);\n });\n }\n else {\n appendToComponent(tempAfterViewThis);\n }\n };\n ComponentBase.prototype.ngOnDestroy = function (isTempRef) {\n var tempOnDestroyThis = isTempRef || this;\n /* istanbul ignore else */\n setTimeout(function () {\n if (typeof window !== 'undefined' && (tempOnDestroyThis.element.classList.contains('e-control'))) {\n tempOnDestroyThis.destroy();\n tempOnDestroyThis.clearTemplate(null);\n // removing bounded events and tagobjects from component after destroy\n setTimeout(function () {\n for (var _i = 0, _a = Object.keys(tempOnDestroyThis); _i < _a.length; _i++) {\n var key = _a[_i];\n var value = tempOnDestroyThis[\"\".concat(key)];\n if (value && /object/.test(typeof value) && Object.keys(value).length !== 0) {\n if (/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(key)) {\n for (var _b = 0, _c = Object.keys(tempOnDestroyThis[\"\".concat(key)]); _b < _c.length; _b++) {\n var propKey = _c[_b];\n var propValue = value[\"\".concat(propKey)];\n if (propValue && /object/.test(typeof propValue) && Object.keys(propValue).length !== 0 && (propValue.parent || propValue.parentObj)) {\n tempOnDestroyThis[\"\".concat(key)][\"\".concat(propKey)] = null;\n }\n }\n }\n else {\n if (value.parent || value.parentObj) {\n tempOnDestroyThis[\"\".concat(key)] = null;\n }\n }\n }\n }\n });\n }\n });\n };\n ComponentBase.prototype.clearTemplate = function (templateNames, index) {\n clearTemplate(this, templateNames, index);\n };\n ComponentBase.prototype.ngAfterContentChecked = function (isTempRef) {\n var tempAfterContentThis = isTempRef || this;\n for (var _i = 0, _a = tempAfterContentThis.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n if (!isUndefined(tagObject.instance) &&\n (tagObject.instance.isInitChanges || tagObject.instance.hasChanges || tagObject.instance.hasNewChildren)) {\n var propObj = {};\n if (tagObject.instance.isInitChanges) {\n // For angular 9 compatibility\n // Not able to get complex directive properties reference ni Onint hook\n // So we have constructed property here and used\n var complexDirProps = void 0;\n var list = getValue('instance.list', tagObject);\n if (list && list.length) {\n complexDirProps = list[0].directivePropList;\n }\n var skip = true;\n if (tempAfterContentThis.getModuleName && tempAfterContentThis.getModuleName() === 'gantt') {\n skip = false;\n }\n if (complexDirProps && skip && complexDirProps.indexOf(tagObject.instance.propertyName) === -1) {\n var compDirPropList = Object.keys(tagObject.instance.list[0].propCollection);\n for (var h = 0; h < tagObject.instance.list.length; h++) {\n tagObject.instance.list[\"\".concat(h)].propCollection[tagObject.instance.propertyName] = [];\n var obj = {};\n for (var k = 0; k < compDirPropList.length; k++) {\n var complexPropName = compDirPropList[parseInt(k.toString(), 10)];\n obj[\"\".concat(complexPropName)] = tagObject.instance.list[\"\".concat(h)].propCollection[\"\".concat(complexPropName)];\n }\n var _loop_1 = function (i) {\n var tag = tagObject.instance.list[\"\".concat(h)].tags[parseInt(i.toString(), 10)];\n var childObj = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tagObject.instance.list[\"\".concat(h)]);\n if (childObj) {\n var innerchildObj = tagObject.instance.list[\"\".concat(h)]['child' + tag.substring(0, 1).toUpperCase() + tag.substring(1)];\n // Update the inner child tag objects\n var updateChildTag_1 = function (innerchild) {\n var innerLevelTag = [];\n if (innerchild) {\n for (var j = 0; j < innerchild.list.length; j++) {\n var innerTag = innerchild.list[0].tags[0];\n if (innerTag) {\n var innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchild.list[parseInt(j.toString(), 10)]);\n if (innerchildTag) {\n innerchild.list[parseInt(j.toString(), 10)].tagObjects\n .push({ instance: innerchildTag, name: innerTag });\n innerLevelTag.push(innerchildTag);\n }\n }\n }\n }\n // check for inner level tag\n if (innerLevelTag.length !== 0) {\n for (var l = 0; l < innerLevelTag.length; l++) {\n updateChildTag_1(innerLevelTag[parseInt(l.toString(), 10)]);\n }\n }\n };\n updateChildTag_1(innerchildObj);\n tagObject.instance.list[\"\".concat(h)].tagObjects.push({ instance: childObj, name: tag });\n }\n };\n for (var i = 0; i < tagObject.instance.list[\"\".concat(h)].tags.length; i++) {\n _loop_1(i);\n }\n tagObject.instance.list[\"\".concat(h)].propCollection[tagObject.instance.propertyName].push(obj);\n }\n }\n // End angular 9 compatibility\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n else {\n /* istanbul ignore next */\n var hasDiffLength = false;\n if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName()))) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n hasDiffLength = true;\n }\n for (var _b = 0, _c = tagObject.instance.list; _b < _c.length; _b++) {\n var list = _c[_b];\n var curIndex = tagObject.instance.list.indexOf(list);\n var curChild = getValue(tagObject.name, tempAfterContentThis)[\"\".concat(curIndex)];\n var complexTemplates = Object.keys(curChild);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val);\n });\n if (curChild.properties && Object.keys(curChild.properties).length !== 0) {\n for (var _d = 0, complexTemplates_2 = complexTemplates; _d < complexTemplates_2.length; _d++) {\n var complexPropName = complexTemplates_2[_d];\n complexPropName = complexPropName.replace(/Ref/, '');\n curChild.properties[\"\".concat(complexPropName)] = !curChild.properties[\"\".concat(complexPropName)] ?\n curChild.propCollection[\"\".concat(complexPropName)] : curChild.properties[\"\".concat(complexPropName)];\n }\n }\n if (!isUndefined(curChild) && !isUndefined(curChild.setProperties)) {\n if (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName())) {\n curChild.setProperties(list.getProperties(), true);\n }\n else {\n curChild.setProperties(list.getProperties());\n }\n }\n list.isUpdated = true;\n }\n if ((/grid/.test(tempAfterContentThis.getModuleName()) && hasDiffLength) || /chart/.test(tempAfterContentThis.getModuleName())) {\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n }\n }\n }\n };\n ComponentBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this);\n };\n ComponentBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = getValue(prop, this.properties);\n if (oldVal === newVal) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n ComponentBase.prototype.addTwoWay = function (propList) {\n var _this = this;\n var _loop_2 = function (prop) {\n getValue(prop, this_1);\n Object.defineProperty(this_1, prop, {\n get: function () {\n return getValue(prop, _this.properties);\n },\n set: function (newVal) { return _this.twoWaySetter(newVal, prop); }\n });\n setValue(prop + 'Change', new EventEmitter(), this_1);\n };\n var this_1 = this;\n for (var _i = 0, propList_1 = propList; _i < propList_1.length; _i++) {\n var prop = propList_1[_i];\n _loop_2(prop);\n }\n };\n ComponentBase.prototype.addEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n if (!this.ngBoundedEvents[\"\".concat(eventName)]) {\n this.ngBoundedEvents[\"\".concat(eventName)] = new Map();\n }\n this.ngBoundedEvents[\"\".concat(eventName)].set(handler, eventObj.subscribe(handler));\n }\n };\n ComponentBase.prototype.removeEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n this.ngBoundedEvents[\"\".concat(eventName)].get(handler).unsubscribe();\n }\n };\n ComponentBase.prototype.trigger = function (eventName, eventArgs, success) {\n var eventObj = getValue(eventName, this);\n var prevDetection = this.isProtectedOnChange;\n this.isProtectedOnChange = false;\n if (eventArgs) {\n eventArgs.name = eventName;\n }\n if (!isUndefined(eventObj)) {\n eventObj.next(eventArgs);\n }\n var localEventObj = getValue('local' + eventName.charAt(0).toUpperCase() + eventName.slice(1), this);\n if (!isUndefined(localEventObj)) {\n localEventObj.call(this, eventArgs);\n }\n this.isProtectedOnChange = prevDetection;\n /* istanbul ignore else */\n if (success) {\n this.preventChange = this.isPreventChange;\n success.call(this, eventArgs);\n }\n this.isPreventChange = false;\n };\n return ComponentBase;\n}());\nexport { ComponentBase };\n","import { getValue, setValue, isNullOrUndefined, isObject } from '@syncfusion/ej2-base';\n/**\n * Angular Form Base Module\n */\nvar FormBase = /** @class */ (function () {\n function FormBase() {\n }\n FormBase.prototype.propagateChange = function (_) { return; };\n FormBase.prototype.propagateTouch = function () { return; };\n FormBase.prototype.localChange = function (e) {\n var value = (e.checked === undefined ? e.value : e.checked);\n this.objCheck = isObject(value);\n if (this.isUpdated === true) {\n this.angularValue = this.oldValue;\n }\n if (this.objCheck === true) {\n this.duplicateValue = JSON.stringify(value);\n this.duplicateAngularValue = JSON.stringify(this.angularValue);\n if (this.duplicateValue !== this.duplicateAngularValue && this.propagateChange !== undefined && value !== undefined) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n }\n else {\n if (value !== this.angularValue && this.propagateChange !== undefined && value !== undefined) {\n // While reset form using reset() method ng-dirty not get updated, so while value is empty just update angularValue only\n if (value !== '' && value !== null) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n else {\n var optionalValue = value;\n this.propagateChange(optionalValue);\n this.angularValue = value;\n }\n }\n }\n this.cdr.markForCheck();\n };\n FormBase.prototype.registerOnChange = function (registerFunction) {\n this.propagateChange = registerFunction;\n };\n FormBase.prototype.registerOnTouched = function (registerFunction) {\n this.propagateTouch = registerFunction;\n };\n FormBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = this.oldValue || getValue(prop, this.properties);\n var ele = this.inputElement || this.element;\n if (ele && oldVal === newVal && this.value === newVal &&\n (ele.value === undefined || ele.value === '')) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n FormBase.prototype.ngAfterViewInit = function (isTempRef) {\n var tempFormAfterViewThis = isTempRef || this;\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n // Removed setTimeout, Because we have called markForCheck() method in Angular Template Compiler\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n if ((tempFormAfterViewThis.getModuleName()).includes('dropdowntree')) {\n setTimeout(function () {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n });\n }\n else {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n }\n var ele = tempFormAfterViewThis.inputElement || tempFormAfterViewThis.element;\n ele.addEventListener('focus', tempFormAfterViewThis.ngOnFocus.bind(tempFormAfterViewThis));\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlur.bind(tempFormAfterViewThis));\n }\n this.isFormInit = false;\n };\n FormBase.prototype.setDisabledState = function (disabled) {\n this.enabled = !disabled;\n this.disabled = disabled;\n };\n FormBase.prototype.writeValue = function (value) {\n var regExp = /ejs-radiobutton/g;\n //update control value from angular\n if (this.checked === undefined) {\n this.value = value;\n }\n else {\n // To resolve boolean type formControl value is not working for radio button control.\n /* istanbul ignore next */\n if (this.ngEle) {\n if (typeof value === 'boolean') {\n if (regExp.test(this.ngEle.nativeElement.outerHTML)) {\n this.checked = value === this.value;\n }\n else {\n this.checked = value;\n }\n }\n else {\n this.checked = value === this.value;\n }\n }\n }\n this.angularValue = value;\n this.isUpdated = true;\n // When binding Html textbox value to syncfusion textbox, change event triggered dynamically.\n // To prevent change event, trigger change in component side based on `preventChange` value\n this.preventChange = this.isFormInit ? false : true;\n this.cdr.markForCheck();\n if (value === null) {\n return;\n }\n };\n FormBase.prototype.ngOnFocus = function (e) {\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.focus.emit(e);\n }\n this.cdr.markForCheck();\n };\n FormBase.prototype.ngOnBlur = function (e) {\n this.propagateTouch();\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.blur.emit(e);\n }\n this.cdr.markForCheck();\n };\n FormBase.isFormBase = true;\n return FormBase;\n}());\nexport { FormBase };\n"],"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","regTemplates","keys","registeredTemplate","regProperties","filter","val","test","tabaccordionTemp","getModuleName","_a","e","m","value","parseInt","toString","destroy","splice","template","rootNodes","rt","_b","_c","destroyed","_view","pNode","renderer","parentNode","isNullOrUndefined","appendChild","_d","_e","tagObjects","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","includes","appendTo","tempOnDestroyThis","classList","contains","propKey","propValue","parent","parentObj","tempAfterContentThis","isUndefined","propObj","complexDirProps","skip","compDirPropList","h","complexPropName","childObj","innerchildObj","updateChildTag_1","innerchild","innerLevelTag","j","innerTag","innerchildTag","l","hasDiffLength","curIndex","curChild","properties","complexTemplates_2","twoWaySetter","newVal","oldVal","emit","addTwoWay","this_1","propList_1","addEventListener","eventName","handler","eventObj","Map","subscribe","removeEventListener","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","inputElement","tempFormAfterViewThis","ngOnFocus","ngOnBlur","setDisabledState","disabled","enabled","writeValue","regExp","skipFromEvent","focus","blur","getTemplateEngine"],"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 :
|
|
3
|
+
* version : 26.1.35
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2023. 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.17.0",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-pY7zsL4BtFYm0ff7gnFK518VCqieSj1zO5sYRBfjw/ZEDpH1mhWBzR6yqrb8gor1EyBYTfwaOVI0rb/dZTefYw==",
|
|
6
6
|
"_location": "/@syncfusion/ej2-angular-base",
|
|
7
7
|
"_phantomChildren": {},
|
|
8
8
|
"_requested": {
|
|
@@ -22,27 +22,41 @@
|
|
|
22
22
|
"/@syncfusion/ej2-angular-buttons",
|
|
23
23
|
"/@syncfusion/ej2-angular-calendars",
|
|
24
24
|
"/@syncfusion/ej2-angular-charts",
|
|
25
|
+
"/@syncfusion/ej2-angular-circulargauge",
|
|
25
26
|
"/@syncfusion/ej2-angular-diagrams",
|
|
26
27
|
"/@syncfusion/ej2-angular-documenteditor",
|
|
27
28
|
"/@syncfusion/ej2-angular-dropdowns",
|
|
29
|
+
"/@syncfusion/ej2-angular-filemanager",
|
|
28
30
|
"/@syncfusion/ej2-angular-gantt",
|
|
31
|
+
"/@syncfusion/ej2-angular-grids",
|
|
32
|
+
"/@syncfusion/ej2-angular-heatmap",
|
|
29
33
|
"/@syncfusion/ej2-angular-image-editor",
|
|
34
|
+
"/@syncfusion/ej2-angular-inplace-editor",
|
|
35
|
+
"/@syncfusion/ej2-angular-inputs",
|
|
36
|
+
"/@syncfusion/ej2-angular-kanban",
|
|
37
|
+
"/@syncfusion/ej2-angular-layouts",
|
|
38
|
+
"/@syncfusion/ej2-angular-lineargauge",
|
|
39
|
+
"/@syncfusion/ej2-angular-lists",
|
|
30
40
|
"/@syncfusion/ej2-angular-maps",
|
|
31
41
|
"/@syncfusion/ej2-angular-navigations",
|
|
42
|
+
"/@syncfusion/ej2-angular-notifications",
|
|
32
43
|
"/@syncfusion/ej2-angular-pdfviewer",
|
|
33
44
|
"/@syncfusion/ej2-angular-pivotview",
|
|
34
45
|
"/@syncfusion/ej2-angular-popups",
|
|
46
|
+
"/@syncfusion/ej2-angular-progressbar",
|
|
35
47
|
"/@syncfusion/ej2-angular-querybuilder",
|
|
48
|
+
"/@syncfusion/ej2-angular-ribbon",
|
|
36
49
|
"/@syncfusion/ej2-angular-richtexteditor",
|
|
37
50
|
"/@syncfusion/ej2-angular-schedule",
|
|
38
51
|
"/@syncfusion/ej2-angular-splitbuttons",
|
|
39
52
|
"/@syncfusion/ej2-angular-spreadsheet",
|
|
40
|
-
"/@syncfusion/ej2-angular-treegrid"
|
|
53
|
+
"/@syncfusion/ej2-angular-treegrid",
|
|
54
|
+
"/@syncfusion/ej2-angular-treemap"
|
|
41
55
|
],
|
|
42
|
-
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-
|
|
43
|
-
"_shasum": "
|
|
56
|
+
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-release/@syncfusion/ej2-angular-base/-/ej2-angular-base-19.17.0.tgz",
|
|
57
|
+
"_shasum": "480466679350a029d238501d883963c4e55d80b4",
|
|
44
58
|
"_spec": "@syncfusion/ej2-angular-base@*",
|
|
45
|
-
"_where": "/jenkins/workspace/elease-
|
|
59
|
+
"_where": "/jenkins/workspace/elease-automation_release_26.1.1/packages/included",
|
|
46
60
|
"author": {
|
|
47
61
|
"name": "Syncfusion Inc."
|
|
48
62
|
},
|
|
@@ -51,8 +65,8 @@
|
|
|
51
65
|
},
|
|
52
66
|
"bundleDependencies": false,
|
|
53
67
|
"dependencies": {
|
|
54
|
-
"@syncfusion/ej2-base": "~
|
|
55
|
-
"@syncfusion/ej2-icons": "~
|
|
68
|
+
"@syncfusion/ej2-base": "~26.1.35",
|
|
69
|
+
"@syncfusion/ej2-icons": "~26.1.35"
|
|
56
70
|
},
|
|
57
71
|
"deprecated": false,
|
|
58
72
|
"description": "A common package of Essential JS 2 base Angular libraries, methods and class definitions",
|
|
@@ -63,6 +77,7 @@
|
|
|
63
77
|
"syncfusion",
|
|
64
78
|
"web-components",
|
|
65
79
|
"ej2-angular-base",
|
|
80
|
+
"Angular DevKit",
|
|
66
81
|
"angular",
|
|
67
82
|
"ng"
|
|
68
83
|
],
|
|
@@ -79,6 +94,6 @@
|
|
|
79
94
|
"postinstall": "node ./postinstall.js"
|
|
80
95
|
},
|
|
81
96
|
"typings": "index.d.ts",
|
|
82
|
-
"version": "
|
|
97
|
+
"version": "26.1.35",
|
|
83
98
|
"sideEffects": true
|
|
84
99
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { workspaces } from '@angular-devkit/core';
|
|
1
2
|
import { Rule } from "@angular-devkit/schematics";
|
|
2
3
|
import { Schema } from "@schematics/angular/component/schema";
|
|
4
|
+
export type WorkspaceDefinition = workspaces.WorkspaceDefinition;
|
|
5
|
+
export type ProjectDefinition = workspaces.ProjectDefinition;
|
|
3
6
|
export interface sampleDetails {
|
|
4
7
|
componentName: string;
|
|
5
8
|
sampleName: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.componentBuilder = void 0;
|
|
3
4
|
const core_1 = require("@angular-devkit/core");
|
|
4
5
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
6
|
const helpers_1 = require("../utils/helpers/helpers");
|
|
@@ -9,38 +10,38 @@ const helpers_2 = require("../utils/helpers/helpers");
|
|
|
9
10
|
const ast_1 = require("../utils/ast");
|
|
10
11
|
function componentBuilder(options, sampleDetails) {
|
|
11
12
|
return (host, context) => {
|
|
12
|
-
const workspace = helpers_1.getWorkspace(host);
|
|
13
|
-
const project = get_project_1.getProjectFromWorkspace(workspace, options.project);
|
|
13
|
+
const workspace = (0, helpers_1.getWorkspace)(host);
|
|
14
|
+
const project = (0, get_project_1.getProjectFromWorkspace)(workspace, options.project);
|
|
14
15
|
options.selector = options.selector || core_1.strings.dasherize(options.name);
|
|
15
16
|
if (options.path === undefined) {
|
|
16
17
|
options.path = `/${project.root}/src/app/`;
|
|
17
18
|
}
|
|
18
|
-
const parsedPath = helpers_2.parseName(options.path, options.name);
|
|
19
|
+
const parsedPath = (0, helpers_2.parseName)(options.path, options.name);
|
|
19
20
|
options.name = parsedPath.name;
|
|
20
21
|
options.path = parsedPath.path;
|
|
21
|
-
helpers_2.validateName(options.name);
|
|
22
|
-
helpers_2.validateHtmlSelector(options.selector);
|
|
22
|
+
(0, helpers_2.validateName)(options.name);
|
|
23
|
+
(0, helpers_2.validateHtmlSelector)(options.selector);
|
|
23
24
|
options.selector = options.selector || buildSelector(options, project.prefix);
|
|
24
|
-
options.module = helpers_2.findModuleFromOptions(host, options);
|
|
25
|
-
const templateSource = schematics_1.apply(schematics_1.url('./samples'), [
|
|
26
|
-
schematics_1.template(Object.assign({}, core_1.strings, { 'if-flat': (s) => options.flat ? '' : s }, options)),
|
|
27
|
-
schematics_1.move(null, parsedPath.path)
|
|
25
|
+
options.module = (0, helpers_2.findModuleFromOptions)(host, options);
|
|
26
|
+
const templateSource = (0, schematics_1.apply)((0, schematics_1.url)('./samples'), [
|
|
27
|
+
(0, schematics_1.template)(Object.assign(Object.assign(Object.assign({}, core_1.strings), { 'if-flat': (s) => options.flat ? '' : s }), options)),
|
|
28
|
+
(0, schematics_1.move)(null, parsedPath.path)
|
|
28
29
|
]);
|
|
29
|
-
const parsedImagePath = helpers_2.parseName(`/${project.root}/src/assets/${sampleDetails.componentName}`, `${sampleDetails.sampleName}`);
|
|
30
|
+
const parsedImagePath = (0, helpers_2.parseName)(`/${project.root}/src/assets/${sampleDetails.componentName}`, `${sampleDetails.sampleName}`);
|
|
30
31
|
let imagesExists = host.getDir(`${parsedImagePath.path}/${parsedImagePath.name}`).subfiles.length ?
|
|
31
32
|
true : false, optionsClone = Object.assign({}, options), copyImages;
|
|
32
33
|
optionsClone.path = parsedImagePath.path;
|
|
33
34
|
optionsClone.name = parsedImagePath.name;
|
|
34
35
|
if (!imagesExists)
|
|
35
|
-
copyImages = schematics_1.apply(schematics_1.url('./images'), [
|
|
36
|
-
schematics_1.template(Object.assign({}, core_1.strings, optionsClone)),
|
|
37
|
-
schematics_1.move(null, parsedImagePath.path)
|
|
36
|
+
copyImages = (0, schematics_1.apply)((0, schematics_1.url)('./images'), [
|
|
37
|
+
(0, schematics_1.template)(Object.assign({}, core_1.strings, optionsClone)),
|
|
38
|
+
(0, schematics_1.move)(null, parsedImagePath.path)
|
|
38
39
|
]);
|
|
39
|
-
return schematics_1.chain([
|
|
40
|
-
schematics_1.branchAndMerge(schematics_1.chain([
|
|
40
|
+
return (0, schematics_1.chain)([
|
|
41
|
+
(0, schematics_1.branchAndMerge)((0, schematics_1.chain)([
|
|
41
42
|
addModuleToRoot(options, sampleDetails),
|
|
42
|
-
schematics_1.mergeWith(templateSource),
|
|
43
|
-
imagesExists ? schematics_1.noop() : schematics_1.mergeWith(copyImages),
|
|
43
|
+
(0, schematics_1.mergeWith)(templateSource),
|
|
44
|
+
imagesExists ? (0, schematics_1.noop)() : (0, schematics_1.mergeWith)(copyImages),
|
|
44
45
|
]))
|
|
45
46
|
])(host, context);
|
|
46
47
|
};
|
|
@@ -72,9 +73,9 @@ function addModuleToRoot(options, sampleDetails) {
|
|
|
72
73
|
+ (options.flat ? '' : core_1.strings.dasherize(options.name) + '/')
|
|
73
74
|
+ core_1.strings.dasherize(options.name)
|
|
74
75
|
+ '.component';
|
|
75
|
-
const relativePath = helpers_2.buildRelativePath(modulePath, componentPath);
|
|
76
|
+
const relativePath = (0, helpers_2.buildRelativePath)(modulePath, componentPath);
|
|
76
77
|
const classifiedName = core_1.strings.classify(`${options.name}Component`);
|
|
77
|
-
const declarationChanges = helpers_2.addDeclarationToModule(source, modulePath, classifiedName, relativePath);
|
|
78
|
+
const declarationChanges = (0, helpers_2.addDeclarationToModule)(source, modulePath, classifiedName, relativePath);
|
|
78
79
|
const declarationRecorder = host.beginUpdate(modulePath);
|
|
79
80
|
for (const change of declarationChanges) {
|
|
80
81
|
if (change instanceof helpers_2.InsertChange) {
|
|
@@ -82,13 +83,13 @@ function addModuleToRoot(options, sampleDetails) {
|
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
host.commitUpdate(declarationRecorder);
|
|
85
|
-
ast_1.addModuleImportToModule(host, modulePath, sampleDetails.libModules, sampleDetails.packageName);
|
|
86
|
+
(0, ast_1.addModuleImportToModule)(host, modulePath, sampleDetails.libModules, sampleDetails.packageName);
|
|
86
87
|
const providers = sampleDetails.diModules ? sampleDetails.diModules.split(',') : null;
|
|
87
88
|
if (providers)
|
|
88
89
|
providers.forEach((provider) => {
|
|
89
|
-
if (!helpers_2.isImported(source, provider.trim(), sampleDetails.packageName)) {
|
|
90
|
+
if (!(0, helpers_2.isImported)(source, provider.trim(), sampleDetails.packageName)) {
|
|
90
91
|
source = readIntoSourceFile(host, modulePath);
|
|
91
|
-
const providerChanges = helpers_2.addProviderToModule(source, modulePath, provider, sampleDetails.packageName);
|
|
92
|
+
const providerChanges = (0, helpers_2.addProviderToModule)(source, modulePath, provider, sampleDetails.packageName);
|
|
92
93
|
const providerRecorder = host.beginUpdate(modulePath);
|
|
93
94
|
for (const change of providerChanges) {
|
|
94
95
|
if (change instanceof helpers_2.InsertChange) {
|
package/schematics/index.d.ts
CHANGED
package/schematics/index.js
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
function
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
5
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
17
|
+
__exportStar(require("./ng-add/index"), exports);
|
|
18
|
+
__exportStar(require("./ng-add/schema"), exports);
|
|
19
|
+
__exportStar(require("./utils/package"), exports);
|
|
20
|
+
//export * from './utils/get-project';
|
|
21
|
+
// export * from './utils/ast';
|
|
22
|
+
// export * from './ng-add/theme';
|
|
23
|
+
// export * from './generators/component-builder';
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
+
import { workspaces } from '@angular-devkit/core';
|
|
2
3
|
import { LibOptionsSchema, OptionsSchema } from './schema';
|
|
4
|
+
export type WorkspaceDefinition = workspaces.WorkspaceDefinition;
|
|
5
|
+
export type ProjectDefinition = workspaces.ProjectDefinition;
|
|
3
6
|
export declare function install(options: OptionsSchema, libOptions: LibOptionsSchema): Rule;
|