I have an AngularJS factory into which I'm injecting a service.
I can see the service getting inject when I debug in Chrome (at the line return service;
), but it's not accessible further down in one of my functions.
See function updateWidget
where I try to call reportsContext.buildAggrFuncFromKriGrid
(function() {
'use strict';
angular.module('app').factory('widgetLinkingFactory', ['$q', 'reportsContext', linking]);
function linking($q, reportsContext) {
var service = {
linkCharts: linkCharts
};
return service;
function linkCharts(parId, widgets, parentWidgetData) {
_.each(widgets, function(wid) {
if (wid.dataModelOptions.linkedParentWidget) {
updateWidget(wid, parentWidgetData);
}
});
}
}
function updateWidget(widget, parWidData) {
// PULL RISK MEASURES ON CHILD WIDGET
var rm = widget.dataModelOptions.riskMeasures;
// ******* WHY IS 'reportsContext' SERVICE IS UNDEFINED HERE ?????
var aggrFuncArray = reportsContext.buildAggrFuncFromKriGrid(rm);
var cubeVectors = aggrFuncArray[0];
var aggrFunc = aggrFuncArray[1];
return true;
}
})();