summaryrefslogtreecommitdiffstats
path: root/testapi/opnfv_testapi/ui/shared/alerts/confirmModalFactory.js
diff options
context:
space:
mode:
Diffstat (limited to 'testapi/opnfv_testapi/ui/shared/alerts/confirmModalFactory.js')
-rw-r--r--testapi/opnfv_testapi/ui/shared/alerts/confirmModalFactory.js67
1 files changed, 67 insertions, 0 deletions
diff --git a/testapi/opnfv_testapi/ui/shared/alerts/confirmModalFactory.js b/testapi/opnfv_testapi/ui/shared/alerts/confirmModalFactory.js
new file mode 100644
index 0000000..aba205e
--- /dev/null
+++ b/testapi/opnfv_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: '/testapi-ui/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');
+ }
+ }
+})();