mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-07-04 11:37:29 +02:00
add modalConfirm service to alert modal confirm
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
angular
|
||||
.module('torrents.services')
|
||||
.factory('ModalConfirmService', ModalConfirmService);
|
||||
|
||||
ModalConfirmService.$inject = ['$uibModal'];
|
||||
|
||||
function ModalConfirmService($uibModal) {
|
||||
|
||||
var modalDefaults = {
|
||||
backdrop: true,
|
||||
keyboard: true,
|
||||
modalFade: true,
|
||||
templateUrl: '/modules/torrents/client/templates/modal-confirm.client.view.html'
|
||||
};
|
||||
|
||||
var modalOptions = {
|
||||
closeButtonText: 'Close',
|
||||
actionButtonText: 'Yes',
|
||||
headerText: 'Confirm?',
|
||||
bodyText: 'Confirm this action?'
|
||||
};
|
||||
|
||||
var showModal = function (customModalDefaults, customModalOptions) {
|
||||
if (!customModalDefaults) customModalDefaults = {};
|
||||
customModalDefaults.backdrop = 'static';
|
||||
return this.show(customModalDefaults, customModalOptions);
|
||||
};
|
||||
|
||||
var 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;
|
||||
};
|
||||
|
||||
return {
|
||||
showModal: showModal,
|
||||
show: show
|
||||
};
|
||||
|
||||
}
|
||||
}());
|
||||
@@ -0,0 +1,12 @@
|
||||
<div class="modal-header">
|
||||
<h3>{{modalOptions.headerText}}</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>{{modalOptions.bodyText}}</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default"
|
||||
data-ng-click="modalOptions.close()">{{modalOptions.closeButtonText}}</button>
|
||||
<button class="btn btn-primary"
|
||||
data-ng-click="modalOptions.ok();">{{modalOptions.actionButtonText}}</button>
|
||||
</div>
|
||||
Reference in New Issue
Block a user