Permalink
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
inc-md-js/info/js/org.js
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
101 lines (85 sloc)
2.68 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* InCommon Federation Member Organization web application. | |
* | |
* Requires: | |
* jquery.utils.js | |
*/ | |
$(document).ready(function () { | |
"use strict"; | |
$('#page-content').hide(); | |
$("#loading").ajaxStart(function () { | |
// the image is 31x31 pixels | |
var x = Math.round((document.body.clientWidth - 31) / 2); | |
$(this).css('left', x); | |
$(this).show(); | |
}).ajaxStop(function () { $(this).hide(); }); | |
// The 'linkObj' parameter is a JavaScript Link object | |
// with exactly one query string parameter | |
(function (linkObj) { | |
// a redirect page | |
var redirectPage = "./all-orgs.html"; | |
// handle a missing query string | |
if (linkObj.search == null || linkObj.search == "") { | |
// redirect the browser | |
window.location = redirectPage; | |
return; | |
} | |
var orgName = utils.getParameterByName(linkObj, 'orgName'); | |
// handle an ill-formatted query string | |
if (orgName == null || orgName == "") { | |
// redirect the browser | |
window.location = redirectPage; | |
return; | |
} | |
// comparison function used to sort arrays of SAML entities | |
var comparison_function = function (a, b) { | |
var a_key = a.getDefaultDisplayName(); | |
var b_key = b.getDefaultDisplayName(); | |
return (a_key < b_key) ? -1 : ((a_key > b_key) ? 1 : 0); | |
}; | |
// handle successful ajax call for all entity metadata | |
var handleDone = function (entities) { | |
var i, entity, org; | |
// dynamically build a list of organization objects | |
for (i = 0; i < entities.length; i += 1) { | |
entity = new SAMLEntity(entities[i]); | |
if (entity.getOrganizationName() == orgName) { | |
if (org == undefined) { | |
org = {}; | |
org.displayName = entity.getOrganizationDisplayName(); | |
org.url = entity.getOrganizationURL(); | |
org.idps = []; org.sps = []; | |
} | |
if (entity.isIdP()) { | |
org.idps.push(entity); | |
} else if (entity.isSP()) { | |
org.sps.push(entity); | |
} else { | |
$.displayErrorMsg("Unable to determine the entity type"); | |
} | |
} | |
} | |
// no entities found | |
if (org == undefined) { | |
$.displayErrorMsg("Unable to find any entities"); | |
window.location = redirectPage; | |
return; | |
} | |
// set document title | |
document.title += ": " + org.displayName; | |
// sort and insert the metadata | |
org.idps.sort(comparison_function); | |
org.sps.sort(comparison_function); | |
$.insertListOrgEntities(org); | |
$('#page-content').show(); | |
}; | |
// handle failed ajax call for all entity metadata | |
var handleFail = function () { | |
$.displayErrorMsg("Unable to retrieve all entity metadata"); | |
}; | |
$.getJSONMetadata4AllEntities(handleDone, handleFail); | |
}(window.location)); | |
// handle clicked entity links | |
var dialogOptions = null; // unused | |
$('#page-content').handleClickedEntityLinks(dialogOptions); | |
}); |