diff options
| author | Raphael Kabo <raphaelkabo@hey.com> | 2023-10-08 12:11:36 +0100 | 
|---|---|---|
| committer | Raphael Kabo <raphaelkabo@hey.com> | 2023-10-08 12:11:36 +0100 | 
| commit | 6b220e094f215c488eb5102e25506f5b3d371245 (patch) | |
| tree | be0abbbf7a0c881d61e6375626f197c4ae124001 /views/partials/editeventmodal.handlebars | |
| parent | b8e424a8602b586bbf346cd27171ede570a54973 (diff) | |
Refactor: event group form and API, extract JS
Diffstat (limited to 'views/partials/editeventmodal.handlebars')
| -rw-r--r-- | views/partials/editeventmodal.handlebars | 102 | 
1 files changed, 1 insertions, 101 deletions
diff --git a/views/partials/editeventmodal.handlebars b/views/partials/editeventmodal.handlebars index 2572cbb..a36cd98 100644 --- a/views/partials/editeventmodal.handlebars +++ b/views/partials/editeventmodal.handlebars @@ -46,104 +46,4 @@  </script>  <script type="text/javascript" src="/js/generate-timezones.js"></script> - -<script> -  $(document).ready(function () { -    $.uploadPreview({ -      input_field: "#image-upload", -      preview_box: "#image-preview", -      label_field: "#image-label", -      label_default: "Choose file", -      label_selected: "Change file", -      no_label: false -    }); -    autosize($('textarea')); -    $("#image-preview").css("background-image", "url('/events/{{eventData.image}}')"); -    $("#image-preview").css("background-size", "cover"); -    $("#image-preview").css("background-position", "center center"); -    $("#timezone").val('{{eventData.timezone}}').trigger('change'); -  }); - -  function editEventForm() { -    return { -      data: { -        eventName: `{{{eventData.name}}}`, -        eventLocation: `{{{ eventData.location }}}`, -        eventStart: `{{{ parsedStartForDateInput }}}`, -        eventEnd: `{{{ parsedEndForDateInput }}}`, -        timezone: `{{{ eventData.timezone }}}`, -        eventDescription: `{{{ eventData.description }}}`, -        eventURL: `{{{ eventData.url }}}`, -        hostName: `{{{ eventData.hostName }}}`, -        creatorEmail: `{{{ eventData.creatorEmail }}}`, -        eventGroupID: `{{{ eventData.eventGroupID }}}`, -        eventGroupEditToken: `{{{ eventData.eventGroupEditToken }}}`, -        interactionCheckbox: {{{ eventData.usersCanComment }}}, -        joinCheckbox: {{{ eventData.usersCanAttend }}}, -        maxAttendeesCheckbox: {{#if eventData.maxAttendees}}true{{else}}false{{/if}}, -        maxAttendees: `{{{ eventData.maxAttendees }}}`, -      }, -      errors: [], -      submitting: false, -      init() { -        // Set up Select2 -        this.select2 = $(this.$refs.timezone).select2(); -        this.select2.on("select2:select", (event) => { -          this.data.timezone = event.target.value; -        }); -        this.data.timezone = this.select2.val(); -        /* Set up checkboxes */ -        this.data.eventGroupCheckbox = {{#if eventData.eventGroupID}}true{{else}}false{{/if}}; -        this.data.interactionCheckbox = {{eventData.usersCanComment}}; -        this.data.joinCheckbox = {{eventData.usersCanAttend}}; -        this.data.maxAttendeesCheckbox = {{#if eventData.maxAttendees}}true{{else}}false{{/if}}; -      }, -      async submitForm() { -        this.submitting = true; -        this.errors = []; -        const formData = new FormData(); -        for (const key in this.data) { -          if (this.data.hasOwnProperty(key)) { -            formData.append(key, this.data[key]); -          } -        } -        formData.append("imageUpload", this.$refs.eventImageUpload.files[0]); -        formData.append("editToken", '{{eventData.editToken}}'); -        try { -          const response = await fetch("/event/{{eventData.id}}", { -            method: "PUT", -            body: formData, -          }); -          this.submitting = false; -          if (!response.ok) { -            if (response.status !== 400) { -              this.errors = [ -                { -                  message: "An unexpected error has occurred. Please try again later.", -                } -              ]; -              return; -            } -            const json = await response.json(); -            this.errors = json.errors; -            // Set Bootstrap validation classes using 'field' property -            $("input, textarea").removeClass("is-invalid"); -            this.errors.forEach((error) => { -              $(`#${error.field}`).addClass("is-invalid"); -            }); -            return; -          } -          window.location.reload(); -        } catch (error) { -          console.log(error); -          this.errors = [ -            { -              message: "An unexpected error has occurred. Please try again later.", -            } -          ]; -          this.submitting = false; -        } -      }, -    } -  } -</script>
\ No newline at end of file +<script type="text/javascript" src="/js/modules/event-edit.js"></script>  | 
