processCategory.js 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. processCategory_parameter = {
  2. root : '../jaxrs/processCategory',
  3. list_action : null,
  4. list_action_parameter : null,
  5. first : '(0)',
  6. last : '(0)',
  7. count : 20
  8. };
  9. function processCategory_list_reload() {
  10. if (processCategory_parameter.list_action) {
  11. processCategory_parameter.list_action.call(window, processCategory_parameter.list_action_parameter);
  12. } else {
  13. processCategory_list_next('(0)');
  14. }
  15. }
  16. function processCategory_create() {
  17. str = '<div><table border="1" width="100%">';
  18. str += '<tr><td colspan="2"><a href="#" id="post">post</a></td></tr>';
  19. str += '<tr><td>name:</td><td><input type="text" id="name" style="width:95%"/></td></tr>';
  20. str += '<tr><td>available mode:</td><td><select id="availableMode"><option value ="all">all</option><option value ="authenticated">authenticated</option><option value ="assign">assign</option></select></td></tr>';
  21. str += '<tr><td>available identities:</td><td><textarea id="availableIdentityList" style="width:95%"/></td></tr>';
  22. str += '<tr><td>available departments:</td><td><textarea id="availableDepartmentList" style="width:95%"/></td></tr>';
  23. str += '<tr><td>available companies:</td><td><textarea id="availableCompanyList" style="width:95%"/></td></tr>';
  24. str += '<tr><td>description:</td><td><textarea id="description" style="width:95%"/></td></tr>';
  25. str += '</table></div>';
  26. $('#content').html(str);
  27. $('#availableMode', '#content').val('authenticated');
  28. $('#post', '#content').click(function() {
  29. processCategory_post();
  30. });
  31. }
  32. function processCategory_post() {
  33. $.ajax({
  34. type : 'post',
  35. dataType : 'json',
  36. url : processCategory_parameter.root,
  37. contentType : 'application/json; charset=utf-8',
  38. data : JSON.stringify({
  39. name : $('#name', '#content').val(),
  40. availableMode : $('#availableMode', '#content').val(),
  41. availableIdentityList : $('#availableIdentityList', '#content').val().split(','),
  42. availableDepartmentList : $('#availableDepartmentList', '#content').val().split(','),
  43. availableCompanyList : $('#availableCompanyList', '#content').val().split(','),
  44. description : $('#description', '#content').val()
  45. }),
  46. xhrFields : {
  47. 'withCredentials' : true
  48. },
  49. crossDomain : true
  50. }).done(function(data) {
  51. if (data.type == 'success') {
  52. processCategory_list_reload();
  53. } else {
  54. failure(data);
  55. }
  56. });
  57. }
  58. function processCategory_edit(id) {
  59. str = '<div><table border="1" width="100%">';
  60. str += '<tr><td colspan="2"><a href="#" id="put">put</a></td></tr>';
  61. str += '<tr><td>name:</td><td><input type="text" id="name" style="width:95%"/></td></tr>';
  62. str += '<tr><td>available mode:</td><td><select id="availableMode"><option value ="all">all</option><option value ="authenticated">authenticated</option><option value ="assign">assign</option></select></td></tr>';
  63. str += '<tr><td>available identities:</td><td><textarea id="availableIdentityList" style="width:95%"/></td></tr>';
  64. str += '<tr><td>available departments:</td><td><textarea id="availableDepartmentList" style="width:95%"/></td></tr>';
  65. str += '<tr><td>available companies:</td><td><textarea id="availableCompanyList" style="width:95%"/></td></tr>';
  66. str += '<tr><td>description:</td><td><textarea id="description" style="width:95%"/></td></tr>';
  67. str += '<tr><td>id:</td><td id="id">&nbsp;</td></tr>';
  68. str += '<tr><td>sequence:</td><td id="sequence">&nbsp;</td></tr>';
  69. str += '</table></div>';
  70. $('#content').html(str);
  71. $('#put', '#content').click(function() {
  72. processCategory_put(id);
  73. });
  74. $.ajax({
  75. type : 'get',
  76. dataType : 'json',
  77. url : processCategory_parameter.root + '/' + id,
  78. xhrFields : {
  79. 'withCredentials' : true
  80. },
  81. crossDomain : true
  82. }).done(function(data) {
  83. if (data.type == 'success') {
  84. $('#name', '#content').val(data.data.name);
  85. $('#availableMode', '#content').val(data.data.availableMode);
  86. $('#availableIdentityList', '#content').val(data.data.availableIdentityList.join(','));
  87. $('#availableDepartmentList', '#content').val(data.data.availableDepartmentList.join(','));
  88. $('#availableCompanyList', '#content').val(data.data.availableCompanyList.join(','));
  89. $('#description', '#content').val(data.data.description);
  90. $('#id', '#content').html(data.data.id);
  91. $('#sequence', '#content').html(data.data.sequence);
  92. } else {
  93. failure(data);
  94. }
  95. });
  96. }
  97. function processCategory_put(id) {
  98. $.ajax({
  99. type : 'put',
  100. dataType : 'json',
  101. url : processCategory_parameter.root + '/' + id,
  102. contentType : 'application/json; charset=utf-8',
  103. data : JSON.stringify({
  104. name : $('#name', '#content').val(),
  105. availableMode : $('#availableMode', '#content').val(),
  106. availableIdentityList : $('#availableIdentityList', '#content').val().split(','),
  107. availableDepartmentList : $('#availableDepartmentList', '#content').val().split(','),
  108. availableCompanyList : $('#availableCompanyList', '#content').val().split(','),
  109. description : $('#description', '#content').val()
  110. }),
  111. xhrFields : {
  112. 'withCredentials' : true
  113. },
  114. crossDomain : true
  115. }).done(function(data) {
  116. if (data.type == 'success') {
  117. processCategory_list_reload();
  118. } else {
  119. failure(data);
  120. }
  121. });
  122. }
  123. function processCategory_delete(id) {
  124. $.ajax({
  125. type : 'delete',
  126. dataType : 'json',
  127. url : processCategory_parameter.root + '/' + id,
  128. xhrFields : {
  129. 'withCredentials' : true
  130. },
  131. crossDomain : true
  132. }).done(function(data) {
  133. if (data.type == 'success') {
  134. processCategory_list_next('(0)');
  135. } else {
  136. failure(data);
  137. }
  138. });
  139. }
  140. function processCategory_list_next(id) {
  141. var id = (id ? id : processCategory_parameter.last);
  142. processCategory_parameter.list_action = processCategory_list_next;
  143. processCategory_parameter.list_action_parameter = id;
  144. processCategory_list_init();
  145. $.ajax({
  146. type : 'get',
  147. dataType : 'json',
  148. url : processCategory_parameter.root + '/list/' + id + '/next/' + processCategory_parameter.count,
  149. xhrFields : {
  150. 'withCredentials' : true
  151. },
  152. crossDomain : true
  153. }).done(function(data) {
  154. if (data.type == 'success') {
  155. if (data.data.length > 0) {
  156. processCategory_parameter.first = data.data[0].id;
  157. processCategory_parameter.last = data.data[data.data.length - 1].id;
  158. } else {
  159. processCategory_parameter.first = '(0)';
  160. }
  161. $('#content').html(processCategory_list_grid(data.data));
  162. $('#total', '#content').html(data.count);
  163. processCategory_list_init();
  164. } else {
  165. failure(data);
  166. }
  167. });
  168. }
  169. function processCategory_list_prev(id) {
  170. var id = (id ? id : processCategory_parameter.first);
  171. processCategory_parameter.list_action = processCategory_list_prev;
  172. processCategory_parameter.list_action_parameter = id;
  173. processCategory_list_init();
  174. $.ajax({
  175. type : 'get',
  176. dataType : 'json',
  177. url : processCategory_parameter.root + '/list/' + (id ? id : processCategory_parameter.first) + '/prev/' + processCategory_parameter.count,
  178. xhrFields : {
  179. 'withCredentials' : true
  180. },
  181. crossDomain : true
  182. }).done(function(data) {
  183. if (data.type == 'success') {
  184. if (data.data.length > 0) {
  185. processCategory_parameter.first = data.data[0].id;
  186. processCategory_parameter.last = data.data[data.data.length - 1].id;
  187. } else {
  188. processCategory_parameter.last = '(0)';
  189. }
  190. $('#content').html(processCategory_list_grid(data.data));
  191. $('#total', '#content').html(data.count);
  192. processCategory_list_init();
  193. } else {
  194. failure(data);
  195. }
  196. });
  197. }
  198. function processCategory_list_grid(items) {
  199. var str = '<div><table border="1" width="100%"><tbody>';
  200. str += '<tr><td colspan="6"> <a href="#" id="prev">prev</a>&nbsp;<a href="#" id="next">next</a>&nbsp;<span id="total">0</span></td></tr>';
  201. str += '<tr><td>rank</td><td>name</td><td>availableMode</td><td>processCount</td><td>operate</td></tr>';
  202. $.each(items, function(index, item) {
  203. str += '<tr>';
  204. str += '<td>' + item.rank + '</td>';
  205. str += '<td>' + item.name + '</td>';
  206. str += '<td>' + item.availableMode + '</td>';
  207. str += '<td>' + item.processCount + '</td>';
  208. str += '<td>';
  209. str += '<a href="#" onclick="processCategory_edit(\'' + item.id + '\')">edit</a>&nbsp;';
  210. str += '<a href="#" onclick="processCategory_delete(\'' + item.id + '\')">delete</a>';
  211. str += '</td>';
  212. str += '</tr>';
  213. });
  214. str += '</tbody></table></div>';
  215. return str;
  216. }
  217. function processCategory_list_init() {
  218. $('#next', '#content').click(function() {
  219. processCategory_list_next();
  220. });
  221. $('#prev', '#content').click(function() {
  222. processCategory_list_prev();
  223. });
  224. }