CRM-14798 - crmCaseType - Use "angular-unsavedChanges" module
authorTim Otten <totten@civicrm.org>
Thu, 3 Jul 2014 01:35:53 +0000 (18:35 -0700)
committerTim Otten <totten@civicrm.org>
Thu, 3 Jul 2014 01:35:53 +0000 (18:35 -0700)
CRM/Core/Page/Angular.php
js/angular-crmCaseType.js
partials/crmCaseType/edit.html

index 28d93079b495f32b5cf552036b76482411c92d97..0ccf1528f5162e143b0f4441b19c524c63cd9baf 100644 (file)
@@ -65,6 +65,7 @@ class CRM_Core_Page_Angular extends CRM_Core_Page {
     $angularModules = array();
     $angularModules['ui.utils'] = array('ext' => 'civicrm', 'js' => array('packages/bower_components/angular-ui-utils/ui-utils.min.js'));
     $angularModules['ui.sortable'] = array('ext' => 'civicrm', 'js' => array('packages/bower_components/angular-ui-sortable/sortable.min.js'));
+    $angularModules['unsavedChanges'] = array('ext' => 'civicrm', 'js' => array('packages/bower_components/angular-unsavedChanges/dist/unsavedChanges.min.js'));
     $angularModules['crmUi'] = array('ext' => 'civicrm', 'js' => array('js/angular-crm-ui.js'));
 
     foreach (CRM_Core_Component::getEnabledComponents() as $component) {
index bf3e5d571e511d3b38628e34dd745b8c2bd7e0c9..6a1bc9a50f9d28f3cde17bfb696001d7c50a839b 100644 (file)
@@ -4,7 +4,7 @@
     return CRM.resourceUrls['civicrm'] + '/partials/crmCaseType/' + relPath;
   };
 
-  var crmCaseType = angular.module('crmCaseType', ['ngRoute', 'ui.utils', 'crmUi']);
+  var crmCaseType = angular.module('crmCaseType', ['ngRoute', 'ui.utils', 'crmUi', 'unsavedChanges']);
 
   var newCaseTypeDefinitionTemplate = {
     activityTypes: [
index 03e81936500f3e7699b3e576cbf20c1ca87c924e..8fed0ebed48746d3c72b960e6ea35ef4e196ce1d 100644 (file)
@@ -2,14 +2,14 @@
 Controller: CaseTypeCtrl
 Required vars: caseType
 -->
-<form name="editCaseTypeFrom">
+<form name="editCaseTypeForm" unsaved-warning-form>
 <div class="crm-block crm-form-block crmCaseType">
   <div class="crm-submit-buttons">
     <span class="crm-button">
-      <input type="button" ng-click="save()" ng-disabled="editCaseTypeFrom.$invalid" value="Save" />
+      <input type="submit" ng-click="editCaseTypeForm.$setPristine(); save()" ng-disabled="editCaseTypeForm.$invalid" value="Save" />
     </span>
     <span class="crm-button">
-      <input type="button" ng-click="goto('caseType')" value="Cancel" />
+      <input type="submit" ng-click="editCaseTypeForm.$setPristine(); goto('caseType')" value="Cancel" />
     </span>
   </div>
 
@@ -58,10 +58,10 @@ Required vars: caseType
   <!--<button ng-click="dump()">Log</button>-->
   <div class="crm-submit-buttons">
     <span class="crm-button">
-      <input type="button" ng-click="save()" ng-disabled="editCaseTypeFrom.$invalid" value="Save" />
+      <input type="submit" ng-click="editCaseTypeForm.$setPristine(); save()" ng-disabled="editCaseTypeForm.$invalid" value="Save" />
     </span>
     <span class="crm-button">
-      <input type="button" ng-click="goto('caseType')" value="Cancel" />
+      <input type="submit" ng-click="editCaseTypeForm.$setPristine(); goto('caseType')" value="Cancel" />
     </span>
   </div>
 </div>