Advertisement
Guest User

Untitled

a guest
May 6th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.96 KB | None | 0 0
  1. <table class="table table-bordered table-hover table-condensed">
  2. <tr style="font-weight: bold">
  3. <td style="width:5%">No.</td>
  4. <td style="width:20%">Name</td>
  5. <td style="width:10%">Gender</td>
  6. <td style="width:30%">Profile photo</td>
  7. <td style="width:20%">Category</td>
  8. <td style="width:30%">Action</span>
  9. </td>
  10. </tr>
  11. <tr ng-repeat="user in users">
  12. <td>{{$index+1}}</td>
  13. <td>
  14. <span editable-text="user.name" e-name="name" onbeforesave="checkName($data, user._id)" ng-model="userName" e-form="rowform" e-required>
  15. {{ user.name}}
  16. </span>
  17. </td>
  18. <td>
  19. <span editable-select="user.gender" ng-model="gender" e-name="gender" e-form="rowform" e-ng-options="s.value as s.text for s in genders">
  20. {{ showGender(user) }}
  21. </span>
  22.  
  23. </td>
  24.  
  25. <!-- ng-show="tableform.$visible" -->
  26. <td class="text-center" >
  27. <img ng-src="/api/media/{{user.media_id}}" alt="No Image" style="margin-bottom:20px;width:100%;">
  28. <a class="btn btn-success" ui-sref="media({_id: user._id })" style="border: .0625rem solid transparent;margin: 10px 0px;padding: .465rem 1rem;"> Upload File</a>
  29. <!-- <input type="file" flow-button value="Upload"> -->
  30. </td>
  31. <td>
  32. <span editable-select="user.category" e-name="category" e-form="rowform" e-ng-options="c.value as c.name for c in categories">
  33. {{ showCategories(user) }}
  34. </span>
  35. </td>
  36. <td style="white-space: nowrap">
  37. <!-- form -->
  38. <form editable-form name="rowform" onbeforesave="saveUser($data,user_id)" ng-show="rowform.$visible" class="form-buttons form-inline" shown="inserted == user">
  39. <button type="submit" ng-disabled="rowform.$waiting" class="btn btn-primary">
  40. save
  41. </button>
  42. <button type="button" ng-disabled="rowform.$waiting" ng-click="rowform.$cancel()" class="btn btn-default">
  43. cancel
  44. </button>
  45. </form>
  46. <div class="buttons" ng-show="!rowform.$visible">
  47. <button class="btn btn-primary" ng-click="rowform.$show()">edit</button>
  48. <button class="btn btn-danger" ng-click="deleteUser(user)">delete</button>
  49. </div>
  50. </td>
  51. </tr>
  52. </table>
  53.  
  54. .controller('mainCtrl', function($scope, $stateParams, $timeout, userService, categoryService, $filter, $q, verifyDelete, $window, $rootScope, $http, $state, $mdDialog) {
  55. categoryService.init(function(category_response) {
  56. $scope.categories = category_response.data.result;
  57. $scope.category = JSON.parse(JSON.stringify(getCategory($stateParams._id)));
  58. console.log($scope.category);
  59. });
  60.  
  61. function getCategory(id) {
  62. for (var i = 0; i < $scope.categories.length; i++) {
  63. console.log(i);
  64. if ($scope.categories[i]._id === id) {
  65.  
  66. return $scope.categories[i];
  67.  
  68. }
  69. }
  70. return {
  71. name: ''
  72. };
  73. }
  74. $scope.deleteCategory = function(category) {
  75. console.log(category._id);
  76. verifyDelete(category).then(function() {
  77. if (category._id) {
  78. var url = '/api/categories/' + category._id;
  79. $http.delete(url, {})
  80. .then(function(response) {
  81. $scope.showModal = false;
  82. $scope.users.splice(category._id, 1);
  83. }, function(response) { // fail
  84.  
  85. });
  86. }
  87.  
  88. });
  89. };
  90.  
  91. $scope.subCategories=function(){
  92. $http.post('/api/categories/', name, $scope)
  93. .then(function(response) {
  94. console.log(name);
  95.  
  96. }, function(response) {
  97. console.log(name);
  98. });
  99. }
  100.  
  101. $scope.deleteUser = function(user) {
  102. var removeIndex = $scope.users.map(function(item) { return item._id; }).indexOf(user._id);
  103. verifyDelete(user).then(function() {
  104. if (user._id) {
  105. $http.delete('/api/users/' + user._id, {})
  106. .then(function(response) {
  107. $scope.showModal = false;
  108. ~removeIndex && $scope.users.splice(removeIndex, 1);
  109. // $scope.users.splice(user._id, 1);
  110. }, function(response) { // fail
  111.  
  112. });
  113. }
  114. });
  115. };
  116.  
  117.  
  118. userService.init(function(user_response) {
  119. $scope.users = user_response.data.data;
  120. });
  121.  
  122.  
  123. $scope.genders = [{
  124. value: 'male',
  125. text: 'Male'
  126. }, {
  127. value: 'female',
  128. text: 'Female'
  129. }];
  130.  
  131. $scope.loadCategories = function() {
  132. return $scope.categories.length ? null : $http.get('/api/categories/list').success(function(data) {
  133. $scope.categories = data;
  134. });
  135. };
  136.  
  137. // filter users to show
  138. $scope.filterUser = function(user) {
  139. return user.isDeleted !== true;
  140. };
  141.  
  142.  
  143.  
  144. // cancel all changes
  145. $scope.cancel = function() {
  146. for (var i = $scope.users.length; i--;) {
  147. var user = $scope.users[i];
  148. // undelete
  149. if (user.isDeleted) {
  150. delete user.isDeleted;
  151. }
  152. // remove new
  153. if (user.isNew) {
  154. $scope.users.splice(i, 1);
  155. }
  156. };
  157. };
  158. $scope.showGender = function(user) {
  159. var selected = [];
  160. if(user.gender) {
  161. selected = $filter('filter')($scope.genders, {value: user.gender});
  162. }
  163. return selected.length ? selected[0].text : 'Not set';
  164. };
  165.  
  166.  
  167. $scope.showCategories = function(user) {
  168. var selected = [];
  169. if(user.category_id) {
  170. selected = $filter('filter')($scope.categories, {value: user.category});
  171. }
  172. return selected.length ? selected[0].name : 'Not set';
  173.  
  174. };
  175. $scope.saveUser = function(user) {
  176. // console.log(name);
  177. if(user._id){
  178.  
  179. $http.put('/api/users/'+user._id, user, $scope)
  180. .then(function(response) {
  181. $state.reload();
  182. }, function(response) {
  183.  
  184. });
  185.  
  186. }
  187. else{
  188. $http.post('/api/users/', user, $scope)
  189. .then(function(response) {
  190. $state.reload();
  191.  
  192. }, function(response) {
  193. $scope.errorMessage=response.data;
  194. $scope.errorValMessage = true;
  195. $timeout(function () {
  196. $scope.errorValMessage = false;
  197. }, 2000);
  198.  
  199.  
  200.  
  201. });
  202.  
  203. }
  204. };
  205. $scope.addUser = function(user) {
  206. $scope.inserted = {
  207. name:'',
  208. gender:null,
  209. email:'',
  210. password:'',
  211. re_password:'',
  212. category:null
  213. };
  214. $scope.users.push($scope.inserted);
  215. };
  216.  
  217.  
  218. })
  219. .run(function(editableOptions) {
  220. editableOptions.theme = 'bs3';
  221. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement