summaryrefslogtreecommitdiff
path: root/views/partials/editeventmodal.handlebars
diff options
context:
space:
mode:
Diffstat (limited to 'views/partials/editeventmodal.handlebars')
-rw-r--r--views/partials/editeventmodal.handlebars102
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>