var crfRoleSelector={}; crfRoleSelector.init= function(cb=null){ let that=this; let action=function(){that.afterScripts(cb);}; LABKEY.requiresScript(["crfDORA/crfHTML.js"],action); } crfRoleSelector.afterScripts= function(cb=null){ if (cb) cb(); } crfRoleSelector.set= function(setup){ this.setup=setup; } crfRoleSelector.print= function(msg){ console.log(msg); } crfRoleSelector.makePortal= function(cb=null){ //cb is a callback function that gets executed on select change let fName='[crfRoleSelector::makePortal]'; let userId=LABKEY.Security.currentUser.id; let userRoles=['crfEditor','crfMonitor','crfSponsor','crfManager']; //let siteRows=this.setup.getRows('siteData'); //find possible matches between user and sites let options=new Object(); let siteMap=this.setup.getEntryMap('siteData:siteNumber'); let userMap=this.setup.getEntryMap('users:UserId'); for (let i=0;i