diff options
Diffstat (limited to 'utils/test/testapi/3rd_party/static/testapi-ui/shared/alerts/confirmModalFactory.js')
-rw-r--r-- | utils/test/testapi/3rd_party/static/testapi-ui/shared/alerts/confirmModalFactory.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/utils/test/testapi/3rd_party/static/testapi-ui/shared/alerts/confirmModalFactory.js b/utils/test/testapi/3rd_party/static/testapi-ui/shared/alerts/confirmModalFactory.js new file mode 100644 index 000000000..76c74df9e --- /dev/null +++ b/utils/test/testapi/3rd_party/static/testapi-ui/shared/alerts/confirmModalFactory.js @@ -0,0 +1,67 @@ +(function () { + 'use strict'; + + angular + .module('testapiApp') + .factory('confirmModal', confirmModal); + + confirmModal.$inject = ['$uibModal']; + + /** + * Opens confirm modal dialog with input textbox + */ + function confirmModal($uibModal) { + return function(text, successHandler) { + $uibModal.open({ + templateUrl: '/shared/alerts/confirmModal.html', + controller: 'CustomConfirmModalController as confirmModal', + size: 'md', + resolve: { + data: function () { + return { + text: text, + successHandler: successHandler + }; + } + } + }); + }; + } + + angular + .module('testapiApp') + .controller('CustomConfirmModalController', + CustomConfirmModalController); + + CustomConfirmModalController.$inject = ['$uibModalInstance', 'data']; + + /** + * This is the controller for the alert pop-up. + */ + function CustomConfirmModalController($uibModalInstance, data) { + var ctrl = this; + + ctrl.confirm = confirm; + ctrl.cancel = cancel; + + ctrl.data = angular.copy(data); + + /** + * Initiate confirmation and call the success handler with the + * input text. + */ + function confirm() { + $uibModalInstance.close(); + if (angular.isDefined(ctrl.data.successHandler)) { + ctrl.data.successHandler(ctrl.inputText); + } + } + + /** + * Close the confirm modal without initiating changes. + */ + function cancel() { + $uibModalInstance.dismiss('cancel'); + } + } +})(); |