{"version":3,"sources":["uw-theme-fix.js","app.js","app.activityLog.js","app.committee.js","app.election.js","app.fileUploaders.js","app.grids.js","app.individual.js","app.input.js","app.kendogrids.js","app.message.js","app.prospective.js","app.survey.js","app.userhome.js","app.vis.js"],"names":[],"mappings":"AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACn0BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrqBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1WA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"../site.js","sourcesContent":["$ = jQuery;","//*************************************************************************************\r\n//* WaMS Component Framework - app.js\r\n//* Version 1.03f\r\n//* Author: Damian Koch\r\n//* Component framework essentials, plus utilities.\r\n//* Requires jQuery, foundation\r\n//* 10/3/17 DBK: Added error messaging support to delete functionality, return JSON with\r\n//* errorMessage set as the message to use.\r\n//* 10/5/17 DBK: Added isDebugMode flag. Console messages only show when isDebugMode = 1\r\n//* 10/10/17 BWH: Added subtype to allow for additional variables to be passed on creation of component\r\n//* 10/24/17 DBK: Added JSON support to save action\r\n//* 10/30/17 DBK: Added tooltip support\r\n//* 11/01/17 DBK: Fix bindEditMode race condition for bindCheckboxLists\r\n//* 11/09/17 DBK: Prevent save on [enter] keypress\r\n//* 11/21/17 DBK: Allow HTML tooltips\r\n//* 11/28/17 DBK: Added rich text editor support (jqte called on [data-role=richtext]\r\n//* 12/14/17 DBK: Added to robustness of action bound debug message\r\n//* 12/18/17 DBK: Allow page component updateId actions to work with non-int Ids\r\n//* 2/15/18 BWH: Hooked in foundation date picker\r\n//* 4/2/18 WMK: Added back to top functionality\r\n//* 4/16/18 WQP: Updated select/deselect many logic to only select visible (filtered) results\r\n//* 5/14/18 DBK: Added robust filtering and paging to component lists\r\n//* 5/14/18 DBK: Added isPrintableCharacter helper method\r\n//* 5/25/18 Hanson: Removed the cancel action if someone hits escape in text area text box\r\n//* 09/21/2018 BWH: Moved validation token definition from page to the component\r\n//* 12/18/18 BWH: Updates to component filter for timeout and update to printable charachters\r\n//*************************************************************************************\r\n\r\n//$(document).foundation();\r\n\r\nvar app = (function () {\r\n var myApp = {\r\n Page: function (applicationPath) {\r\n this.appPath = applicationPath || '';\r\n this.id = 0;\r\n this.loads = 0;\r\n\r\n this.isDebugMode = 1;\r\n\r\n this.components = {};\r\n this.componentActions = {};\r\n this.currentComponent = {};\r\n this.allComponents = {};\r\n this.storage = {};\r\n \r\n this.selectors = {\r\n components: ':not([data-role~=\"component-template\"]) [data-role~=\"component\"]',\r\n componentActions: '[data-role~=\"component-action\"]',\r\n datepicker: '[data-role~=\"datepicker\"]',\r\n modals: {\r\n confirmRemove: '#removeConfirmModal',\r\n confirmRemoveOkButton: '#removeConfirmModal--ok',\r\n descriptiveError: '#descriptiveErrorModal',\r\n descriptiveErrorMessage: '[data-role~=\"descriptiveErrorMessage\"]',\r\n loadError: '#loadErrorModal',\r\n removeConfirm: '#removeConfirmModal',\r\n saveError: '#saveErrorModal'\r\n },\r\n searchBar: '[name=searchForm]'\r\n };\r\n\r\n this.initCheckboxLists();\r\n this.initModals();\r\n this.initTooltips();\r\n this.initComponents();\r\n this.initBackToTopButton();\r\n }\r\n };\r\n\r\n myApp.Page.prototype.startLoad = function () { if (++this.loads === 1 && this.selectors.loading) this.selectors.loading.show(); };\r\n myApp.Page.prototype.endLoad = function () { if (--this.loads === 0 && this.selectors.loading) this.selectors.loading.hide(); };\r\n\r\n myApp.Page.prototype.init = function () { this.log('init called on page, but not implemented'); };\r\n myApp.Page.prototype.initCheckboxLists = function () { this.bindCheckboxLists(this.el); };\r\n myApp.Page.prototype.initTooltips = function () { $(document).foundation(); };\r\n\r\n myApp.Page.prototype.initComponents = function () {\r\n //for each component, set up the component\r\n var page = this;\r\n //exclude child components\r\n $(this.selectors.components).not(this.selectors.components + ' ' + this.selectors.components).each(function () { page.initComponent(this, page); });\r\n $(this.selectors.componentActions).not(this.selectors.components + ' ' + this.selectors.componentActions).each(function () { page.initPageAction(this, page); });\r\n };\r\n myApp.Page.prototype.initComponent = function (e, pc, subtype) {\r\n var type = $(e).closest('[data-component-type]').data('component-type');\r\n var group = type + ($(e).closest('[data-component-group]').data('component-group') || \"\");\r\n var parent = pc || this;\r\n\r\n if (parent.components[group] === undefined) {\r\n parent.components[group] = [];\r\n parent.components[group + '-noResults'] = $('[data-component-role=\"noResults\"][data-component-type=\"' + group + '\"]', parent.el);\r\n }\r\n\r\n var obj = new app.component.Component(e, pc, this, subtype);\r\n obj.init();\r\n parent.components[group].push(obj);\r\n\r\n this.findAllComponents();\r\n\r\n $(document).trigger(\"component-init-complete\", obj);\r\n $(document).trigger(\"component-init-complete-\" + this.type, this);\r\n };\r\n myApp.Page.prototype.initPageAction = function (e, pc) {\r\n var parent = pc || this;\r\n var obj = new app.component.PageAction(e, pc, this);\r\n\r\n if (parent.componentActions[obj.type] === undefined) {\r\n parent.componentActions[obj.type] = [];\r\n }\r\n\r\n $(e).on(obj.event, $.proxy(obj.triggerAction, obj));\r\n\r\n //watch for enter keypress on component action text boxes. this will prevent submits\r\n $(e).on(\"keypress keydown\",\r\n function(e) {\r\n if (e.keyCode === 13 && $(event.target).is(\"input[type='text']\")) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n });\r\n parent.componentActions[obj.type].push(obj);\r\n $(document).trigger(\"component-action-init-complete\", obj);\r\n this.log(obj.action + ' ' + obj.type + ' ' + obj.target + '(' + obj.event + ')' + obj.el.attr('name') + ' action bound.');\r\n };\r\n myApp.Page.prototype.initModals = function () {\r\n this.handleRemoveOkButton = function () {\r\n if (this.currentComponent) {\r\n if (typeof this.currentComponent.confirmRemove === 'function') this.currentComponent.confirmRemove();\r\n }\r\n };\r\n $(this.selectors.modals.confirmRemoveOkButton).on('click', $.proxy(this.handleRemoveOkButton, this));\r\n };\r\n myApp.Page.prototype.initBackToTopButton = function () {\r\n $(window).scroll(function () {\r\n if ($(\".back-to-top\").css('position') === 'fixed') {\r\n var mainTop = $('main').offset().top;\r\n if ($(this).scrollTop() > mainTop) {\r\n $('.back-to-top').fadeIn();\r\n } else {\r\n $('.back-to-top').fadeOut();\r\n }\r\n }\r\n });\r\n $(document).on('click', '.back-to-top', function () {\r\n $(this).fadeOut();\r\n });\r\n };\r\n myApp.Page.prototype.initToasts = function () {\r\n window.toastr.options = {\r\n \"closeButton\": true,\r\n \"debug\": false,\r\n \"newestOnTop\": false,\r\n \"progressBar\": true,\r\n \"positionClass\": 'toast-top-right',\r\n \"preventDuplicates\": false,\r\n \"onclick\": null,\r\n \"showDuration\": '300',\r\n \"hideDuration\": '1000',\r\n \"timeOut\": '5000',\r\n \"extendedTimeOut\": '1000',\r\n \"showEasing\": 'swing',\r\n \"hideEasing\": 'linear',\r\n \"showMethod\": 'fadeIn',\r\n \"hideMethod\": 'fadeOut'\r\n };\r\n };\r\n\r\n myApp.Page.prototype.bindCheckboxLists = function (el) {\r\n $('[type=\"checkbox\"][data-role~=\"selectall\"]', el).each(function () {\r\n $('[type=\"checkbox\"][name=\"' + $(this).attr('name') + '\"]').change(function () {\r\n if ($(this).attr('data-role') === 'selectall') {\r\n $('[type=\"checkbox\"][name=\"' + $(this).attr('name') + '\"]:visible').prop('checked', this.checked);\r\n\r\n } else {\r\n var selAll = $('[type=\"checkbox\"][data-role~=\"selectall\"][name=\"' + $(this).attr('name') + '\"]:visible');\r\n\r\n //check for all selected, or not all selected\r\n if (selAll.is(':checked')) {\r\n if (!this.checked) {\r\n selAll.prop('checked', this.checked);\r\n }\r\n } else {\r\n if ($('[type=\"checkbox\"][name=\"' + $(this).attr('name') + '\"]:not(:checked)').length === 1) {\r\n selAll.prop('checked', this.checked);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n };\r\n\r\n myApp.Page.prototype.getElementValue = function (el, valueType) {\r\n switch (valueType) {\r\n case 'html':\r\n return el.html();\r\n case 'seltext':\r\n return $(':selected', el).text();\r\n case 'val':\r\n return el.val();\r\n default:\r\n return el.text();\r\n }\r\n };\r\n myApp.Page.prototype.getGuid = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = Math.random() * 16 | 0;\r\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n };\r\n myApp.Page.prototype.showDescriptiveError = function (message) {\r\n $(app.page.selectors.modals.descriptiveErrorMessage, app.page.selectors.modals.descriptiveError).html(message);\r\n $(app.page.selectors.modals.descriptiveError).foundation('open');\r\n };\r\n myApp.Page.prototype.handleJsonMessage = function (s) {\r\n if (s.errorMessage !== undefined) {\r\n app.page.showDescriptiveError(s.errorMessage);\r\n return true;\r\n }\r\n return false;\r\n };\r\n myApp.Page.prototype.handleAjaxError = function (xmlHttpRequest, textStatus, error) {\r\n if (xmlHttpRequest.status === 401 || xmlHttpRequest.status === 302) {\r\n window.location.replace(app.page.appPath + '/Account/Login?ReturnUrl=' + encodeURIComponent(window.location.pathname));\r\n } else if (textStatus !== 'abort' && xmlHttpRequest.readyState !== 0) {\r\n app.page.log(error);\r\n if (xmlHttpRequest.responseText !== '') {\r\n app.page.showDescriptiveError(xmlHttpRequest.responseText);\r\n } else {\r\n $(app.page.selectors.modals.loadError).foundation('open');\r\n }\r\n }\r\n };\r\n myApp.Page.prototype.mergeSort = function (arr, target) {\r\n if (arr.length < 2) return arr;\r\n\r\n var middle = parseInt(arr.length / 2);\r\n var left = arr.slice(0, middle);\r\n var right = arr.slice(middle, arr.length);\r\n\r\n return this.merge(this.mergeSort(left, target), this.mergeSort(right, target), target);\r\n };\r\n myApp.Page.prototype.merge = function (left, right, target) {\r\n var result = [];\r\n\r\n while (left.length && right.length) {\r\n //if (left[0] <= right[0]) {\r\n if ($('[data-label=\"' + target + '\"]', left[0]).text() <=\r\n $('[data-label=\"' + target + '\"]', right[0]).text()) {\r\n result.push(left.shift());\r\n } else {\r\n result.push(right.shift());\r\n }\r\n }\r\n\r\n this.log(\"left: \" + left.length + \" right: \" + right.length);\r\n\r\n while (left.length) result.push(left.shift());\r\n while (right.length) result.push(right.shift());\r\n\r\n return result;\r\n };\r\n myApp.Page.prototype.log = function (s) {\r\n if (this.isDebugMode) console.log(s);\r\n };\r\n myApp.Page.prototype.isJsonString = function (s) {\r\n try {\r\n JSON.parse(s);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n myApp.Page.prototype.isPrintableCharacter = function (s) {\r\n //REMOVED s===13 (enter) from printable characters BWH \r\n return s === 8 || (s > 47 && s < 58) || (s > 64 && s < 91) || (s > 95 && s < 112) || (s > 185 && s < 193) || (s > 218 && s < 223);\r\n };\r\n\r\n myApp.Page.prototype.findAllComponents = function () {\r\n this.allComponents = {};\r\n this.findComponents(this.components);\r\n };\r\n myApp.Page.prototype.findComponents = function (components) {\r\n for (var group in components) {\r\n if (this.allComponents[group] === undefined) {\r\n this.allComponents[group] = [];\r\n };\r\n $.merge(this.allComponents[group], components[group]);\r\n for (var key in components[group]) {\r\n this.findComponents(components[group][key].components);\r\n }\r\n }\r\n };\r\n\r\n return myApp;\r\n}());\r\n\r\napp.component = (function () {\r\n var myComponent = {\r\n Component: function (e, pc, page, subtype) {\r\n this.el = $(e);\r\n this.parentController = pc || {};\r\n this.page = page || app.page;\r\n this.subtype = subtype || this.el.closest('[data-component-subtype]').data('component-subtype');\r\n this.id = this.el.data('component-id') || 0;\r\n this.role = this.el.closest('[data-component-role]').data('component-role');\r\n this.type = this.el.closest('[data-component-type]').data('component-type');\r\n this.group = this.type + (this.el.closest('[data-component-group]').data('component-group') || \"\");\r\n this.state = this.el.data('component-state');\r\n this.request = null;\r\n this.isCloning = false;\r\n\r\n this.controller = this.el.closest('[data-component-controller]').data('component-controller');\r\n\r\n this.siblings = pc ? pc.components[this.group] || [] : [];\r\n\r\n this.selectors = {\r\n editComponent: '> .card > .component-edit > [data-component-role=\"EditComponent\"]',\r\n viewComponent: '> .card > .component-view > [data-component-role=\"ViewComponent\"]',\r\n buttons: {\r\n cancel: '> .card > .component-edit > .component-buttons [data-component-role=\"CancelButton\"]',\r\n clone: '> .card > .component-view > [data-component-role=\"CloneButton\"]',\r\n edit: '> .card > .component-view > .component-buttons > [data-component-role=\"EditButton\"]',\r\n remove: '> .card > .component-edit > .component-buttons [data-component-role=\"RemoveButton\"]',\r\n save: '> .card > .component-edit > .component-buttons [data-component-role=\"SaveButton\"]'\r\n },\r\n validationToken: 'input[name=\"__RequestVerificationToken\"]'\r\n };\r\n\r\n\r\n var controllerUrl = this.page.appPath + '/' + this.controller;\r\n\r\n this.urls = {\r\n view: controllerUrl + '/Show' + this.type,\r\n clone: controllerUrl + '/Show' + this.type + 'CloneForm',\r\n edit: controllerUrl + '/Show' + this.type + 'Form',\r\n save: controllerUrl + '/Update' + this.type,\r\n remove: controllerUrl + '/Remove' + this.type\r\n };\r\n\r\n this.components = {};\r\n this.componentActions = {};\r\n\r\n this.noResultsElement = (pc) ? pc.components[this.group + '-noResults'] || [] : [];\r\n this.viewComponent = '';\r\n this.editComponent = '';\r\n },\r\n PageAction: function (e, pc, page) {\r\n this.el = $(e);\r\n this.parentController = pc || {};\r\n this.page = page || app.page;\r\n this.action = this.el.closest('[data-component-action]').data('component-action');\r\n this.event = this.el.closest('[data-component-action-event]').data('component-action-event') || 'click';\r\n this.type = this.el.closest('[data-component-type]').data('component-type');\r\n this.target = this.el.closest('[data-component-action-target]').data('component-action-target');\r\n this.targetType = this.el.closest('[data-component-action-target-type]').data('component-action-target-type');\r\n this.subtype = this.el.closest('[data-component-subtype]').data('component-subtype');\r\n\r\n switch (this.action) {\r\n case \"filter\":\r\n this.filterField = this.el.closest('[data-component-action-field]').data('component-action-field');\r\n break;\r\n case \"setvalue\":\r\n this.value = this.el.closest('[data-component-action-value]').data('component-action-value');\r\n break;\r\n }\r\n }\r\n };\r\n\r\n //component events\r\n myComponent.Component.prototype.init = function () {\r\n if (this.siblings.length === 0 && this.noResultsElement !== undefined) {\r\n $(this.noResultsElement).slideUp();\r\n }\r\n\r\n if (this.state !== 'active') {\r\n this.startViewMode(true);\r\n } else {\r\n this.bindViewMode();\r\n this.finishLoad();\r\n }\r\n };\r\n myComponent.Component.prototype.finishLoad = function () {\r\n if (this.role === 'accordion') { /*f/b*/ window.Foundation.reInit($('.accordion')); }\r\n if (this.isEditing()) { this.startEditMode(); }\r\n this.page.log(this.type + ' component id ' + this.id + ' loaded.');\r\n };\r\n myComponent.Component.prototype.removeComponent = function () {\r\n var index = this.siblings.indexOf(this);\r\n if (this.siblings.length <= 1) {\r\n $(this.noResultsElement).slideDown();\r\n }\r\n\r\n this.siblings.splice(index, 1);\r\n if (this.role === 'accordion') {\r\n this.el.closest('li.accordion-item').remove();\r\n } else {\r\n this.el.remove();\r\n }\r\n };\r\n myComponent.Component.prototype.bindEditMode = function () {\r\n this.page.bindCheckboxLists(this.el);\r\n this.el.foundation();\r\n\r\n //handle enter keypress on a form\r\n $('form', this.el).on('keydown', $.proxy(function () {\r\n switch (event.keyCode) {\r\n case 13:\r\n // Stop default form submission on \"enter\" click in textbox\r\n if ($(event.target).is(\"input[type='text']\")) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n break;\r\n case 27:\r\n event.preventDefault();\r\n event.stopPropagation();\r\n //this.cancelEditMode();\r\n break;\r\n }\r\n }, this));\r\n\r\n $(document).trigger(\"component-bind-edit-mode-complete\", this);\r\n $(document).trigger(\"component-bind-edit-mode-complete-\" + this.type, this);\r\n\r\n this.bindSubComponents();\r\n };\r\n myComponent.Component.prototype.bindViewMode = function () {\r\n this.editComponent = $(this.selectors.editComponent, this.el);\r\n this.viewComponent = $(this.selectors.viewComponent, this.el);\r\n\r\n $(this.selectors.buttons.edit, this.el).on('click', $.proxy(this.startEditMode, this));\r\n $(this.selectors.buttons.clone, this.el).on('click', $.proxy(this.startCloneMode, this));\r\n $(this.selectors.buttons.cancel, this.el).on('click', $.proxy(this.cancelEditMode, this));\r\n $(this.selectors.buttons.save, this.el).on('click', $.proxy(this.saveEditMode, this));\r\n $(this.selectors.buttons.remove, this.el).on('click', $.proxy(this.startRemove, this));\r\n\r\n this.el.foundation();\r\n\r\n $(document).trigger(\"component-bind-view-mode-complete\", this);\r\n $(document).trigger(\"component-bind-view-mode-complete-\" + this.type, this);\r\n\r\n this.bindSubComponents();\r\n };\r\n myComponent.Component.prototype.bindSubComponents = function () {\r\n var controller = this;\r\n\r\n this.components = {};\r\n $(this.page.selectors.components, this.el).not($(this.page.selectors.components + ' ' + this.page.selectors.components, this.el)).each(function () { controller.page.initComponent(this, controller); });\r\n $(this.page.selectors.componentActions, this.el).not($(this.page.selectors.components + ' ' + this.page.selectors.componentActions, this.el)).each(function () { controller.page.initPageAction(this, controller); });\r\n };\r\n myComponent.Component.prototype.startLoading = function () {\r\n this.el.addClass('component-loading');\r\n $(document).trigger(\"component-loading-start\", this);\r\n };\r\n myComponent.Component.prototype.endLoading = function () {\r\n this.el.removeClass('component-loading');\r\n $(document).trigger(\"component-loading-complete\", this);\r\n };\r\n myComponent.Component.prototype.startViewMode = function (isInit, filterCriteria) {\r\n this.startLoading();\r\n var data;\r\n\r\n if (filterCriteria) {\r\n data = filterCriteria;\r\n } else {\r\n data = { id: this.id, controllerId: this.parentController.id, subtype: this.subtype };\r\n }\r\n\r\n if (this.request != null) {\r\n this.request.abort();\r\n this.request = null;\r\n }\r\n\r\n this.request = $.ajax({ url: this.urls.view, data: data, context: this, error: this.page.handleAjaxError }).done(function (data) {\r\n this.el.html(data);\r\n this.endLoading();\r\n this.bindViewMode();\r\n if (isInit) {\r\n this.finishLoad();\r\n }\r\n });\r\n };\r\n myComponent.Component.prototype.startCloneMode = function () {\r\n this.isCloning = true;\r\n this.startEditMode();\r\n };\r\n myComponent.Component.prototype.startEditMode = function () {\r\n this.startLoading();\r\n\r\n $.ajax({ url: this.urls.edit, data: { id: this.id, controllerId: this.parentController.id, subtype: this.subtype }, context: this, error: this.page.handleAjaxError }).done(function (data) {\r\n this.editComponent.html(data);\r\n\r\n if (this.isCloning) {\r\n $('[name=\"Id\"]', this.editComponent).val(0);\r\n }\r\n this.el.foundation();\r\n this.el.addClass('edit');\r\n this.endLoading();\r\n this.bindEditMode();\r\n });\r\n };\r\n myComponent.Component.prototype.cancelEditMode = function () {\r\n if (this.isCloning) { this.isCloning = false; }\r\n\r\n if (this.id === 0) {\r\n this.removeComponent();\r\n } else {\r\n this.el.removeClass('edit');\r\n }\r\n\r\n $(document).trigger(\"component-edit-cancel\", this);\r\n $(document).trigger(\"component-edit-cancel-\" + this.type, this);\r\n };\r\n myComponent.Component.prototype.saveEditMode = function () {\r\n var form = $('form:not(.component-exclude)', this.editComponent);\r\n $.validator.unobtrusive.parse(form);\r\n\r\n console.log(form.valid());\r\n if (form.valid()) {\r\n var componentTop = this.editComponent.offset().top - 50;\r\n //if the top of the component is off of the page, jump to it\r\n if ($(document).scrollTop() > componentTop)\r\n $('html, body').scrollTop(componentTop);\r\n this.startLoading();\r\n $.ajax({ url: this.urls.save, method: 'post', data: form.serialize(), context: this, error: this.page.handleAjaxError }).done(function (data) {\r\n this.endLoading();\r\n\r\n if (data) {\r\n //check if result is json, if so we have an issue\r\n if (this.page.isJsonString(data)) {\r\n this.page.handleJsonMessage($.parseJSON(data));\r\n } else {\r\n //it worked, replace the current view partial.\r\n this.viewComponent.html(data);\r\n if (this.id === 0 || this.isCloning) {\r\n this.id = parseInt($('[name=\"Id\"]', this.viewComponent).val());\r\n if (this.isCloning) { this.isCloning = false; }\r\n //this.bindViewMode();\r\n }\r\n\r\n this.bindSubComponents();\r\n $(document).trigger(\"component-save-complete\", this);\r\n $(document).trigger(\"component-save-complete-\" + this.type, this);\r\n this.cancelEditMode();\r\n }\r\n } else {\r\n $(app.page.selectors.modals.saveError).foundation('open');\r\n }\r\n });\r\n }\r\n else {\r\n //Give focus to the first error\r\n var firstError = $('#' + $('.field-validation-error', form).data('valmsg-for'));\r\n if (firstError.length) {\r\n $('html, body').animate({\r\n scrollTop: firstError.offset().top - 50\r\n }, 500);\r\n }\r\n }\r\n };\r\n myComponent.Component.prototype.startRemove = function () {\r\n if (this.id === 0) {\r\n this.removeComponent();\r\n } else {\r\n if (this.urls.remove !== undefined && this.urls.remove !== '') {\r\n app.page.currentComponent = this;\r\n $(app.page.selectors.modals.removeConfirm).foundation('open');\r\n }\r\n }\r\n };\r\n myComponent.Component.prototype.confirmRemove = function () {\r\n if (this.urls.remove !== undefined && this.urls.remove !== '') {\r\n this.el.removeClass('edit');\r\n this.startLoading();\r\n\r\n $.ajax({ url: this.urls.remove, method: 'post', data: { id: this.id, controllerId: this.parentController.id, __RequestVerificationToken: $(this.selectors.validationToken, this.editComponent).val() }, context: this, error: this.page.handleAjaxError }).done(function (data) {\r\n if (data) {\r\n if (this.page.isJsonString(data)) {\r\n if (this.page.handleJsonMessage($.parseJSON(data))) {\r\n this.el.addClass('edit');\r\n this.endLoading();\r\n } else {\r\n this.removeComponent();\r\n $(document).trigger(\"component-remove-complete\", this);\r\n $(document).trigger(\"component-remove-complete-\" + this.type, this);\r\n }\r\n }\r\n } else {\r\n this.el.addClass('edit');\r\n this.endLoading();\r\n $('#saveErrorModal').foundation('open');\r\n }\r\n });\r\n }\r\n };\r\n\r\n //component derived properties\r\n myComponent.Component.prototype.isEditing = function () {\r\n return this.el.hasClass('edit');\r\n };\r\n myComponent.PageAction.prototype.triggerAction = function (e) {\r\n this.page.log('component action ' + this.action + ' for ' + this.target + ' triggered.');\r\n\r\n switch (this.action) {\r\n case \"add\":\r\n this.pageComponentActionAdd(this.el, this.parentController, this.target);\r\n break;\r\n case \"filter\":\r\n this.pageComponentActionFilter(this.el, this.target);\r\n break;\r\n case \"filterserver\":\r\n this.pageComponentActionFilterServer(this.el, this.target, e);\r\n break;\r\n case \"refresh\":\r\n this.pageComponentActionRefresh(this.el, this.target);\r\n break;\r\n case \"setoptions\":\r\n this.pageComponentActionUpdateSetOptions(this.el, this.target);\r\n break;\r\n case \"setvalue\":\r\n this.pageComponentActionUpdateSetValue(this.el, this.target);\r\n break;\r\n case \"setvisibility\":\r\n this.pageComponentActionUpdateSetVisibility(this.el, this.target);\r\n break;\r\n case \"updateid\":\r\n this.pageComponentActionUpdateId(this.el, this.target);\r\n break;\r\n case \"updatesubtype\":\r\n this.pageComponentActionUpdateSubtype(this.el, this.target);\r\n break;\r\n }\r\n\r\n this.postAction();\r\n };\r\n myComponent.PageAction.prototype.postAction = function () { };\r\n myComponent.PageAction.prototype.pageComponentActionAdd = function (el, pc, t) {\r\n var target = $('[data-role~=\"component-action-target\"][data-component-target=\"' + t + '\"]', pc.el);\r\n var componentWrapper;\r\n\r\n if (el.data('component-template') && $('[data-role~=\"component-template\"][data-template-name=\"' + el.data('component-template') + '\"]')) {\r\n componentWrapper = $('[data-role~=\"component-template\"][data-template-name=\"' + el.data('component-template') + '\"]').html();\r\n } else {\r\n var wrapperType = el.data('component-wrapper-type') ? el.data('component-wrapper-type') : 'div';\r\n componentWrapper = '<' + wrapperType + ' class=\"edit ' + (el.data('component-wrapper-class') ? el.data('component-wrapper-class') : \"\") + '\" data-role=\"component\" data-component-id=\"0\">' + wrapperType + '>';\r\n }\r\n\r\n if (el.data('parent-id')) {\r\n pc.id = el.data('parent-id');\r\n }\r\n var newComponentSelector;\r\n switch (target.data('component-insert-type')) {\r\n case 'append':\r\n target.append(componentWrapper);\r\n newComponentSelector = $('[data-role~=\"component\"]:last', target);\r\n break;\r\n case 'sibling-append':\r\n target.after(componentWrapper);\r\n newComponentSelector = target.next();\r\n break;\r\n case 'sibling-prepend':\r\n target.before(componentWrapper);\r\n newComponentSelector = target.prev();\r\n break;\r\n default:\r\n target.prepend(componentWrapper);\r\n newComponentSelector = $('[data-role~=\"component\"]:first', target);\r\n break;\r\n }\r\n\r\n this.subtype = this.el.closest('[data-component-subtype]').data('component-subtype');\r\n\r\n this.page.initComponent(newComponentSelector, pc, this.subtype);\r\n $(document).trigger(\"component-add-complete\", newComponentSelector);\r\n $(componentWrapper).foundation();\r\n };\r\n myComponent.PageAction.prototype.pageComponentActionFilter = function (el, t) {\r\n\r\n var context = $('[data-role~=\"component-action-target\"][data-component-target~=\"' + this.target + '\"]');\r\n var rows = $('[data-role~=\"component\"]', context);\r\n var form = $('form[data-role=\"filter-server-form\"][data-component-action-target-type~=\"' + this.targetType + '\"]');\r\n rows.show();\r\n\r\n $(':input', form).each(function (i, e) {\r\n var el = $(e);\r\n if (el.val() !== '') {\r\n var field;\r\n\r\n if (el.data('target')) {\r\n field = '[data-label=\"' + el.data('target') + '\"]';\r\n }\r\n else {\r\n field = '[data-label]';\r\n }\r\n\r\n var values = el.val().toUpperCase().split(/\\s+/);\r\n rows.each(function (i, e) {\r\n var hide = false;\r\n\r\n $.each(values, function (index, v) {\r\n if ($(field + ':icontains(\"' + v + '\")', e).length < 1) {\r\n hide = true;\r\n return;\r\n }\r\n });\r\n if (hide) {\r\n $(e).hide();\r\n }\r\n });\r\n }\r\n });\r\n\r\n };\r\n myComponent.PageAction.prototype.pageComponentActionFilterServer = function (el, t,e) {\r\n\r\n if (e === undefined || e.type !== \"keyup\" || app.page.isPrintableCharacter(e.keyCode)) {\r\n //if keyup, add a delay\r\n var delay = 300;\r\n if (e !== undefined && e.type !== \"keyup\") {\r\n delay = 0;\r\n }\r\n\r\n if (this.timeout !== null) { clearTimeout(this.timeout); }\r\n var that = this;\r\n this.timeout = setTimeout(function () {\r\n\r\n var form = $('form[data-role=\"filter-server-form\"][data-component-action-target-type=\"' + that.targetType + '\"]');\r\n\r\n var dataRoles = el.data('role');\r\n if (dataRoles.indexOf('page-size') !== -1) {\r\n\r\n //append to form\r\n if (form.find('[name=\"pageSize\"]').length) {\r\n form.find('[name=\"pageSize\"]').val(el.val());\r\n } else {\r\n //add to form\r\n $('').attr({\r\n type: 'hidden',\r\n id: 'pageSize',\r\n name: 'pageSize',\r\n value: el.val()\r\n }).appendTo(form);\r\n }\r\n }\r\n\r\n var filters = form.serializeArray();\r\n\r\n if (el.data('pageValue')) {\r\n filters.push({ name: \"pageNumber\", value: el.data('pageValue') });\r\n }\r\n\r\n var target = that.page.components[that.targetType][0];\r\n target.startViewMode(false, $.param(filters));\r\n\r\n }, delay,el, that);\r\n }\r\n };\r\n myComponent.PageAction.prototype.pageComponentActionRefresh = function (el, t) {\r\n var target = this.page.components[t][0];\r\n if (target) {\r\n target.startViewMode();\r\n }\r\n };\r\n myComponent.PageAction.prototype.pageComponentActionUpdateId = function (el, t) {\r\n var target = this.page.components[t][0];\r\n var val;\r\n if (el.data('component-action-updateid-value')) {\r\n val = el.data('component-action-updateid-value');\r\n } else {\r\n val = el.val();\r\n }\r\n if (val.length > 0) {\r\n target.id = val;\r\n target.startViewMode();\r\n }\r\n };\r\n myComponent.PageAction.prototype.pageComponentActionUpdateSubtype = function (el, t) {\r\n var target = $('[data-role~=\"component-action-target\"][data-component-target=\"' + t + '\"]');\r\n target.data('component-subtype', el.val());\r\n };\r\n myComponent.PageAction.prototype.pageComponentActionUpdateSetOptions = function (el, t, e) {\r\n var targets = $('[data-component-target=\"' + t + '\"]');\r\n var values = $('input:checked', el);\r\n targets.each(function (i, e) {\r\n var targetField = $(e).data('component-action-setoptions-field');\r\n \r\n switch ($(e).data('component-action-setoptions-type')) {\r\n case \"showequal\":\r\n //remove all options\r\n if (values.length === 0 || values[0].value === '0') {\r\n $('.select-many-checkbox', e).show();\r\n } else {\r\n $('.select-many-checkbox', e).hide();\r\n $('.select-many-checkbox', e).prop('checked', false).trigger(\"change\");\r\n\r\n values.each(function (i2, e2) {\r\n var value = $(e2).val();\r\n //re add for thisv value\r\n $('.select-many-checkbox', e).each(function () {\r\n if ($('input', this).attr(targetField) === value) {\r\n $(this).show();\r\n }\r\n });\r\n });\r\n }\r\n break;\r\n }\r\n });\r\n };\r\n myComponent.PageAction.prototype.pageComponentActionUpdateSetValue = function (el, t) {\r\n var target = $(t);\r\n target.val($(el).data(\"component-action-value\"));\r\n };\r\n myComponent.PageAction.prototype.pageComponentActionUpdateSetVisibility = function(el, t) {\r\n var targets = $('[data-component-target=\"' + t + '\"]');\r\n var val = el.val();\r\n targets.each(function(i, e) {\r\n switch($(e).data('component-action-setvisibility-type')) {\r\n case \"showequal\":\r\n if (val === $(e).data('component-action-setvisibility-value').toString()) {\r\n $(e).slideDown();\r\n } else {\r\n $(e).slideUp();\r\n }\r\n break;\r\n }\r\n });\r\n };\r\n\r\n return myComponent;\r\n}());\r\n\r\n$(function () {\r\n app.page = new app.Page(window.applicationPath);\r\n $(document).trigger('page-init-complete');\r\n});","//*************************************************************************************\r\n//* Session specific code\r\n//*\r\n//* 6/13/18 Kraus [COM-136]: Created\r\n//*************************************************************************************\r\n\r\napp.ActivityLog = (function () {\r\n var options = [];\r\n var myActivityLog = {\r\n Init: function (gridId) {\r\n $(\"#divActivityLog\").on('click', \".fa-chevron-down\", function () {\r\n $(this).parent().next().slideDown(500);\r\n app.ActivityLog.GetActivityLogResults();\r\n $(this).parent().attr('title', 'Hide Activity Log');\r\n $(this).removeClass(\"fa-chevron-down\");\r\n $(this).addClass(\"fa-chevron-up\");\r\n });\r\n\r\n $(\"#divActivityLog\").on('click', \".fa-chevron-up\", function () {\r\n $(this).parent().next().slideUp(500);\r\n $(this).parent().attr('title', 'Show Activity Log');\r\n $(this).removeClass(\"fa-chevron-up\");\r\n $(this).addClass(\"fa-chevron-down\");\r\n });\r\n\r\n\r\n $(\"#grdActivityLog\").kendoGrid({\r\n columns: [\r\n {\r\n field: \"Id\",\r\n hidden: true\r\n },\r\n {\r\n field: \"Message\",\r\n title: \"Message\",\r\n width: \"100px\"\r\n },\r\n {\r\n field: \"UserName\",\r\n title: \"User Name\",\r\n width: \"75px\"\r\n },\r\n {\r\n field: \"Timestamp\",\r\n title: \"Timestamp\",\r\n width: \"100px\"\r\n },\r\n {\r\n field: \"Before\",\r\n title: \"Before\",\r\n encoded: false,\r\n width: \"400px\"\r\n },\r\n {\r\n field: \"After\",\r\n title: \"After\",\r\n encoded: false,\r\n width: \"400px\"\r\n }\r\n ],\r\n toolbar: [\"excel\"],\r\n excel: {\r\n allpages: true,\r\n fileName: $(\"#grdActivityLog\").data(\"file-name\")\r\n },\r\n scrollable: false,\r\n resizable: true,\r\n sortable: true,\r\n columnMenu: true,\r\n groupable: {\r\n messages: {\r\n empty: \"Drop columns here to group by\"\r\n }\r\n }\r\n });\r\n app.KendoGrids.InitPersistentGrid(\"grdActivityLog\", false);\r\n },\r\n GetActivityLogResults: function () {\r\n if ($(\"#grdActivityLog\").css('display') == 'none' || $(\"#grdActivityLog\").css(\"visibility\") == \"hidden\") {\r\n return;\r\n }\r\n app.KendoGrids.GetResults(\"grdActivityLog\");\r\n\r\n //kendo.ui.progress($('#grdActivityLog'), true);\r\n //$.ajax({\r\n // type: 'POST',\r\n // dataType: 'json',\r\n // url: $('#grdActivityLog').data('url'),\r\n // data: JSON.stringify({\r\n // 'logs': $('#grdActivityLog').data('logs'),\r\n // }),\r\n // contentType: \"application/json; charset=utf-8\",\r\n // success: function (results) {\r\n // var dataSource = new kendo.data.DataSource({ data: results });\r\n // var grid = $('#grdActivityLog').data(\"kendoGrid\");\r\n // grid.setDataSource(dataSource);\r\n // kendo.ui.progress($('#grdActivityLog'), false);\r\n // },\r\n // error: function (results) {\r\n // kendo.ui.progress($('#grdActivityLog'), false);\r\n // }\r\n //});\r\n }\r\n };\r\n return myActivityLog;\r\n}());\r\n","//*************************************************************************************\r\n//* Session specific code\r\n//*\r\n//* 6/13/18 Kraus [COM-136]: Created\r\n//*************************************************************************************\r\n\r\napp.Committee = (function () {\r\n var myCommittee = {\r\n Index: function () {\r\n $(\"#committee-grid\").kendoGrid(\r\n {\r\n columns: [\r\n {\r\n field: \"CommitteeId\",\r\n hidden: true\r\n },\r\n {\r\n field: \"Name\",\r\n title: \"Title\",\r\n width: \"200px\"\r\n },\r\n {\r\n field: \"CommitteeType\",\r\n title: \"Committee Type\",\r\n //width: \"150px\"\r\n },\r\n {\r\n field: \"HrType\",\r\n title: \"HR Type\",\r\n //width: \"150px\"\r\n },\r\n {\r\n field: \"hasVacancies\",\r\n title: \"Vacancies\",\r\n //width: \"60px\"\r\n },\r\n {\r\n field: \"Members\",\r\n title: \"Seat Count\",\r\n //width: \"75px\"\r\n },\r\n {\r\n template: \"Details\"\r\n }],\r\n toolbar: [\"excel\"],\r\n excel: {\r\n fileName: \"AllCommittees\" + app.Committee.ConvertDate(new Date()) + \".xlsx\"\r\n },\r\n scrollable: false,\r\n sortable: true,\r\n columnMenu: true,\r\n groupable: {\r\n messages: {\r\n empty: \"Drop columns here to group by\"\r\n }\r\n }\r\n });\r\n\r\n app.KendoGrids.InitPersistentGrid(\"committee-grid\", true);\r\n //$(document).ready(function () {\r\n // $(\"#txtCommitteeSeatExpectedStartDate\").on('change', function () {\r\n // var startDate = new Date($(\"#txtCommitteeSeatExpectedStartDate\").val());\r\n // var defaultTermLength = parseInt($(\"#hdnDefaultTerm\").val());\r\n // var endDate = new Date(startDate.setYear(startDate.getFullYear() + defaultTermLength));\r\n // endDate.setDate(endDate.getDate() - 1);\r\n // $(\"#txtCommitteeSeatExpectedEndDate\").val(endDate.toLocaleDateString());\r\n // });\r\n //});\r\n },\r\n Details: function () {\r\n app.Prospective.Init(\"gridProspectiveMember\");\r\n app.Committee.InitCommitteeSeatEdit();\r\n app.Committee.InitFileTypeCopy();\r\n app.Committee.InitAutoDateUpdate();\r\n \r\n $(document).on('click', \"[data-role='add-committee-seat']\",\r\n function (e) {\r\n app.Committee.EditCommitteeSeatDetails(e);\r\n });\r\n $(document).on('click', \"[data-role='update-committee-seat']\",\r\n function () {\r\n app.Committee.UpdateCommitteeSeat(this, $(this).data('post-url'));\r\n });\r\n $(document).on('click', \"[data-role='toggle-private-documents']\",\r\n function () {\r\n var componentTypeTarget = $(this).data('component-target');\r\n var publicDocs = $('[data-role=\"file-upload-view\"][data-is-private=\"False\"]', $('[data-component-type=\"' + componentTypeTarget + '\"]'));\r\n\r\n if ($(this).html().toLowerCase().indexOf(\"only\") > 0) {\r\n //hide docs\r\n publicDocs.closest(\".card\").hide();\r\n $(this).html('Show all Documents');\r\n }\r\n else {\r\n publicDocs.closest(\".card\").show();\r\n $(this).html('Show Only Private Documents');\r\n }\r\n });\r\n\r\n var isAdmin = $(\"#gridSeatHistory\").data('is-admin') == 'True';\r\n var gridColumns = [{\r\n field: \"Chair\",\r\n title: \"Chair\"\r\n },\r\n {\r\n field: \"Title\",\r\n title: \"Title\",\r\n hidden: true\r\n },\r\n {\r\n field: \"DepartmentName\",\r\n title: \"Department Name\"\r\n },\r\n {\r\n field: \"Division\",\r\n title: \"Division\",\r\n hidden: true\r\n },\r\n {\r\n field: \"Department\",\r\n title: \"Department\",\r\n hidden: true\r\n },\r\n {\r\n field: \"Subdepartment\",\r\n title: \"Subdepartment\",\r\n hidden: true\r\n },\r\n {\r\n field: \"SeatType\",\r\n title: \"Seat Type\"\r\n },\r\n {\r\n field: \"FillCommitteeSeatType\",\r\n title: \"Fill Type\",\r\n hidden: true\r\n },\r\n {\r\n field: \"FillAuthorityCommitteeSeatType\",\r\n title: \"Fill Authority\",\r\n hidden: true\r\n },\r\n {\r\n field: \"FacultyDivision\",\r\n title: \"Faculty Division\",\r\n hidden: true\r\n },\r\n {\r\n field: \"District\",\r\n title: \"District\",\r\n hidden: true\r\n }];\r\n\r\n\r\n if (isAdmin) {\r\n gridColumns.splice(0, 0,\r\n {\r\n field: \"SeatMemberId\",\r\n title: \"Seat Member Id\",\r\n hidden: true\r\n\r\n },\r\n {\r\n field: \"FirstName\",\r\n title: \"First Name\",\r\n template: \"# if(UserAddress != ''){##:FirstName##}else{#