Reputation: 85
[![enter image description here][1]][1]We are going to use modal delete confirmation in angularjs but there is a problem for using it and error "angular.js:15018 Error: [$templateRequest:tpload]" is raised, the ModalService is:
app.service("ModalService", ['$uibModal', function ($uibModal) {
var modalDefaults = {
backdrop: true,
keyboard: true,
modalFade: true,
templateUrl: "/app/modal.html"
};
var modalOptions = {
closeButtonText: 'Close',
actionButtonText: 'OK',
headerText: 'Proceed?',
bodyText: 'Perform this action?'
};
this.showModal = function (customModalDefaults, customModalOptions) {
if (!customModalDefaults) customModalDefaults = {};
customModalDefaults.backdrop = 'static';
return this.show(customModalDefaults, customModalOptions);
};
this.show = function (customModalDefaults, customModalOptions) {
//Create temp objects to work with since we're in a singleton service
var tempModalDefaults = {};
var tempModalOptions = {};
//Map angular-ui modal custom defaults to modal defaults defined in service
angular.extend(tempModalDefaults, modalDefaults, customModalDefaults);
//Map modal.html $scope custom properties to defaults defined in service
angular.extend(tempModalOptions, modalOptions, customModalOptions);
if (!tempModalDefaults.controller) {
tempModalDefaults.controller = function ($scope, $uibModalInstance) {
$scope.modalOptions = tempModalOptions;
$scope.modalOptions.ok = function (result) {
$uibModalInstance.close(result);
};
$scope.modalOptions.close = function (result) {
$uibModalInstance.dismiss('cancel');
};
};
}
return $uibModal.open(tempModalDefaults).result;
};}]);
And Delete in controller is looke like this:
$scope.deletePerson = function (personID) {
var modalOptions = {
closeButtonText: 'Cancel',
actionButtonText: 'Delete Customer',
headerText: 'Delete ' + 1 + '?',
bodyText: 'Are you sure you want to delete this customer?'
};
ModalService.showModal({}, modalOptions)
.then(function (result) {
var result = PersonService.deletePerson(personID);
result.then(function (res) {
$location.path("/");
}, function (error) {
$scope.error = error;
});
});
Now when I invoke the Delete function from the controller following error is raised :
angular.js:15018 Error: [$templateRequest:tpload] http://errors.angularjs.org/1.7.2/$templateRequest/tpload?p0=uib%2Ftemplate%2Fmodal%2Fwindow.html&p1=404&p2=Not%20Found
at angular.js:99
at angular.js:20721
at angular.js:17396
at m.$digest (angular.js:18557)
at m.$apply (angular.js:18945)
at k (angular.js:12799)
at V (angular.js:13056)
at XMLHttpRequest.A.onload (angular.js:12961)
I have also used "Appnam/app/modal.html" for templateUrl but it did not resolve.
Upvotes: 0
Views: 123
Reputation: 85
I have resolved my issue, script <script src="~/Scripts/angular-ui/ui-bootstrap-tpls.min.js"></script>
should be added.
Upvotes: 1