im using angular-ui-calendar in my website. In the controller, i have writed this:
define(['underscore'], function (_) {
"use strict";
var SearchController = function ($scope, $location, OrdersService, UsersService) {
/* config object */
$scope.uiConfig = {
calendar: {
height: 450,
editable: true,
firstDay: 0,
monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'],
header: {
left: '',
center: 'title',
right: ''
}
}
};
$scope.eventSources = [$scope.events];
var getTecnicians = function () {
UsersService.getTechs().then(function (techs) {
$scope.technicians = techs;
});
};
var search = function () {
var searchObject = $scope.$$childHead.searchForm;
UsersService.getCurrentStatus(searchObject.technician._id, searchObject.selectedStartDate).then(function (result) {
$scope.states = result[0].states;
for (var i = 0; i < $scope.states.length; i++) {
var event = {};
if (i === $scope.states.length - 1) {
event = {
title: $scope.states[i].status,
start: $scope.states[i].date,
allday: true
};
} else {
event = {
title: $scope.states[i].status,
start: $scope.states[i].date,
end: $scope.states[i + 1].date
};
}
$scope.events.push(event)
}
if (result) {
$scope.haveData = true;
}
});
};
var init = function () {
$scope.search = search;
$scope.getTecnicians = getTecnicians();
$scope.haveData = false;
$scope.events = [];
};
init();
};
SearchController.$inject = ["$scope", "$location", "OrdersService", "UsersService"];
return SearchController;
});
When i do click in a button i do a get request and get data from server, process it and generate events objets and put in my scope.
When i finish it, calendar show me this error:
ypeError: Cannot read property '__id' of undefined
at sourcesFingerprint (http://localhost:8000/bower_components/angular-ui-calendar/src/calendar.js:48:24)
at Object.changeWatcher.getTokens (http://localhost:8000/bower_components/angular-ui-calendar/src/calendar.js:88:21)
at Scope.$get.Scope.$digest (http://localhost:8000/bower_components/angular/angular.js:12243:40)
at Scope.$get.Scope.$apply (http://localhost:8000/bower_components/angular/angular.js:12516:24)
at done (http://localhost:8000/bower_components/angular/angular.js:8204:45)
at completeRequest (http://localhost:8000/bower_components/angular/angular.js:8412:7)
at XMLHttpRequest.xhr.onreadystatechange (http://localhost:8000/bower_components/angular/angular.js:8351:11)
Need i to put an _id on events..?
I got the same error, one way to fix it is, initiliaze the event array $scope.events=[] and then make the http request
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With