summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/wordpress-mobile-pack/admin/js/UI.Modules/Settings/WMP_APP_SETTINGS.js')
-rwxr-xr-xplugins/wordpress-mobile-pack/admin/js/UI.Modules/Settings/WMP_APP_SETTINGS.js601
1 files changed, 305 insertions, 296 deletions
diff --git a/plugins/wordpress-mobile-pack/admin/js/UI.Modules/Settings/WMP_APP_SETTINGS.js b/plugins/wordpress-mobile-pack/admin/js/UI.Modules/Settings/WMP_APP_SETTINGS.js
index 86bd2043..67a1833e 100755
--- a/plugins/wordpress-mobile-pack/admin/js/UI.Modules/Settings/WMP_APP_SETTINGS.js
+++ b/plugins/wordpress-mobile-pack/admin/js/UI.Modules/Settings/WMP_APP_SETTINGS.js
@@ -1,296 +1,305 @@
-/*****************************************************************************************************/
-/* */
-/* 'APP SETTINGS' */
-/* */
-/*****************************************************************************************************/
-
-function WMP_APP_SETTINGS(){
-
- var JSObject = this;
-
- this.type = "wmp_editsettings";
-
- this.form;
- this.DOMDoc;
-
- this.send_btn;
-
-
- /*****************************************************************************************************/
- /* */
- /* FUNCTION INIT - called from WMPJSInterface */
- /* */
- /*****************************************************************************************************/
- this.init = function(){
-
- // save a reference to WMPJSInterface Object
- WMPJSInterface = window.parent.WMPJSInterface;
-
- // save a reference to "SEND" Button
- this.send_btn = jQuery('#'+this.type+'_send_btn',this.DOMDoc).get(0);
-
- // save a reference to the FORM and remove the default submit action
- this.form = this.DOMDoc.getElementById(this.type+'_form');
-
- // add actions to send, cancel, ... buttons
- this.addButtonsActions();
-
- if (this.form == null){
- return;
- }
-
- // custom validation for FORM's inputs
- this.initValidation();
- }
-
-
-
-
- /*****************************************************************************************************/
- /* */
- /* FUNCTION INIT VALIDATION */
- /* */
- /*****************************************************************************************************/
- this.initValidation = function(){
-
- /*******************************************************/
- /* VALIDATION RULES */
- /*******************************************************/
-
- jQuery.validator.addMethod( "regex",function(value, element, regexp) {
-
- var re = new RegExp(regexp,"i");
-
- return this.optional(element) || re.test(value);
- },
- "Your code is invalid"
- );
-
- // this is the object that handles the form validations
- this.validator = jQuery("#"+this.form.id, this.DOMDoc).validate({
-
- rules: {
- wmp_editsettings_ganalyticsid: {
- regex: '^ua-\\d{4,9}-\\d{1,4}$'
- }
- },
-
- // the errorPlacement has to take the table layout into account
- // all the errors must be handled by containers/divs with custom ids: Ex. "error_fullname_container"
- errorPlacement: function(error, element) {
- var split_name = element[0].id.split("_");
- var id = (split_name.length > 1) ? split_name[ split_name.length - 1] : split_name[0];
- var errorContainer = jQuery("#error_"+id+"_container",JSObject.DOMDoc);
- error.appendTo( errorContainer );
- },
-
- errorElement: 'span'
- });
-
- /*******************************************************/
- /* CHECKBOX EVENT */
- /*******************************************************/
-
- jQuery("#wmp_displaywebsitelink_check",JSObject.DOMDoc).change(function() {
-
- // set the value on the dummy text field that will always be visible in the post data
- if (this.checked) {
- jQuery("#"+JSObject.type+"_displaywebsitelink",JSObject.DOMDoc).val("1");
- } else {
- jQuery("#"+JSObject.type+"_displaywebsitelink",JSObject.DOMDoc).val("0");
- }
- });
- }
-
-
- /*****************************************************************************************************/
- /* */
- /* FUNCTION ADD BUTTONS ACTIONS */
- /* */
- /*****************************************************************************************************/
- this.addButtonsActions = function(){
-
- /*******************************************************/
- /* SEND "BUTTON" */
- /*******************************************************/
- jQuery(this.send_btn).unbind("click");
- jQuery(this.send_btn).bind("click",function(){
- JSObject.disableButton(this);
- JSObject.validate();
- })
- JSObject.enableButton(this.send_btn);
-
-
- jQuery("#"+JSObject.form.id,JSObject.DOMDoc).bind("keypress", function (e) {
- if (e.keyCode == 13) return false;
- });
-
- }
-
-
- /*****************************************************************************************************/
- /* */
- /* FUNCTION ENABLE BUTTON */
- /* */
- /*****************************************************************************************************/
- this.enableButton = function(btn){
- jQuery(btn).css('cursor','pointer');
- jQuery(btn).animate({opacity:1},100);
- }
-
-
- /*****************************************************************************************************/
- /* */
- /* FUNCTION DISABLE BUTTON */
- /* */
- /*****************************************************************************************************/
- this.disableButton = function(btn){
- jQuery(btn).unbind("click");
- jQuery(btn).animate({opacity:0.4},100);
- jQuery(btn).css('cursor','default');
- }
-
-
- /*****************************************************************************************************/
- /* */
- /* FUNCTION SCROLL TO FIRST ERROR */
- /* */
- /*****************************************************************************************************/
- this.scrollToError = function(yCoord){
-
- var container = jQuery('html,body', JSObject.DOMDoc);
- var scrollTop = parseInt(jQuery('html,body').scrollTop()) || parseInt(jQuery('body').scrollTop());
- var containerHeight = container.get(0).clientHeight;
- var top = parseInt(container.offset().top);
-
- if (yCoord < scrollTop){
- jQuery(container).animate({scrollTop: yCoord-20 }, 1000);
- }
- else if (yCoord > scrollTop + containerHeight){
- jQuery(container).animate({scrollTop: scrollTop + containerHeight }, 1000);
- }
- }
-
-
- /*****************************************************************************************************/
- /* */
- /* FUNCTION VALIDATE INFORMATION */
- /* */
- /*****************************************************************************************************/
- this.validate = function(){
- jQuery(this.form).validate().form();
-
- // y coordinates of error inputs
- var arr_errorsYCoord = [];
-
- // find the y coordinate for the errors
- for (var name in this.validator.invalid){
- var $input = jQuery(this.form[name]);
- arr_errorsYCoord.push($input.offset().top);
- }
-
- // if there are no errors from syntax point of view, then send data
- if (arr_errorsYCoord.length == 0){
- this.sendData();
- }
- //move container(div) scroll to the first error
- else{
- arr_errorsYCoord.sort(function(a, b){ return (a-b); });
- JSObject.scrollToError(arr_errorsYCoord[0]);
-
- // add actions to send, cancel, ... buttons. At this moment the buttons are disabled.
- JSObject.addButtonsActions();
- }
- }
-
-
- /*****************************************************************************************************/
- /* */
- /* FUNCTION SUBMIT FORM THROUGH an IFRAME as target */
- /* */
- /*****************************************************************************************************/
- this.submitForm = function(){
- return WMPJSInterface.AjaxUpload.dosubmit(JSObject.form, {'onStart' : JSObject.startUploadingData, 'onComplete' : JSObject.completeUploadingData});
- }
-
-
- /*****************************************************************************************************/
- /* */
- /* FUNCTION SEND DATA */
- /* */
- /*****************************************************************************************************/
- this.sendData = function(){
-
- jQuery("#"+this.form.id,this.DOMDoc).unbind("submit");
- jQuery("#"+this.form.id,this.DOMDoc).bind("submit",function(){JSObject.submitForm();});
- jQuery("#"+this.form.id,this.DOMDoc).submit();
-
- JSObject.disableButton(JSObject.send_btn);
- }
-
-
- /*****************************************************************************************************/
- /* */
- /* FUNCTION START UPLOADING DATA */
- /* */
- /*****************************************************************************************************/
- this.startUploadingData = function(){
-
- WMPJSInterface.Preloader.start();
-
- //disable form elements
- setTimeout(function(){
- var aElems = JSObject.form.elements;
- nElems = aElems.length;
-
- for (j=0; j<nElems; j++) {
- aElems[j].disabled = true;
- }
- },300);
-
- return true;
- }
-
-
-
- /*****************************************************************************************************/
- /* */
- /* FUNCTION COMPLETE UPLOADING DATA */
- /* */
- /*****************************************************************************************************/
- this.completeUploadingData = function(response){
-
- jQuery("#"+JSObject.form.id,JSObject.DOMDoc).unbind("submit");
- jQuery("#"+JSObject.form.id,JSObject.DOMDoc).bind("submit",function(){return false;});
-
- // remove preloader
- WMPJSInterface.Preloader.remove(100);
- response = Boolean(Number(String(response)));
-
- if (response == true){
-
- // show message
- var message = 'Your app has been successfully modified!';
- WMPJSInterface.Loader.display({message: message});
-
- } else {
-
- var message = 'There was an error. Please reload the page and try again.';
- WMPJSInterface.Loader.display({message: message});
- }
-
- //enable form elements
- setTimeout(function(){
- var aElems = JSObject.form.elements;
- nElems = aElems.length;
- for (j=0; j<nElems; j++) {
- aElems[j].disabled = false;
- }
- },300);
-
- //enable buttons
- JSObject.addButtonsActions();
-
- }
-
-} \ No newline at end of file
+/*****************************************************************************************************/
+/* */
+/* 'APP SETTINGS' */
+/* */
+/*****************************************************************************************************/
+
+function WMP_APP_SETTINGS(){
+
+ var JSObject = this;
+
+ this.type = "wmp_editsettings";
+
+ this.form;
+ this.DOMDoc;
+
+ this.send_btn;
+
+
+ /*****************************************************************************************************/
+ /* */
+ /* FUNCTION INIT - called from WMPJSInterface */
+ /* */
+ /*****************************************************************************************************/
+ this.init = function(){
+
+ // save a reference to WMPJSInterface Object
+ WMPJSInterface = window.parent.WMPJSInterface;
+
+ // save a reference to "SEND" Button
+ this.send_btn = jQuery('#'+this.type+'_send_btn',this.DOMDoc).get(0);
+
+ // save a reference to the FORM and remove the default submit action
+ this.form = this.DOMDoc.getElementById(this.type+'_form');
+
+ // add actions to send, cancel, ... buttons
+ this.addButtonsActions();
+
+ if (this.form == null){
+ return;
+ }
+
+ // custom validation for FORM's inputs
+ this.initValidation();
+ }
+
+
+
+
+ /*****************************************************************************************************/
+ /* */
+ /* FUNCTION INIT VALIDATION */
+ /* */
+ /*****************************************************************************************************/
+ this.initValidation = function(){
+
+ /*******************************************************/
+ /* VALIDATION RULES */
+ /*******************************************************/
+
+ jQuery.validator.addMethod( "regex",function(value, element, regexp) {
+
+ var re = new RegExp(regexp,"i");
+
+ return this.optional(element) || re.test(value);
+ },
+ "Your code is invalid"
+ );
+
+ // this is the object that handles the form validations
+ this.validator = jQuery("#"+this.form.id, this.DOMDoc).validate({
+
+ rules: {
+ wmp_editsettings_ganalyticsid: {
+ regex: '^ua-\\d{4,9}-\\d{1,4}$'
+ }
+ },
+
+ // the errorPlacement has to take the table layout into account
+ // all the errors must be handled by containers/divs with custom ids: Ex. "error_fullname_container"
+ errorPlacement: function(error, element) {
+ var split_name = element[0].id.split("_");
+ var id = (split_name.length > 1) ? split_name[ split_name.length - 1] : split_name[0];
+ var errorContainer = jQuery("#error_"+id+"_container",JSObject.DOMDoc);
+ error.appendTo( errorContainer );
+ },
+
+ errorElement: 'span'
+ });
+
+ /*******************************************************/
+ /* CHECKBOX EVENTS */
+ /*******************************************************/
+
+ jQuery("#wmp_enable_tablets_check",JSObject.DOMDoc).change(function() {
+
+ if (this.checked) {
+ jQuery("#"+JSObject.type+"_enable_tablets",JSObject.DOMDoc).val("1");
+ } else {
+ jQuery("#"+JSObject.type+"_enable_tablets",JSObject.DOMDoc).val("0");
+ }
+ });
+
+ jQuery("#wmp_displaywebsitelink_check",JSObject.DOMDoc).change(function() {
+
+ // set the value on the dummy text field that will always be visible in the post data
+ if (this.checked) {
+ jQuery("#"+JSObject.type+"_displaywebsitelink",JSObject.DOMDoc).val("1");
+ } else {
+ jQuery("#"+JSObject.type+"_displaywebsitelink",JSObject.DOMDoc).val("0");
+ }
+ });
+ }
+
+
+ /*****************************************************************************************************/
+ /* */
+ /* FUNCTION ADD BUTTONS ACTIONS */
+ /* */
+ /*****************************************************************************************************/
+ this.addButtonsActions = function(){
+
+ /*******************************************************/
+ /* SEND "BUTTON" */
+ /*******************************************************/
+ jQuery(this.send_btn).unbind("click");
+ jQuery(this.send_btn).bind("click",function(){
+ JSObject.disableButton(this);
+ JSObject.validate();
+ })
+ JSObject.enableButton(this.send_btn);
+
+
+ jQuery("#"+JSObject.form.id,JSObject.DOMDoc).bind("keypress", function (e) {
+ if (e.keyCode == 13) return false;
+ });
+
+ }
+
+
+ /*****************************************************************************************************/
+ /* */
+ /* FUNCTION ENABLE BUTTON */
+ /* */
+ /*****************************************************************************************************/
+ this.enableButton = function(btn){
+ jQuery(btn).css('cursor','pointer');
+ jQuery(btn).animate({opacity:1},100);
+ }
+
+
+ /*****************************************************************************************************/
+ /* */
+ /* FUNCTION DISABLE BUTTON */
+ /* */
+ /*****************************************************************************************************/
+ this.disableButton = function(btn){
+ jQuery(btn).unbind("click");
+ jQuery(btn).animate({opacity:0.4},100);
+ jQuery(btn).css('cursor','default');
+ }
+
+
+ /*****************************************************************************************************/
+ /* */
+ /* FUNCTION SCROLL TO FIRST ERROR */
+ /* */
+ /*****************************************************************************************************/
+ this.scrollToError = function(yCoord){
+
+ var container = jQuery('html,body', JSObject.DOMDoc);
+ var scrollTop = parseInt(jQuery('html,body').scrollTop()) || parseInt(jQuery('body').scrollTop());
+ var containerHeight = container.get(0).clientHeight;
+ var top = parseInt(container.offset().top);
+
+ if (yCoord < scrollTop){
+ jQuery(container).animate({scrollTop: yCoord-20 }, 1000);
+ }
+ else if (yCoord > scrollTop + containerHeight){
+ jQuery(container).animate({scrollTop: scrollTop + containerHeight }, 1000);
+ }
+ }
+
+
+ /*****************************************************************************************************/
+ /* */
+ /* FUNCTION VALIDATE INFORMATION */
+ /* */
+ /*****************************************************************************************************/
+ this.validate = function(){
+ jQuery(this.form).validate().form();
+
+ // y coordinates of error inputs
+ var arr_errorsYCoord = [];
+
+ // find the y coordinate for the errors
+ for (var name in this.validator.invalid){
+ var $input = jQuery(this.form[name]);
+ arr_errorsYCoord.push($input.offset().top);
+ }
+
+ // if there are no errors from syntax point of view, then send data
+ if (arr_errorsYCoord.length == 0){
+ this.sendData();
+ }
+ //move container(div) scroll to the first error
+ else{
+ arr_errorsYCoord.sort(function(a, b){ return (a-b); });
+ JSObject.scrollToError(arr_errorsYCoord[0]);
+
+ // add actions to send, cancel, ... buttons. At this moment the buttons are disabled.
+ JSObject.addButtonsActions();
+ }
+ }
+
+
+ /*****************************************************************************************************/
+ /* */
+ /* FUNCTION SUBMIT FORM THROUGH an IFRAME as target */
+ /* */
+ /*****************************************************************************************************/
+ this.submitForm = function(){
+ return WMPJSInterface.AjaxUpload.dosubmit(JSObject.form, {'onStart' : JSObject.startUploadingData, 'onComplete' : JSObject.completeUploadingData});
+ }
+
+
+ /*****************************************************************************************************/
+ /* */
+ /* FUNCTION SEND DATA */
+ /* */
+ /*****************************************************************************************************/
+ this.sendData = function(){
+
+ jQuery("#"+this.form.id,this.DOMDoc).unbind("submit");
+ jQuery("#"+this.form.id,this.DOMDoc).bind("submit",function(){JSObject.submitForm();});
+ jQuery("#"+this.form.id,this.DOMDoc).submit();
+
+ JSObject.disableButton(JSObject.send_btn);
+ }
+
+
+ /*****************************************************************************************************/
+ /* */
+ /* FUNCTION START UPLOADING DATA */
+ /* */
+ /*****************************************************************************************************/
+ this.startUploadingData = function(){
+
+ WMPJSInterface.Preloader.start();
+
+ //disable form elements
+ setTimeout(function(){
+ var aElems = JSObject.form.elements;
+ nElems = aElems.length;
+
+ for (j=0; j<nElems; j++) {
+ aElems[j].disabled = true;
+ }
+ },300);
+
+ return true;
+ }
+
+
+
+ /*****************************************************************************************************/
+ /* */
+ /* FUNCTION COMPLETE UPLOADING DATA */
+ /* */
+ /*****************************************************************************************************/
+ this.completeUploadingData = function(response){
+
+ jQuery("#"+JSObject.form.id,JSObject.DOMDoc).unbind("submit");
+ jQuery("#"+JSObject.form.id,JSObject.DOMDoc).bind("submit",function(){return false;});
+
+ // remove preloader
+ WMPJSInterface.Preloader.remove(100);
+ response = Boolean(Number(String(response)));
+
+ if (response == true){
+
+ // show message
+ var message = 'Your app has been successfully modified!';
+ WMPJSInterface.Loader.display({message: message});
+
+ } else {
+
+ var message = 'There was an error. Please reload the page and try again.';
+ WMPJSInterface.Loader.display({message: message});
+ }
+
+ //enable form elements
+ setTimeout(function(){
+ var aElems = JSObject.form.elements;
+ nElems = aElems.length;
+ for (j=0; j<nElems; j++) {
+ aElems[j].disabled = false;
+ }
+ },300);
+
+ //enable buttons
+ JSObject.addButtonsActions();
+
+ }
+
+}