Advertisement
Guest User

Untitled

a guest
Jul 1st, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. $scope.forms = {};
  2.  
  3. $scope.setForm = (formName, form) => {
  4. $scope.forms[formName] = form;
  5. }
  6.  
  7. $scope.selectedEntity = {};
  8.  
  9. $scope.entityFormState = {
  10. fields: {
  11. firstName: {
  12. setValidity: value => {
  13. const field = $scope.forms.addEditEntityForm.first_name;
  14. const isValid = value || !!$scope.selectedEntity.first_name;
  15. return field.$setValidity('firstName', isValid);
  16. }
  17. },
  18. },
  19. init: () => {
  20. $scope.entityFormState.saveClicked = false;
  21. $scope.entityFormState.fields.firstName.setValidity(true);
  22. if ($scope.entityFormState === 'Add') {
  23. $scope.selectedEntity.first_name = '';
  24. }
  25. }
  26. }
  27.  
  28. $scope.openEntityForm = () => {
  29. $scope.entityFormState.init();
  30. };
  31.  
  32. $scope.closeEntityForm = () => {
  33. $scope.entityFormState.updateInProgress = false;
  34. };
  35.  
  36. $scope.saveEntity = () => {
  37. $scope.entityFormState.updateInProgress = true;
  38. $scope.entityFormState.saveClicked = true;
  39. $scope.entityFormState.fields.firstName.setValidity();
  40. if (!$scope.forms.addEditEntityForm.$valid) {
  41. return;
  42. }
  43. const params = {};
  44. params.first_name = $scope.selectedEntity.first_name;
  45.  
  46. let save;
  47. if ($scope.entityFormState.mode === 'Add') {
  48. save = API.entity.save(params).$promise;
  49. } else {
  50. save = API.entity.patch({uuid: $scope.selectedEntity.uuid}, params).$promise;
  51. }
  52. save.then(
  53. response => {
  54. plToast.toastSuccess(`${$scope.selectedEntity.first_name}<br/>was successfully saved`);
  55. },
  56. error => {
  57. plToast.toastFailure(`${$scope.selectedEntity.first_name}<br/>was successfully saved`);
  58. $log.error('problem saving entity', error);
  59. }
  60. );
  61. $scope.closeEntityForm();
  62. }
  63.  
  64. <form name="addEditEntityForm" class="addEditEntityForm">
  65. <div ng-init="setForm('addEditEntityForm', addEditEntityForm)">
  66. <pl-input-text label="First Name" model="selectedEntity.first_name" name="first_name"></pl-input-text>
  67. <div class="pl-input-error" ng-show="entityFormState.saveClicked && !addEditEntityForm.first_name.$valid">
  68. First Name is required
  69. </div>
  70. </div>
  71. <div class="action-buttons">
  72. <dot-loader class='dot-loader' ng-if="entityFormState.updateInProgress"></dot-loader>
  73. <pl-input-button class="pl-button orange" ng-click="saveEntity()">Save</pl-input-button>
  74. <pl-input-button class="pl-button gray-outline" ng-click="closeEntityForm()">Cancel</pl-input-button>
  75. <pl-input-button class="pl-button bare" ng-show="selectedEntity.uuid" ng-click="deleteEntity()">Delete</pl-input-button>
  76. </div>
  77. </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement