admin-remove-tool-form.html 3.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <link rel="import" href="../../bower_components/polymer/polymer.html">
  2. <link rel="import" href="../../bower_components/iron-form/iron-form.html">
  3. <link rel="import" href="../../bower_components/paper-button/paper-button.html">
  4. <link rel="import" href="../../bower_components/paper-input/paper-input.html">
  5. <link rel="import" href="../../bower_components/paper-material/paper-material.html">
  6. <link rel="import" href="../../bower_components/paper-toast/paper-toast.html">
  7. <dom-module id="admin-remove-tool-form">
  8. <template>
  9. <style is="custom-style">
  10. .container {
  11. margin: 16px;
  12. padding: 16px;
  13. background-color: white;
  14. }
  15. .button {
  16. margin-top: 16px;
  17. }
  18. .delete {
  19. color: white;
  20. background-color: var(--paper-yellow-300);
  21. }
  22. .delete[disabled] {
  23. background-color: var(--paper-yellow-100);
  24. }
  25. .cancel {
  26. color: white;
  27. background-color: var(--paper-red-300);
  28. }
  29. </style>
  30. <paper-material id="container" class="container">
  31. <form id="removeToolForm" is="iron-form">
  32. <paper-input id="toolId" label="Tool Id" type="number" required auto-validate></paper-input>
  33. <paper-button id="submitButton" class="button delete" raised disabled>Remove Tool</paper-button>
  34. <paper-button id="cancelButton" class="button cancel" raised>Cancel</paper-button>
  35. </form>
  36. </paper-material>
  37. <paper-toast id="successToast" text="Removed Tool!"></paper-toast>
  38. </template>
  39. <script>
  40. Polymer({
  41. is: 'admin-remove-tool-form',
  42. properties: {},
  43. //Polymer lifecycle method when element is attached to the DOM
  44. attached: function () {
  45. var me = this;
  46. var removeToolForm = me.$.removeToolForm;
  47. var toolId = me.$.toolId;
  48. var toolName = me.$.toolName;
  49. var submitButton = me.$.submitButton;
  50. var cancelButton = me.$.cancelButton;
  51. var successToast = me.$.successToast;
  52. successToast.fitInto = me.parentNode;
  53. submitButton.addEventListener('tap', function () {
  54. removeToolForm.submit();
  55. });
  56. removeToolForm.addEventListener('change', function (event) {
  57. // Validate the entire form to see if we should enable the `Submit` button.
  58. submitButton.disabled = !removeToolForm.validate();
  59. });
  60. //Event that fires before the form is submitted. Adds the inputs to the body of the AJAX request.
  61. removeToolForm.addEventListener('iron-form-presubmit', function (event) {
  62. this.request.method = "DELETE";
  63. this.request.url = "/api/tool/guarded/" + toolId.value;
  64. this.request.params = {
  65. token: sessionStorage.getItem('token'),
  66. };
  67. });
  68. removeToolForm.addEventListener('iron-form-error', function (event) {
  69. });
  70. //Event the fires when a response is received
  71. removeToolForm.addEventListener('iron-form-response', function (event) {
  72. var response = event.detail.response;
  73. if (response.deleted == true)
  74. successToast.open();
  75. });
  76. }
  77. });
  78. </script>
  79. </dom-module>