I'm using d3.min.js library in my org. These libraries are being used in lightning component context. this is all working fine till now. After enabling locker service feature it stopped working. Getting below error msg:
Uncaught Error during init [Action failed: c$BaseChartComp$controller$initComponent [TypeError: concreteComponent.getDef is not a function]]
Uncaught TypeError: Cannot set property 'innerHTML'
/resource/D3_3517/D3_3512/d3.min.js:5 Uncaught TypeError: Cannot read property 'document' of undefined
Cannot set property 'innerHTML' of null
Uncaught TypeError: Cannot read property 'matches' of null
Uncaught TypeError: Cannot set property 'innerHTML' of null
Code Snippet which causes the issue:
getConcreteCompHelper: function(component) {
var me = this,
concreteComponent = component.getConcreteComponent(),
ccHelper = concreteComponent.getDef().getHelper();
return ccHelper;
},
getConcreteComp: function(component) {
var me = this,
concreteComponent = component.getConcreteComponent();
return concreteComponent;
},
handleWindowResize: function(component) {
var me = this,
ccHelper = me.getConcreteCompHelper(component),
childComp = me.getConcreteComp(component),
chartRedrawListner = function(cc) {
return function() {
ccHelper.drawChart(cc);
}
},
listener = chartRedrawListner(childComp);
window.addEventListener('resize', listener);
me.windowUnregisterFn = function() {
window.removeEventListener('resize', listener);
}
}
Application is erroring out while executing line,
ccHelper = concreteComponent.getDef().getHelper();
Adding screenshot of error message:
Break point added to show the stack-trace message
Any help would be appreciable.