/
Javascript Examples
Javascript Examples
Search Google Map
$.njDialerPlugin.doSearchMap = function() { var pcode = $.njDialerPlugin.getFieldValue("Appointment_Postcode"); var suburb = $.njDialerPlugin.getFieldValue("Appointment_Suburb"); if (pcode.length > 0) $('#postcodeframe').attr('src',"https://www.google.com/maps/embed/v1/search?key=AIzaSyAoSLuzVRogAohSdgrUSBgM4aWe9j3puPY&q=Australia," + pcode); else $('#postcodeframe').attr('src',"https://www.google.com/maps/embed/v1/search?key=AIzaSyAoSLuzVRogAohSdgrUSBgM4aWe9j3puPY&q=Australia," + suburb); };
Load google maps api
/** * Load the google maps api */ $.njDialerPlugin.loadGoogleApiScript = function() { var googleApiKey = "AIzaSyCjs7zt2OknZhQ_dQ8LVwd2lot9TghdkZs"; // make certain our custom location field is cleared before we start. $.njDialerPlugin.location = null; var googleApiScript = "https://maps.googleapis.com/maps/api/js?key=" + googleApiKey + "&libraries=places" var loaded = true; try { google === undefined; } catch(e) { loaded = false; } if (!loaded) { $.getScript( googleApiScript ) .done(function( script, textStatus ) { $.njDialerPlugin.initMap(); } ); } else $.njDialerPlugin.initMap(); }
Populate Google address
/** * Take the returned Place and populate our address fields. */ $.njDialerPlugin.fillInAddress = function() { // Get the place details from the autocomplete object. debugger; var place = autocomplete.getPlace(); if (place == null || place == undefined) return; var streetNo = ""; var streetName=""; // Get each component of the address from the place details // and fill the corresponding field on the form. for (var i = 0; i < place.address_components.length; i++) { var addressType = place.address_components[i].types[0]; switch (addressType) { case "street_number": streetNo = place.address_components[i].long_name; break; case "route": streetName = place.address_components[i].long_name; break; case "locality": $.njDialerPlugin.setFieldValueByName("Appointment_Suburb", place.address_components[i].long_name); break; // case "administrative_area_level_2": // $.njDialerPlugin.setFieldValueByName("", place.address_components[i].long_name); // break; // case "administrative_area_level_1": // $.njDialerPlugin.setFieldValueByName("", place.address_components[i].long_name); // break; case "postal_code": $.njDialerPlugin.setFieldValueByName("Appointment_Postcode", place.address_components[i].long_name); break; } } $.njDialerPlugin.setFieldValueByName("Appointment_Street", streetNo + " " + streetName); geocodePlaceId(place.place_id); } $.njDialerPlugin.initMap = function() { var searchField = document.getElementById('addressSearchField'); var options = { componentRestrictions: {country: 'au'}, zoom: 15, center: {lat: -37.808751, lng: 144.992133} }; autocomplete = new google.maps.places.Autocomplete(searchField, options); autocomplete.addListener('place_changed', $.njDialerPlugin.fillInAddress); }; function geocodePlaceId(placeId) { var geocoder = new google.maps.Geocoder(); geocoder.geocode({'placeId': placeId}, function(results, status) { if (status === 'OK') { $.njDialerPlugin.location = results[0].geometry.location; } else { alert('Geocoding was not successful for the following reason: ' + status); } }); }
Change Next Page transition
$.njDialerPlugin.getPage('${NjWizardPageName}').onPageNext = function(page,defaultNextPage) { var nextPage = defaultNextPage; var ambulanceReferral = $.njDialerPlugin.getFieldValue("Referred_By_Ambulance_Victoria"); if (ambulanceReferral == true) nextPage = $.njDialerPlugin.getPage("Triage"); return nextPage; };
Bind a button
$.njDialerPlugin.getPage('${NjWizardPageName}').onPageEntry = function(page) { try { $("#btnSearchMap").unbind('click'); $('#btnSearchMap').click(function() { try { // add your action here. $.njDialerPlugin.doSearchMap(); } catch(e) { alert(e); } }); } catch (e) { alert(e); } };
Check a Fields Length
$.njDialerPlugin.maxFieldLength = function (label, fieldName, maxLength) { var valid = true; var value = $.njDialerPlugin.getFieldValue(fieldName); if (value != undefined && value != null) { if (value.length > maxLength) { valid = false; alert("The field " + label + " is too long. Max length is " + maxLength); } } return valid; };
Medicare Validation
$.njDialerPlugin.medicareValidator = function (input, validateWithIrn) { if (!input) { return false; } var medicareNumber; var pattern; var length; var matches; var base; var checkDigit; var total; var multipliers; var isValid = true; pattern = /^(\d{8})(\d)/; medicareNumber = input.toString().replace(/ /g, ''); length = validateWithIrn ? 11 : 10; if (medicareNumber.length === length) { matches = pattern.exec(medicareNumber); if (matches) { base = matches[1]; checkDigit = matches[2]; total = 0; multipliers = [1, 3, 7, 9, 1, 3, 7, 9]; for (var i = 0; i < multipliers.length; i++) { total += base[i] * multipliers[i]; } isValid = (total % 10) === Number(checkDigit); } else { isValid = false; } } else { isValid = false; } return isValid; };
Validate Medicare Expiry
$.njDialerPlugin.validMedicareExpiry = function (label, fieldName, patientNo) { var valid = true; var expiry = $.njDialerPlugin.getFieldValue(fieldName).trim(); var cardType = $.njDialerPlugin.getFieldValue("CardType_Patient_" + patientNo); if (cardType === 'Medicare') { var expiryPattern = /^(0[1-9]|1[0-2])\/\d{4}$/; if (!expiryPattern.test(expiry)) { alert("The " + label + " format is invalid. (mm/yyyy) expected"); valid = false; } } return valid; }
Calculate Someones age
$.njDialerPlugin.calculateAge = function(patientNo) { var dateOfBirth = $.njDialerPlugin.getFieldValue("Date_of_Birth_Patient_" + patientNo); try { dateOfBirth = dateOfBirth.trim(); if (dateOfBirth.length > 0) { var birthday = $.njDialerPlugin.parseDateDDMMYYY(dateOfBirth); if (birthday !== null) { var ageDifMs = Date.now() - birthday.getTime(); var ageDate = new Date(ageDifMs); // miliseconds from epoch var age = Math.abs(ageDate.getUTCFullYear() - 1970); $.njDialerPlugin.setFieldValueByName("Age_Patient_" + patientNo, age); } else { alert("Invalid Date Of Birth: " + dateOfBirth + ". Expected dd/mm/yyyy"); } } } catch(e) { alert("Invalid Date Of Birth: " + dateOfBirth); } };
Parse a date
/** * Takes a date string and returns a date object * The string must be of the format yyyy/mm/dd * If the string is not a valid format then null is returned */ $.njDialerPlugin.parseDate = function(stringDate) { var date = null; try { if (stringDate != null) { stringDate = stringDate.trim(); if (stringDate.length == 10) { // validate year as 4 digits, month as 01-12, and day as 01-31 var dateParts = stringDate.match (/^(\d{4})\/(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01])$/); if (dateParts) { // make a date date = new Date (+dateParts[1], +dateParts[2] - 1, +dateParts[3]); // check if month stayed the same (ie that day number is valid) if (date.getMonth() !== +dateParts[2] - 1) date = null; } } } } catch(e) { } return date; }
Parse a date
/** * Takes a date string and returns a date object * The string must be of the format yyyy/mm/dd * If the string is not a valid format then null is returned */ $.njDialerPlugin.parseDateDDMMYYY = function(stringDate) { var date = null; try { if (stringDate != null) { stringDate = stringDate.trim(); if (stringDate.length == 10) { // validate year as 4 digits, month as 01-12, and day as 01-31 var dateParts = stringDate.match (/^(0[1-9]|[12]\d|3[01])\/(0[1-9]|1[0-2])\/(\d{4})$/); if (dateParts) { // make a date date = new Date (+dateParts[3], +dateParts[2] - 1, +dateParts[1]); // check if month stayed the same (ie that day number is valid) if (date.getMonth() !== +dateParts[2] - 1) date = null; } } } } catch(e) { } return date; }
Parse Date
$.njDialerPlugin.parseDateDDMMYYYHHMM = function (dateString) { var date = null; if (dateString.length == 19) { var year, month, day, hour, minute, second; var dateReg = /(\d{1,2})\/(\d{1,2})\/(\d{4})\s*(\d{1,2}):(\d{2})\s*(am|pm)/; var result = dateReg.exec(dateString); if (result) { year = +result[3]; month = +result[2] - 1; day = +result[1]; hour = +result[4]; minute = +result[5]; if (result[6] === 'pm' && hour !== 12) { hour += 12; } date = new Date(year, month, day, hour, minute); } } return date; }
Parse datetime
/** * Takes a date/time string and returns a date object * The string must be of the format yyyy/mm/dd hh:mm * If the string is not a valid format then null is returned */ $.njDialerPlugin.parseDateTime = function(stringDate) { var date = null; try { if (stringDate != null) { stringDate = stringDate.trim(); if (stringDate.length == 16) { date = new Date(Date.parse(stringDate, "yyyy/MM/dd HH:mm")); if (date !== null && date == "Invalid Date") date = null; } } } catch(e) { } return date; }
Parse DAteHHMM
$.njDialerPlugin.parseDateHHMM = function (dateString) { var date = null; if (dateString.length == 8 || dateString.length == 7) { var year, month, day, hour, minute, second; var dateReg = /(\d{1,2}):(\d{2})\s*(am|pm)/; var result = dateReg.exec(dateString); if (result) { hour = +result[1]; minute = +result[2]; if (result[3] === 'pm' && hour !== 12) { hour += 12; } var today = new Date(); date = new Date(today.getFullYear(), today.getMonth(), today.getDate(), hour, minute); } } return date; }
Validate Email
/* * Returns true if the email address is valid */ $.njDialerPlugin.validateEmail = function(email) { var valid = true; email = email.trim(); if (email.length > 0) { var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; var valid = re.test(email); if (!valid) { alert("The entered email address is not valid: " + email); } } return valid; }
Format Dates
$.njDialerPlugin.formatDDMMYYYHHMM = function(date) { var hours = date.getHours(); var minutes = date.getMinutes(); var ampm = hours >= 12 ? 'pm' : 'am'; hours = hours % 12; hours = hours ? hours : 12; // the hour '0' should be '12' minutes = minutes < 10 ? '0'+minutes : minutes; var strTime = hours + ':' + minutes + ' ' + ampm; return date.getDate() + "/" + (date.getMonth()+1) + "/" + date.getFullYear() + " " + strTime; } $.njDialerPlugin.formatDate = function (date) { var hours = date.getHours(); hours = hours < 10 ? '0'+hours : hours; var minutes = date.getMinutes(); minutes = minutes < 10 ? '0'+minutes : minutes; var strTime = hours + ':' + minutes; var datestring = $.datepicker.formatDate("yy/mm/dd", date); return datestring + " " + strTime; }
Validate Dates
$.njDialerPlugin.validateDate = function (label, fieldName) { var valid = true; var date = $.njDialerPlugin.parseDate($.njDialerPlugin.getFieldValue(fieldName)); if (date == null) { alert("The " + label + " date format is invalid. (yyyy/mm/dd)"); valid = false; } return valid; }
Validate Phone No.
var contactNo = $.njDialerPlugin.getFieldValue("Contact_Preferred_Phone_Number"); // remove internal whitespace contactNo = contactNo.replace(/\s+/g, '').trim(); if (contactNo.length == 0) { valid = false; alert("You must enter the Preferred Contact Number."); } if (contactNo.length > 0 && contactNo.length != 10) { valid = false; alert("You must enter a full 10 digit phone no. e.g. 03 8320 8100"); }
Related content
05.5. Javascript Editor
05.5. Javascript Editor
More like this
21.0 Get Call Record List
21.0 Get Call Record List
Read with this
Google Calendar Integration
Google Calendar Integration
More like this
4.0 Example
4.0 Example
More like this
Populating Fields
Populating Fields
More like this
Answerbar DID Mappings
Answerbar DID Mappings
More like this