Forum Post: RE: Sending array objects in JSDO back to OpenEdge Rest Server

  • Thread starter Thread starter Thomas Mercer-Hursh
  • Start date Start date
Status
Not open for further replies.
T

Thomas Mercer-Hursh

Guest
$t.SubmitChecklist = $t.createClass(null, { init: function(requestOptions) { this.__requestOptions = $.extend({}, requestOptions); }, process: function(settings) { if (this.__requestOptions.echo) { settings.success(this.__requestOptions.echo); } else { console.log('This will start the checklist submission process'); var taskNo = settings.data.taskNo; var longitude = settings.data.longitude; var latitude = settings.data.latitude; var dateTime = new Date(settings.data.dateTime); var questionCount = parseInt(settings.data.questionCount); console.log('Setting values are: ' + taskNo + '_' + questionCount + '_' + longitude + '_' + latitude + '_' + dateTime); var allAnswers = []; var questionName = 'question'; var answerName = 'answer'; var svc_jsdo = MCBDriversService_BECheckQuestions_JSDO.jsdo; console.log(svc_jsdo); for (var i = 0; i questionCount; i++) { var questionData = JSON.parse(localStorage.getItem(questionName + i)); var answerData = JSON.parse(localStorage.getItem(answerName + i)); questionData.ResponseValue = answerData.ResponseValue; questionData.IssueSeverity = answerData.IssueSeverity; questionData.Comments = answerData.Comments; questionData.PhotoImage = answerData.PhotoImage1; questionData.Longitude = longitude; questionData.Latitude = latitude; questionData.ConfDateTime = dateTime; console.log(questionData); svc_jsdo.add(questionData); } /* Before sending the request, save it away so we execute * only the function for this DataSource */ var beforeSaveChangesFn = function(jsdo, request) { jsdo.unsubscribe('beforeSaveChanges', beforeSaveChangesFn); settings.request = request; }; var afterSaveChangesFn = function(jsdo, success, request) { /* If not for the same request saved away on the before * saveChanges fn, just return */ if (request != settings.request) return; /* Unsubscribe so this fn doesn't execute for some other * Tiggr.DataSource event */ jsdo.unsubscribe('afterSaveChanges', afterSaveChangesFn); var cStatus = 'success'; if (success || (request.xhr.status = 200 && request.xhr.status 300)) { settings.success(request.response); } else { var cError = normalizeError(request); settings.error(request.xhr, cError); cStatus = cError; } settings.complete(request.xhr, cStatus); }; svc_jsdo.subscribe('beforeSaveChanges', beforeSaveChangesFn); svc_jsdo.subscribe('afterSaveChanges', afterSaveChangesFn); svc_jsdo.saveChanges(); } } }); There is lots to be said for using the code insert at the right of the second line of icons under Formatted

Continue reading...
 
Status
Not open for further replies.
Back
Top