I am creating a report with angular datatables. When I execute my page, I get an error in the angular.js file stating that undefined is not a function along with other code:
TypeError: undefined is not a function
at Object._showLoading [as showLoading] (http:
at showLoading (http:
at postLink (http:
at http:
at nodeLinkFn (http:
at compositeLinkFn (http:
at nodeLinkFn (http:
at compositeLinkFn (http:
at compositeLinkFn (http:
at compositeLinkFn (http:
Here is my angular function building my table:
var manageBackOrdersApp = angular.module('manageBackOrdersApp', ['sharedApp', 'datatables']);
(function () {
var manageBackOrdersController = function ($scope, $http, DTOptionsBuilder, DTColumnBuilder) {
$scope.dtOptions = DTOptionsBuilder.fromSource('/Customer/ManageBackOrders/firstJson')
.withPaginationType('full_numbers').withDisplayLength('1000');
$scope.dtColumns = [
DTColumnBuilder.newColumn('CustID').withTitle('Cust ID')
.renderWith(function(data, type, full, meta) {
return '<a target="_blank" href="gmail.com">' + full.CustID + '</a>'
}),
DTColumnBuilder.newColumn('SOID').withTitle('SO ID')
.renderWith(function(data, type, full, meta) {
return '<a target="_blank" href="gmail.com">' + full.SOID + '</a>'
}),
DTColumnBuilder.newColumn('CreateDate').withTitle('SO Date'),
DTColumnBuilder.newColumn('SPerName').withTitle('Sales Rep'),
DTColumnBuilder.newColumn('ItemID').withTitle('Item')
.renderWith(function (data, type, full, meta) {
return '<a target="_blank" href="gmail.com">' + full.ItemID + '</a>'
}),
DTColumnBuilder.newColumn('CurWhseID').withTitle('Cur Whse'),
DTColumnBuilder.newColumn('QtyOnBO').withTitle('QtyOnBO'),
DTColumnBuilder.newColumn('WhseID').withTitle('Avail Whse'),
DTColumnBuilder.newColumn('QtyAvail').withTitle('Qty Avail'),
DTColumnBuilder.newColumn('ShipMethDesc').withTitle('Ship Via'),
DTColumnBuilder.newColumn('HoldReason').withTitle('Comments')
];
}
manageBackOrdersController.$inject = ['$scope', '$http', 'DTOptionsBuilder', 'DTColumnBuilder'];
angular.module('manageBackOrdersApp').controller('manageBackOrdersController', manageBackOrdersController)
}());
Finally, here is my html:
<div ng-controller="manageBackOrdersController">
<div class="dataTable_top">
<br class="clearit" />
</div>
<table datatable="" dt-options="dtOptions" dt-columns="dtColumns" class="row-border hover datatable"></table>
</div>
I'm not sure if I missed something or something was wrong. As far as I know, I have everything I need to work with data. When I run my page, the data data is loaded enough to show the boot part and then errors. Thank you