Skip to content

Commit

Permalink
Added callback to tina4helper.js
Browse files Browse the repository at this point in the history
  • Loading branch information
andrevanzuydam committed Nov 17, 2023
1 parent 6135eb0 commit dec75f9
Showing 1 changed file with 28 additions and 10 deletions.
38 changes: 28 additions & 10 deletions src/public/js/tina4helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,16 +126,22 @@ function handleHtmlData(data, targetElement) {
* Loads a page to a target html element
* @param loadURL
* @param targetElement
* @callback
*/
function loadPage(loadURL, targetElement) {
function loadPage(loadURL, targetElement, callback = null) {
if (targetElement === undefined) targetElement = 'content';
console.log('LOADING PAGE', loadURL);
sendRequest(loadURL, null, "GET", function(data) {
let processedHTML = '';
if (document.getElementById(targetElement) !== null) {
handleHtmlData (data, targetElement);
processedHTML = (data, targetElement);
} else {
console.log('TINA4 - define targetElement for loadPage', data);
}

if (callback) {
callback(processedHTML);
}
});
}

Expand All @@ -144,24 +150,30 @@ function loadPage(loadURL, targetElement) {
* @param action
* @param loadURL
* @param targetElement
* @param callback
*/
function showForm(action, loadURL, targetElement) {
function showForm(action, loadURL, targetElement, callback = null) {
if (targetElement === undefined) targetElement = 'form';

if (action === 'create') action = 'GET';
if (action === 'edit') action = 'GET';
if (action === 'delete') action = 'DELETE';

sendRequest(loadURL, null, action, function(data) {
let processedHTML = '';
if (data.message !== undefined) {
handleHtmlData ((data.message), targetElement);
processedHTML = handleHtmlData ((data.message), targetElement);
} else {
if (document.getElementById(targetElement) !== null) {
handleHtmlData (data, targetElement);
processedHTML = handleHtmlData (data, targetElement);
} else {
console.log('TINA4 - define targetElement for showForm', data);
}
}

if (callback) {
callback(processedHTML);
}
});
}

Expand All @@ -171,17 +183,22 @@ function showForm(action, loadURL, targetElement) {
* @param data
* @param targetElement
*/
function postUrl(url, data, targetElement) {
function postUrl(url, data, targetElement, callback= null) {
sendRequest(url, data, 'POST', function(data) {
let processedHTML = '';
if (data.message !== undefined) {
handleHtmlData ((data.message), targetElement);
processedHTML = handleHtmlData ((data.message), targetElement);
} else {
if (document.getElementById(targetElement) !== null) {
handleHtmlData (data, targetElement);
processedHTML = handleHtmlData (data, targetElement);
} else {
console.log('TINA4 - define targetElement for postUrl', data);
}
}

if (callback) {
callback(processedHTML)
}
});
}

Expand All @@ -190,13 +207,14 @@ function postUrl(url, data, targetElement) {
* @param formName
* @param targetURL
* @param targetElement
* @param callback - optional
*/
function saveForm(formName, targetURL, targetElement) {
function saveForm(formName, targetURL, targetElement, callback = null) {
if (targetElement === undefined) targetElement = 'message';
//compile a data model
let data = getFormData(formName);

postUrl(targetURL, data, targetElement);
postUrl(targetURL, data, targetElement, callback);
}

/**
Expand Down

0 comments on commit dec75f9

Please sign in to comment.