angular.module("ofn.admin").factory "ofnConfirmHandler", (pendingChanges, $compile, $q) -> return (scope, callback) -> template = "
" + t('js.services.unsaved_changes_message') + "
" dialogDiv = $compile(template)(scope) return -> if pendingChanges.changeCount(pendingChanges.pendingChanges) > 0 dialogDiv.dialog dialogClass: "no-close" resizable: false height: 140 modal: true buttons: "SAVE": -> dialogDiv = $(this) $q.all(pendingChanges.submitAll()).then -> callback() dialogDiv.dialog "close" "IGNORE": -> callback() $(this).dialog "close" scope.$apply() dialogDiv.dialog "open" else callback()