ca-mas-foundation-cordova
Version:
Cordova MAS Plugin
1,035 lines (838 loc) • 67.4 kB
HTML
<!DOCTYPE html>
<html>
<head>
<title>Home Page</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<meta charset="utf-8">
<!-- iPad/iPhone specific css below, add after your main css >
<link rel="stylesheet" media="only screen and (max-device-width: 1024px)" href="ipad.css" type="text/css" />
<link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="iphone.css" type="text/css" />
-->
<!-- If your application is targeting iOS BEFORE 4.0 you MUST put json2.js from http://www.JSON.org/json2.js into your www directory and include it here -->
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8" src="plugins/cordova-plugin-mas-core/www/MASPlugin.js"></script>
<script type="text/javascript">
// If you want to prevent dragging, uncomment this section
/*
function preventBehavior(e)
{
e.preventDefault();
};
document.addEventListener("touchmove", preventBehavior, false);
*/
/* If you are supporting your own protocol, the var invokeString will contain any arguments to the app launch.
see http://iphonedevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html
for more details -jm */
/*
function handleOpenURL(url)
{
// TODO: do something with the url passed in.
}
*/
function onBodyLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
var MAS = new MASPlugin.MAS();
MAS.initialize(function(result) {}, function(error) {
alert("Initialization failure");
});
}
</script>
<script type="text/javascript">
$(document).ready(function() {
$("#scan").bind("click", function(event, ui) {
$(this).find("textarea.error").hide();
var thisElement = $(this);
if ('plugins' in cordova && 'barcodeScanner' in cordova.plugins) {
cordova.plugins.barcodeScanner.scan(function(result) {
var MAS = new MASPlugin.MAS();
MAS.authorize(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
}, function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, result.text);
},
function(error) {
alert("Scanning failed: " + error);
}, {
"preferFrontCamera": false, // iOS and Android
"showFlipCameraButton": true, // iOS and Android
"prompt": "Place a barcode inside the scan area", // supported on Android only
"formats": "QR_CODE,PDF_417", // default: all but PDF_417 and RSS_EXPANDED
"orientation": "landscape" // Android only (portrait|landscape), default unset so it rotates with the device
});
} else if (typeof QRCode !== 'undefined') {
QRCode.scanCode(function(info) {
var MAS = new MASPlugin.MAS();
MAS.authorize(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
}, function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, info);
});
} else {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, "No QRCode Scanner plugin added !!");
}
});
$("#init").bind("click", function(event, ui) {
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
MAS.initialize(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
}, function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#useNativeMASUI").bind("click", function(event, ui) {
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
MAS.useNativeMASUI(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
}, function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#setCustomLoginPage").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
var loginPageName = $("input[name='loginPageName']").val();
MAS.setCustomLoginPage(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, loginPageName);
});
$("#setCustomOTPChannelsPage").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
var otpChannelsPageName = $("input[name='otpChannelsPageName']").val();
MAS.setCustomOTPChannelsPage(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, otpChannelsPageName);
});
$("#setCustomOTPPage").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
var otpPageName = $("input[name='otpPageName']").val();
MAS.setCustomOTPPage(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, otpPageName);
});
$("#setGrantFlowPassword").bind("click", function(event, ui) {
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
MAS.grantFlow(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, MASPlugin.MASGrantFlow.MASGrantFlowPassword);
});
$("#setGrantFlowClientCredential").bind("click", function(event, ui) {
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
MAS.grantFlow(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, MASPlugin.MASGrantFlow.MASGrantFlowClientCredentials);
});
$("#setConfigName").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
var configFileName = $("input[name='configName']").val();
MAS.configFileName(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, configFileName);
});
$("#start").bind("click", function(event, ui) {
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
MAS.start(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#startWithDefault").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
MAS.startWithDefaultConfiguration(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, true);
});
$("#startWithJSON").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
var jsonObject = thisElement.find("input[name='jsonObject']").val() ? JSON.parse(thisElement.find("input[name='jsonObject']").val()) : null;
MAS.startWithJSON(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, jsonObject);
});
$("#stop").bind("click", function(event, ui) {
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
MAS.stop(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, MASPlugin.MASGrantFlow.MASGrantFlowClientCredentials);
});
$("#initEnterpriseBrowser").bind("click", function(event, ui) {
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASApplication = new MASPlugin.MASApplication();
MASApplication.initEnterpriseBrowser(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#gatewayIsReachable").bind("click", function(event, ui) {
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
MAS.gatewayIsReachable(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#userLogin").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var username = $("input[name='userLoginUsername']").val();
var password = $("input[name='userLoginPassword']").val();
MASPluginUser.loginWithUsernameAndPassword(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, username, password);
});
$("#getUsername").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
MASPluginUser.currentUser(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result.userName);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#getName").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
MASPluginUser.currentUser(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result.formattedName);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#getAddressList").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
MASPluginUser.currentUser(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result.addresses);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#getEmailList").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
MASPluginUser.currentUser(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result.emailAddresses);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#userImplicitLogin").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
MASPluginUser.loginWithImplicitFlow(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#getCurrentUser").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
MASPluginUser.currentUser(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#isSessionLocked").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
MASPluginUser.currentUser(function(result) {
result.isSessionLocked(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
})
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#lockSession").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
MASPluginUser.currentUser(function(currentUser) {
currentUser.lockSession(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#unlockSession").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
MASPluginUser.currentUser(function(currentUser) {
currentUser.unlockSession(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#unlockSessionWithMessage").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
MASPluginUser.currentUser(function(currentUser) {
currentUser.unlockSessionWithMessage(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, "My Message");
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#removeSessionLock").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
MASPluginUser.currentUser(function(currentUser) {
currentUser.removeSessionLock(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#isUserAuthenticated").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
MASPluginUser.currentUser(function(result) {
result.isAuthenticated(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#isDeviceRegistered").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASDevice = new MASPlugin.MASDevice();
MASDevice.isDeviceRegistered(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#getCurrentDevice").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASDevice = new MASPlugin.MASDevice();
MASDevice.getCurrentDevice(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#isActive").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASDevice = new MASPlugin.MASDevice();
MASDevice.isActive(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#getDeviceIdentifier").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASDevice = new MASPlugin.MASDevice();
MASDevice.getDeviceIdentifier(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#userLogout").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
MASPluginUser.currentUser(function(currentUser) {
currentUser.logout(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#deregisterDevice").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASDevice = new MASPlugin.MASDevice();
MASDevice.deregister(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#resetLocally").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASDevice = new MASPlugin.MASDevice();
MASDevice.resetLocally(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#getApplicationIdentifier").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASApplication = new MASPlugin.MASApplication();
MASApplication.getIdentifier(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#getApplicationName").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASApplication = new MASPlugin.MASApplication();
MASApplication.getName(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
}, ApplicationIdentifiersList[2]);
});
$("#getApplicationIconUrl").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASApplication = new MASPlugin.MASApplication();
MASApplication.getIconUrl(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#getApplicationAuthUrl").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASApplication = new MASPlugin.MASApplication();
MASApplication.getAuthUrl(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#getApplicationNativeUri").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASApplication = new MASPlugin.MASApplication();
MASApplication.getNativeUri(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#getApplicationCustom").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASApplication = new MASPlugin.MASApplication();
MASApplication.getCustom(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
var ApplicationIdentifiersList = "";
$("#retrieveEnterpriseApps").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MASApplication = new MASPlugin.MASApplication();
MASApplication.retrieveEnterpriseApps(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
ApplicationIdentifiersList = result;
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
});
});
$("#getCRUD").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
var requestType = parseRequestResponseType(thisElement.find("select[name='requestType']").val());
var responseType = parseRequestResponseType(thisElement.find("select[name='responseType']").val());
var requestParam = thisElement.find("input[name='parameter']").val() ? JSON.parse(thisElement.find("input[name='parameter']").val()) : null;
var requestHeader = thisElement.find("input[name='header']").val() ? JSON.parse(thisElement.find("input[name='header']").val()) : null;
var requestPath = thisElement.find("input[name='path']").val().trim();
// $.mobile.showPageLoadingMsg();
MAS.getFromPath(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
// $.mobile.hidePageLoadingMsg();
},
function(error) {
// console.log(error);
var returnedMsg = getErrorMessage(error);
if (returnedMsg != null && returnedMsg != undefined && returnedMsg != "") {
error.errorMessage = returnedMsg;
}
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
// $.mobile.hidePageLoadingMsg();
}, requestPath, requestParam, requestHeader, requestType, responseType);
});
$("#putCRUD").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
var requestType = parseRequestResponseType(thisElement.find("select[name='requestType']").val());
var responseType = parseRequestResponseType(thisElement.find("select[name='responseType']").val());
var requestParam = thisElement.find("input[name='parameter']").val() ? JSON.parse(thisElement.find("input[name='parameter']").val()) : null;
var requestHeader = thisElement.find("input[name='header']").val() ? JSON.parse(thisElement.find("input[name='header']").val()) : null;
var requestPath = thisElement.find("input[name='path']").val().trim();
// $.mobile.showPageLoadingMsg();
MAS.putToPath(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
// $.mobile.hidePageLoadingMsg();
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
// $.mobile.hidePageLoadingMsg();
}, requestPath, requestParam, requestHeader, requestType, responseType);
});
$("#postCRUD").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
var requestType = parseRequestResponseType(thisElement.find("select[name='requestType']").val());
var responseType = parseRequestResponseType(thisElement.find("select[name='responseType']").val());
var requestParam = thisElement.find("input[name='parameter']").val() ? JSON.parse(thisElement.find("input[name='parameter']").val()) : null;
var requestHeader = thisElement.find("input[name='header']").val() ? JSON.parse(thisElement.find("input[name='header']").val()) : null;
var requestPath = thisElement.find("input[name='path']").val().trim();
// $.mobile.showPageLoadingMsg();
MAS.postToPath(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
// $.mobile.hidePageLoadingMsg();
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
// $.mobile.hidePageLoadingMsg();
}, requestPath, requestParam, requestHeader, requestType, responseType);
});
$("#deleteCRUD").bind("click", function(event, ui) {
if ($(event.target).context.tagName != 'A') return;
$(this).find("textarea.error").hide();
var thisElement = $(this);
var MAS = new MASPlugin.MAS();
var requestType = parseRequestResponseType(thisElement.find("select[name='requestType']").val());
var responseType = parseRequestResponseType(thisElement.find("select[name='responseType']").val());
var requestParam = thisElement.find("input[name='parameter']").val() ? JSON.parse(thisElement.find("input[name='parameter']").val()) : null;
var requestHeader = thisElement.find("input[name='header']").val() ? JSON.parse(thisElement.find("input[name='header']").val()) : null;
var requestPath = thisElement.find("input[name='path']").val().trim();
// $.mobile.showPageLoadingMsg();
MAS.deleteFromPath(function(result) {
thisElement.removeClass("success").removeClass("failure").addClass("success");
displayResult(thisElement, result);
// $.mobile.hidePageLoadingMsg();
},
function(error) {
thisElement.removeClass("success").removeClass("failure").addClass("failure");
displayError(thisElement, error);
// $.mobile.hidePageLoadingMsg();
}, requestPath, requestParam, requestHeader, requestType, responseType);
});
function parseRequestResponseType(type) {
if (type == "json") {
return MASPlugin.MASRequestResponseType.MASRequestResponseTypeJson;
} else if (type == "scimJSON") {
return MASPlugin.MASRequestResponseType.MASRequestResponseTypeScimJson;
} else if (type == "text") {
return MASPlugin.MASRequestResponseType.MASRequestResponseTypeTextPlain;
} else if (type == "urlEncoded") {
return MASPlugin.MASRequestResponseType.MASRequestResponseTypeWwwFormUrlEncoded;
} else if (type == "xml") {
return MASPlugin.MASRequestResponseType.MASRequestResponseTypeXml;
} else {
return MASPlugin.MASRequestResponseType.MASRequestResponseTypeUnknown;
}
}
function resetAction(element) {
element.find("textarea.error").hide();
element.removeClass("success").removeClass("failure");
}
function displayResult(element, result) {
var isJSON = true;
try {
var json = $.parseJSON(result);
} catch (err) {
isJSON = false;
}
if (isJSON) {
element.find("textarea.error").show();
element.find("textarea.error").html(JSON.stringify(result));
} else {
element.find("textarea.error").show();
element.find("textarea.error").html(result + "");
}
}
function displayError(element, error) {
element.find("textarea.error").show();
var errorMessage = "";
if (typeof error === 'undefined' || typeof error.errorMessage === 'undefined') {
errorMessage = "Unknown error";
} else if (error.errorMessage === 'Internal Server Error' && typeof error.errorMessageDetail === 'undefined') {
errorMessage = error.errorMessage;
} else if (error.errorMessage === 'Internal Server Error' && typeof error.errorMessageDetail !== 'undefined') {
errorMessage = error.errorMessageDetail;
} else {
errorMessage = error.errorMessage;
}
element.find("textarea.error").html(errorMessage);
}
});
</script>
<script type="text/javascript">
function getErrorMessage(error) {
var errorMsgToDisplay = "";
if (error != null && error != undefined && error != "") {
if (error.errorCode != null && error.errorCode != undefined && !isNaN(error.errorCode)) {
var errorCodeLastDigits = error.errorCode % 1000;
if (errorCodeLastDigits === 140) {
errorMsgToDisplay = "X-OTP header required";
} else if (errorCodeLastDi