diff --git a/src/opnsense/www/js/opnsense_ui.js b/src/opnsense/www/js/opnsense_ui.js new file mode 100644 index 000000000..908a17ca2 --- /dev/null +++ b/src/opnsense/www/js/opnsense_ui.js @@ -0,0 +1,37 @@ +/** + * User interface shared components, requires opnsense.js for supporting functions. + */ + +/** + * save form to server + * @param url endpoint url + * @param formid parent id to grep input data from + */ +function saveFormToEndpoint(url,formid) { + data = getFormData(formid); + ajaxCall(url=url,sendData=data,callback=function(data,status){ + if ( status == "success") { + // if there are validation issues, update our screen and show a dialog. + if (data['validations'] != undefined) { + // update field validation + handleFormValidation(formid,data['validations']); + BootstrapDialog.show({ + type:BootstrapDialog.TYPE_WARNING, + title: 'Input validation', + message: 'Please correct validation errors in form' + }); + } + } else { + // error handling, show internal errors + // Normally the form should only return validation issues, if other things go wrong throw an error. + BootstrapDialog.show({ + type: BootstrapDialog.TYPE_ERROR, + title: 'save', + message: 'Unable to save data, an internal error occurred.
' + + 'Response from server was:
'+JSON.stringify(data)+'' + }); + } + + }); + +} \ No newline at end of file