diff --git a/app/javascript/retrospring/features/inbox/delete.ts b/app/javascript/retrospring/features/inbox/delete.ts index 4f698656..6595af0b 100644 --- a/app/javascript/retrospring/features/inbox/delete.ts +++ b/app/javascript/retrospring/features/inbox/delete.ts @@ -1,4 +1,4 @@ -import Rails from '@rails/ujs'; +import { post } from '@rails/request.js'; import swal from 'sweetalert'; import I18n from 'retrospring/i18n'; @@ -42,22 +42,20 @@ export function deleteAllQuestionsHandler(event: Event): void { if (returnValue === false) { return; } - - Rails.ajax({ - url: '/ajax/delete_all_inbox', - type: 'POST', - dataType: 'json', - success: (data) => { + + post('/ajax/delete_all_inbox') + .then(async response => { + const data = await response.json; + if (!data.success) return false; updateDeleteButton(false); document.querySelector('#entries').innerHTML = 'Nothing to see here!'; - }, - error: (data, status, xhr) => { - console.log(data, status, xhr); + }) + .catch(err => { + console.log(err); showErrorNotification(I18n.translate('frontend.error.message')); - } - }); + }); }); } @@ -76,21 +74,19 @@ export function deleteAllAuthorQuestionsHandler(event: Event): void { closeOnConfirm: true }, (returnValue) => { if (returnValue === null) return false; - - Rails.ajax({ - url: `/ajax/delete_all_inbox/${location.pathname.split('/')[2]}`, - type: 'POST', - dataType: 'json', - success: (data) => { + + post(`/ajax/delete_all_inbox/${location.pathname.split('/')[2]}`) + .then(async response => { + const data = await response.json; + if (!data.success) return false; updateDeleteButton(false); document.querySelector('#entries').innerHTML = 'Nothing to see here!'; - }, - error: (data, status, xhr) => { - console.log(data, status, xhr); + }) + .catch(err => { + console.log(err); showErrorNotification(I18n.translate('frontend.error.message')); - } - }); + }); }); } \ No newline at end of file diff --git a/app/javascript/retrospring/features/inbox/entry/answer.ts b/app/javascript/retrospring/features/inbox/entry/answer.ts index 38105735..14b6b25a 100644 --- a/app/javascript/retrospring/features/inbox/entry/answer.ts +++ b/app/javascript/retrospring/features/inbox/entry/answer.ts @@ -1,4 +1,4 @@ -import Rails from '@rails/ujs'; +import { post } from '@rails/request.js'; import { updateDeleteButton } from '../delete'; import { showNotification, showErrorNotification } from 'utilities/notifications'; @@ -22,11 +22,13 @@ export function answerEntryHandler(event: Event): void { inbox: 'true' }; - Rails.ajax({ - url: '/ajax/answer', - type: 'POST', - data: new URLSearchParams(data).toString(), - success: (data) => { + post('/ajax/answer', { + body: data, + contentType: 'application/json' + }) + .then(async response => { + const data = await response.json; + if (!data.success) { showErrorNotification(data.message); element.disabled = false; @@ -35,12 +37,11 @@ export function answerEntryHandler(event: Event): void { updateDeleteButton(false); showNotification(data.message); (inboxEntry as HTMLElement).remove(); - }, - error: (data, status, xhr) => { - console.log(data, status, xhr); + }) + .catch(err => { + console.log(err); element.disabled = false; - } - }); + }); } export function answerEntryInputHandler(event: KeyboardEvent): void { diff --git a/app/javascript/retrospring/features/inbox/entry/blockAnon.ts b/app/javascript/retrospring/features/inbox/entry/blockAnon.ts index 185489a7..f0d184b7 100644 --- a/app/javascript/retrospring/features/inbox/entry/blockAnon.ts +++ b/app/javascript/retrospring/features/inbox/entry/blockAnon.ts @@ -1,4 +1,4 @@ -import Rails from '@rails/ujs'; +import { post } from '@rails/request.js'; import { showErrorNotification, showNotification } from "utilities/notifications"; import I18n from "retrospring/i18n"; @@ -7,24 +7,25 @@ export function blockAnonEventHandler(event: Event): void { const element: HTMLAnchorElement = event.target as HTMLAnchorElement; const data = { - question: element.getAttribute('data-q-id'), + question: element.getAttribute('data-q-id'), }; - Rails.ajax({ - url: '/ajax/block_anon', - type: 'POST', - data: new URLSearchParams(data).toString(), - success: (data) => { - if (!data.success) return false; - const inboxEntry: Node = element.closest('.inbox-entry'); + post('/ajax/block_anon', { + body: data, + contentType: 'application/json' + }) + .then(async response => { + const data = await response.json; - showNotification(data.message); + if (!data.success) return false; + const inboxEntry: Node = element.closest('.inbox-entry'); - (inboxEntry as HTMLElement).remove(); - }, - error: (data, status, xhr) => { - console.log(data, status, xhr); - showErrorNotification(I18n.translate('frontend.error.message')); - } - }); + showNotification(data.message); + + (inboxEntry as HTMLElement).remove(); + }) + .catch(err => { + console.log(err); + showErrorNotification(I18n.translate('frontend.error.message')); + }); } \ No newline at end of file diff --git a/app/javascript/retrospring/features/inbox/entry/delete.ts b/app/javascript/retrospring/features/inbox/entry/delete.ts index 39927050..a03b3914 100644 --- a/app/javascript/retrospring/features/inbox/entry/delete.ts +++ b/app/javascript/retrospring/features/inbox/entry/delete.ts @@ -1,4 +1,4 @@ -import Rails from '@rails/ujs'; +import { post } from '@rails/request.js'; import swal from 'sweetalert'; import I18n from 'retrospring/i18n'; @@ -27,12 +27,14 @@ export function deleteEntryHandler(event: Event): void { element.disabled = false; return; } - - Rails.ajax({ - url: '/ajax/delete_inbox', - type: 'POST', - data: new URLSearchParams(data).toString(), - success: (data) => { + + post('/ajax/delete_inbox', { + body: data, + contentType: 'application/json' + }) + .then(async response => { + const data = await response.json; + if (!data.success) return false; const inboxEntry: Node = element.closest('.inbox-entry'); @@ -40,11 +42,10 @@ export function deleteEntryHandler(event: Event): void { showNotification(data.message); (inboxEntry as HTMLElement).remove(); - }, - error: (data, status, xhr) => { - console.log(data, status, xhr); + }) + .catch(err => { + console.log(err); showErrorNotification(I18n.translate('frontend.error.message')); - } - }); + }); }) } \ No newline at end of file diff --git a/app/javascript/retrospring/features/inbox/generate.ts b/app/javascript/retrospring/features/inbox/generate.ts index 5cdd5e5c..abbc4d83 100644 --- a/app/javascript/retrospring/features/inbox/generate.ts +++ b/app/javascript/retrospring/features/inbox/generate.ts @@ -1,23 +1,21 @@ -import Rails from '@rails/ujs'; +import { post } from '@rails/request.js'; import I18n from 'retrospring/i18n'; import { updateDeleteButton } from './delete'; import { showErrorNotification } from 'utilities/notifications'; export function generateQuestionHandler(): void { - Rails.ajax({ - url: '/ajax/generate_question', - type: 'POST', - dataType: 'json', - success: (data) => { + post('/ajax/generate_question') + .then(async response => { + const data = await response.json; + if (!data.success) return false; document.querySelector('#entries').insertAdjacentHTML('afterbegin', data.render); updateDeleteButton(); - }, - error: (data, status, xhr) => { - console.log(data, status, xhr); - showErrorNotification(I18n.translate('frontend.error.message')); - } - }); + }) + .catch(err => { + console.log(err); + showErrorNotification(I18n.translate('frontend.error.message')); + }); } \ No newline at end of file