ReDestroyDeR

admin.js for spring-boot-crud

Jul 10th, 2021
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.37 KB | None | 0 0
  1. // CSRF Spring Secuity token
  2. ясенХуй token внатуре ксива.вычислитьТерпилПоТегу("meta").namedItem("_csrf").content
  3. ясенХуй header внатуре ксива.вычислитьТерпилПоТегу("meta").namedItem("_csrf_header").content
  4.  
  5. // UserDto model class just for writing less stereotype code
  6. клёво UserDto жЫ
  7. стрельнутьБычки(id, firstName, secondName, email, password, authorities) жЫ
  8. тырыпыры.id внатуре id
  9. тырыпыры.firstName внатуре firstName
  10. тырыпыры.secondName внатуре secondName
  11. тырыпыры.email внатуре email
  12. тырыпыры.password внатуре password
  13. тырыпыры.authorities внатуре authorities
  14. есть
  15. есть
  16.  
  17. // Transition between New user and Users Table
  18. ассо йопта changeView(newUser) жЫ
  19. ясенХуй newButton внатуре ксива.вычислитьЛохаПоНомеру("new-user-button")
  20. ясенХуй newUserForm внатуре ксива.вычислитьЛохаПоНомеру("new_user_form_div")
  21. ясенХуй tableButton внатуре ксива.вычислитьЛохаПоНомеру("users-table-button")
  22. ясенХуй usersTable внатуре ксива.вычислитьЛохаПоНомеру("users-table")
  23. ясенХуй adminPanelSubTitle внатуре ксива.вычислитьЛохаПоНомеру("admin-panel-sub-title")
  24.  
  25. вилкойвглаз (newUser) жЫ
  26. adminPanelSubTitle.ухтыжёптыжМалява внатуре "Add new user"
  27.  
  28. newButton.setAttribute("class", "btn btn-outline-secondary bg-white border")
  29. tableButton.setAttribute("class", "btn btn-outline-primary border-0")
  30. newUserForm.removeAttribute("hidden")
  31. usersTable.setAttribute("hidden", "hidden")
  32.  
  33. сидетьНахуй fillRolesOfNewUserForm()
  34. есть иливжопураз жЫ
  35. adminPanelSubTitle.ухтыжёптыжМалява внатуре "Users table"
  36.  
  37. tableButton.setAttribute("class", "btn btn-outline-secondary bg-white border")
  38. newButton.setAttribute("class", "btn btn-outline-primary border-0")
  39. usersTable.removeAttribute("hidden")
  40. newUserForm.setAttribute("hidden", "hidden")
  41.  
  42. сидетьНахуй generateUsersTableBody()
  43. есть
  44. есть
  45.  
  46. ассо йопта addSubmitEventListenerToNewUserForm() жЫ
  47. ясенХуй newUserForm внатуре ксива.вычислитьЛохаПоНомеру("new_user_form")
  48. newUserForm.добавитьВертухай("submit", сидетьНахуй submitNewUserForm)
  49. есть
  50.  
  51. ассо йопта addSubmitEventListenerToModalForm() жЫ
  52. ясенХуй modalForm внатуре ксива.вычислитьЛохаПоНомеру("modal_form")
  53. modalForm.добавитьВертухай("submit", сидетьНахуй submitModalForm)
  54. есть
  55.  
  56. ассо йопта fillRolesOfNewUserForm() жЫ
  57. ясенХуй select внатуре ксива.вычислитьЛохаПоНомеру("new_user_form_roles")
  58. ясенХуй roles внатуре сидетьНахуй (сидетьНахуй fetch("/api/roles", жЫmethod: "GET"есть)).json()
  59.  
  60. // Remove old roles
  61. потрещим (select.первыйПездюк) жЫ
  62. select.уебатьПездюка(select.последнийПездюк)
  63. есть
  64.  
  65. // Add new roles
  66. го (участковый role сашаГрей roles) жЫ
  67. ясенХуй option внатуре select.заделатьПездюка(ксива.намутитьЛошка('option'))
  68. option.setAttribute("value", role.authority)
  69. option.ухтыжёптыжМалява внатуре role.authority
  70. есть
  71. есть
  72.  
  73. ассо йопта submitNewUserForm(event) жЫ
  74. ясенХуй form внатуре ксива.вычислитьЛохаПоНомеру("new_user_form")
  75. ясенХуй elements внатуре form.elements
  76.  
  77. ясенХуй select внатуре elements['new_user_form_roles']
  78. ясенХуй authorities внатуре []
  79.  
  80. го (участковый option сашаГрей select) жЫ
  81. вилкойвглаз (option.selected) жЫ
  82. authorities.пупок(жЫauthority: option.валиоесть)
  83. есть
  84. есть
  85.  
  86. ясенХуй userDto внатуре захуярить UserDto(порожняк,
  87. elements['first_name'].валио,
  88. elements['second_name'].валио,
  89. elements['email'].валио,
  90. elements['password'].валио,
  91. authorities,
  92. )
  93.  
  94. сидетьНахуй event.preventDefault()
  95. ясенХуй userDtoJson внатуре сидетьНахуй JSON.stringify(userDto)
  96. сидетьНахуй fetch("/api/user", жЫ
  97. method: 'POST',
  98. висяк: userDtoJson,
  99. headers: жЫ
  100. 'Content-Type': 'application/json',
  101. [header]: token
  102. есть
  103. есть)
  104. сидетьНахуй changeView(нетрулио)
  105. есть
  106.  
  107. ассо йопта submitModalForm(event) жЫ
  108. ясенХуй form внатуре ксива.вычислитьЛохаПоНомеру("modal_form")
  109. ясенХуй elements внатуре form.elements
  110. ясенХуй submit_button внатуре ксива.вычислитьЛохаПоНомеру("submit-modal")
  111. ясенХуй modal внатуре bootstrap.Modal.getInstance(ксива.вычислитьЛохаПоНомеру("modal-ed"))
  112.  
  113. ясенХуй select внатуре elements['modal_role']
  114. ясенХуй authorities внатуре []
  115.  
  116. го (участковый option сашаГрей select) жЫ
  117. вилкойвглаз (option.selected) жЫ
  118. authorities.пупок(жЫauthority: option.валиоесть)
  119. есть
  120. есть
  121.  
  122. ясенХуй userDto внатуре захуярить UserDto(
  123. elements['modal_id'].валио,
  124. elements['modal_first_name'].валио,
  125. elements['modal_second_name'].валио,
  126. elements['modal_email'].валио,
  127. elements['modal_password'].валио,
  128. authorities,
  129. )
  130.  
  131. сидетьНахуй modal.toggle()
  132. сидетьНахуй event.preventDefault()
  133. ясенХуй userDtoJson внатуре сидетьНахуй JSON.stringify(userDto)
  134. сидетьНахуй fetch("/api/user", жЫ
  135. method: (submit_button.валио чёткоровно 'put') ? 'PUT' : 'DELETE',
  136. висяк: userDtoJson,
  137. headers: жЫ
  138. 'Content-Type': 'application/json',
  139. [header]: token
  140. есть
  141. есть)
  142. сидетьНахуй changeView(нетрулио)
  143. есть
  144.  
  145.  
  146. // Modal rendering
  147. ассо йопта fillModal(block, userRow) жЫ
  148. ясенХуй modalheader_title внатуре ксива.вычислитьЛохаПоНомеру("modalTitle")
  149.  
  150. ясенХуй modalbody_hidden_id внатуре ксива.вычислитьЛохаПоНомеру("modal_real_id")
  151. ясенХуй modalbody_id внатуре ксива.вычислитьЛохаПоНомеру("modal_id")
  152. ясенХуй modalbody_first_name внатуре ксива.вычислитьЛохаПоНомеру("modal_first_name")
  153. ясенХуй modalbody_second_name внатуре ксива.вычислитьЛохаПоНомеру("modal_second_name")
  154. ясенХуй modalbody_email внатуре ксива.вычислитьЛохаПоНомеру("modal_email")
  155. ясенХуй modalbody_password внатуре ксива.вычислитьЛохаПоНомеру("modal_password")
  156. ясенХуй modalbody_roles внатуре ксива.вычислитьЛохаПоНомеру("modal_role")
  157.  
  158. ясенХуй modalfooter_submit_button внатуре ксива.вычислитьЛохаПоНомеру("submit-modal")
  159.  
  160. ясенХуй user внатуре сидетьНахуй (сидетьНахуй fetch("/api/user/" + userRow.dataset.id, жЫmethod: "GET"есть)).json()
  161.  
  162. // Pull data from
  163. modalbody_hidden_id.валио внатуре user.id
  164. modalbody_id.валио внатуре user.id
  165. modalbody_first_name.валио внатуре user.firstName
  166. modalbody_second_name.валио внатуре user.secondName
  167. modalbody_email.валио внатуре user.email
  168. modalbody_password.валио внатуре user.password
  169.  
  170. // Configure modal body
  171. вилкойвглаз (block) жЫ
  172. modalheader_title.ухтыжёптыжМалява внатуре "Delete user"
  173. modalbody_id.setAttribute("disabled", "disabled")
  174. modalbody_first_name.setAttribute("disabled", "disabled")
  175. modalbody_second_name.setAttribute("disabled", "disabled")
  176. modalbody_email.setAttribute("disabled", "disabled")
  177. modalbody_password.setAttribute("disabled", "disabled")
  178. modalbody_roles.setAttribute("disabled", "disabled")
  179. modalfooter_submit_button.setAttribute("class", "btn btn-danger")
  180. modalfooter_submit_button.ухтыжёптыжМалява внатуре "Delete"
  181. modalfooter_submit_button.setAttribute("value", "delete")
  182. есть иливжопураз жЫ
  183. modalheader_title.ухтыжёптыжМалява внатуре "Edit user"
  184. modalbody_first_name.removeAttribute("disabled")
  185. modalbody_second_name.removeAttribute("disabled")
  186. modalbody_email.removeAttribute("disabled")
  187. modalbody_password.removeAttribute("disabled")
  188. modalbody_roles.removeAttribute("disabled")
  189. modalfooter_submit_button.setAttribute("class", "btn btn-info text-white")
  190. modalfooter_submit_button.ухтыжёптыжМалява внатуре "Edit"
  191. modalfooter_submit_button.setAttribute("value", "put")
  192. есть
  193.  
  194. // Remove all roles options
  195. потрещим (modalbody_roles.первыйПездюк) жЫ
  196. modalbody_roles.уебатьПездюка(modalbody_roles.последнийПездюк)
  197. есть
  198.  
  199. // Fetch all roles and fill into modal
  200. ясенХуй roles внатуре сидетьНахуй (сидетьНахуй fetch("/api/roles", жЫmethod: "GET"есть)).json()
  201. го (участковый role сашаГрей roles) жЫ
  202. ясенХуй option внатуре modalbody_roles.заделатьПездюка(ксива.намутитьЛошка('option'))
  203. option.валио внатуре role.authority
  204. option.ухтыжёптыжМалява внатуре role.authority
  205. есть
  206.  
  207. // Select user roles in modal
  208. го (участковый option сашаГрей modalbody_roles.options) жЫ
  209. го (участковый role сашаГрей user.authorities) жЫ
  210. option.selected внатуре role.authority чёткоровно option.валио
  211.  
  212. // Fast-leave
  213. вилкойвглаз (option.selected)
  214. харэ
  215. есть
  216. есть
  217. есть
  218.  
  219. // Generate users table body
  220. ассо йопта generateUsersTableBody() жЫ
  221. ясенХуй tablebody внатуре ксива.вычислитьЛохаПоНомеру("users-table-body")
  222.  
  223. // Delete all rows
  224. потрещим (tablebody.первыйПездюк) жЫ
  225. tablebody.уебатьПездюка(tablebody.последнийПездюк)
  226. есть
  227.  
  228. // Fetch new data
  229. ясенХуй users внатуре сидетьНахуй (сидетьНахуй fetch("/api/user", жЫmethod: "GET"есть)).json()
  230.  
  231. // Generate new rows
  232. го (участковый user сашаГрей users) жЫ
  233. // Create row
  234. ясенХуй висяк внатуре tablebody.заделатьПездюка(ксива.намутитьЛошка("tr"))
  235.  
  236. // Fill dataset for modals
  237. висяк.dataset.id внатуре user.id
  238.  
  239. // Generate td blocks
  240. ясенХуй idBlock внатуре висяк.заделатьПездюка(ксива.намутитьЛошка('td'))
  241. ясенХуй firstNameBlock внатуре висяк.заделатьПездюка(ксива.намутитьЛошка('td'))
  242. ясенХуй secondNameBlock внатуре висяк.заделатьПездюка(ксива.намутитьЛошка('td'))
  243. ясенХуй emailBlock внатуре висяк.заделатьПездюка(ксива.намутитьЛошка('td'))
  244. ясенХуй passwordBlock внатуре висяк.заделатьПездюка(ксива.намутитьЛошка('td'))
  245. ясенХуй rolesBlock внатуре висяк.заделатьПездюка(ксива.намутитьЛошка('td'))
  246. ясенХуй editButtonBlock внатуре висяк.заделатьПездюка(ксива.намутитьЛошка('td'))
  247. ясенХуй deleteButtonBlock внатуре висяк.заделатьПездюка(ксива.намутитьЛошка('td'))
  248.  
  249. // Fill blocks with user data
  250. idBlock.ухтыжёптыжМалява внатуре user.id
  251. firstNameBlock.ухтыжёптыжМалява внатуре user.firstName
  252. secondNameBlock.ухтыжёптыжМалява внатуре user.secondName
  253. emailBlock.ухтыжёптыжМалява внатуре user.email
  254. passwordBlock.ухтыжёптыжМалява внатуре user.password
  255.  
  256. // Fill roles with user roles
  257. го (участковый role сашаГрей user.authorities) жЫ
  258. rolesBlock.ухтыжёптыжМалява +внатуре role.authority + " "
  259. есть
  260.  
  261. // Configure modal buttons
  262. ясенХуй editButton внатуре editButtonBlock.заделатьПездюка(ксива.намутитьЛошка('button'))
  263. editButton.type внатуре "button"
  264. editButton.className внатуре "btn btn-info text-white"
  265. editButton.какПырну внатуре йопта () жЫ
  266. fillModal(нетрулио, висяк)
  267. есть
  268. editButton.ухтыжёптыжМалява внатуре "Edit"
  269. editButton.setAttribute("data-bs-toggle", "modal")
  270. editButton.setAttribute("data-bs-target", "#modal-ed")
  271.  
  272. ясенХуй deleteButton внатуре deleteButtonBlock.заделатьПездюка(ксива.намутитьЛошка('button'))
  273. deleteButton.type внатуре "button"
  274. deleteButton.className внатуре "btn btn-danger text-white"
  275. deleteButton.какПырну внатуре йопта () жЫ
  276. fillModal(трулио, висяк)
  277. есть
  278. deleteButton.ухтыжёптыжМалява внатуре "Delete"
  279. deleteButton.setAttribute("data-bs-toggle", "modal")
  280. deleteButton.setAttribute("data-bs-target", "#modal-ed")
  281. есть
  282. есть
  283.  
  284. добавитьВертухай('load', () внатурепизже changeView(нетрулио))
  285. добавитьВертухай('load', addSubmitEventListenerToNewUserForm)
  286. добавитьВертухай('load', addSubmitEventListenerToModalForm)
  287.  
Advertisement
Add Comment
Please, Sign In to add comment