<!DOCTYPE html>
<html lang="en" class="">
<head><script>
// Check if the method includes is defined
if ( ! String.prototype.includes ){
// Otherwise, define it
String.prototype.includes = function( search, start ){
if ( typeof start !== 'number' ){
start = 0;
}
if ( start + search.length > this.length ){
return false;
} else {
return this.indexOf(search, start) !== -1;
}
};
}
// Define function to get parameters from the URL
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var actor = JSON.parse(getParameterByName('actor'));
var baseUrl = getParameterByName('base_url');
var nonce = getParameterByName('nonce');
var email = actor.mbox[0].replace('mailto:', '');
var postId = getParameterByName('auth').replace('LearnDashId', '');
</script>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
<title>Module 2: Determining Urgency (Point Person, Mental Health Professional)</title>
<link type="text/css" rel="stylesheet" href="lib/icomoon.css">
<script type="text/javascript" src="lib/player-0.0.11.min.js"></script>
<script type="text/javascript" src="lib/lzwcompress.js"></script>
<!-- Resize Hack -->
<script type="text/javascript">
window.resizeTo(screen.width, screen.height);
</script>
<script type="text/javascript" src="tc-config.js"></script>
<script type="text/javascript" src="lib/tincan.js"></script>
<script type="text/javascript" src="lib/lms.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script id="__ENTRY__" type="application/json">
{".js":["rise/ec8a3bfc.js"]}
</script>
<script id="__REMOTE_ENTRIES__" type="application/json">
{"mondrian":{".js":["mondrian/entry.js"]}}
</script>
<script>
(function() {
const jsonp = {}
function loadModule(manifest) {
const p = []
if (manifest['.css'] != null) {
for (var idx = 0; idx < manifest['.css'].length; idx++) {
p.push(new Promise((resolve, reject) => {
var link = document.createElement('link')
link.onload = resolve
link.onerror = reject
link.rel = 'stylesheet'
link.href = 'lib/' + manifest['.css'][idx]
document.body.appendChild(link)
}))
}
}
if (manifest['.js'] != null) {
for (var idx = 0; idx < manifest['.js'].length; idx++) {
p.push(new Promise((resolve, reject) => {
var script = document.createElement('script')
script.onload = resolve
script.onerror = reject
script.src = 'lib/' + manifest['.js'][idx]
document.body.appendChild(script)
}))
}
}
return Promise.all(p)
}
function deserialize(str) {
const buffer = Uint8Array.from(atob(str), c => c.charCodeAt(0))
const json = new TextDecoder().decode(buffer)
const result = JSON.parse(json)
return result
}
function __loadEntry() {
return loadModule(JSON.parse(document.getElementById('__ENTRY__').textContent))
}
function __loadRemoteEntry(name) {
const manifest = JSON.parse(document.getElementById('__REMOTE_ENTRIES__').textContent)
if (manifest[name] == null) throw new Error(`Missing manifest for remote entry "${name}".`)
return loadModule(manifest[name])
}
async function __loadJsonp(id, path) {
try {
return await new Promise((resolve, reject) => {
try {
jsonp[id] = resolve
const script = document.createElement('script')
script.onerror = reject
script.src = `./${path}`
document.head.appendChild(script)
} catch (err) {
reject(err)
}
})
} finally {
delete jsonp[id]
}
}
function __resolveJsonp(id, data) {
const resolve = jsonp[id]
if (typeof resolve !== 'function') {
throw new Error(`Could not load JSONP "${id}"`)
}
resolve(data)
}
async function __fetchCourse(name) {
name = name == null ? window.i18n.default : name
if (!window.i18n.available.includes(name)) {
console.warn(`Could not load locale "${name}"`)
name = window.i18n.available[0]
}
const encoded = await __loadJsonp(`course:${name}`, `locales/${name}.js`)
const courseData = deserialize(encoded)
return courseData
}
window.__loadEntry = __loadEntry
window.__loadRemoteEntry = __loadRemoteEntry
window.__loadJsonp = __loadJsonp
window.__resolveJsonp = __resolveJsonp
window.__fetchCourse = __fetchCourse
})()
</script>
</head>
<body>
<div id="app"></div>
<script>
(function(root) {
window.i18n = {"available":["und"],"default":"und"};
window.partnerContent = [];
var quizId = null;
var storylineId = null;
var completionPercentage = 100;
var LMSProxy = lms();
var assign = LMSProxy.utils.assign;
var debounce = LMSProxy.utils.debounce;
var cache = null;
LMSProxy.InitCompletion(isComplete);
function compress(data) {
try {
return JSON.stringify({
v: 2,
d: lzwCompress.pack(JSON.stringify(data)),
cpv: "atVsxml6"
});
} catch(e) {
return '';
}
}
function decompress(stringData) {
try {
const data = JSON.parse(stringData);
return data.d
? JSON.parse(lzwCompress.unpack(data.d))
: data;
} catch(e) {
return {};
}
}
function identity(value) {
return value;
}
var sendChunkData = debounce(function() {
LMSProxy.SetDataChunk(compress(cache));
}, 1000);
function isPassed() {
return !!getLMSData().passed;
}
function isComplete() {
var progress;
if(quizId === null) {
progress = getLMSData().totalProgress;
return (progress !== undefined && progress >= completionPercentage);
}
return getLMSData().passed !== undefined;
}
function getLMSData() {
var data = null;
if(!cache) {
data = LMSProxy.GetDataChunk();
var result = data
? decompress(data)
: {};
cache = result;
}
return cache;
}
function concatLMSData(data) {
assign(cache, data);
sendChunkData();
}
function completeOut(passed) {
if(passed) {
LMSProxy.SetPassed();
} else {
LMSProxy.SetFailed();
}
}
function bookmark(id) {
var url = '#/lessons/' + id;
LMSProxy.SetBookmark(url, '');
}
function reportScore(score) {
var highScore = Math.max(getLMSData().score || 0, score);
if(highScore === score) {
concatLMSData({ score: highScore });
LMSProxy.SetScore(highScore, 100, 0);
}
}
function finish(totalProgress) {
if (
quizId === null &&
storylineId === null &&
!isComplete() &&
completionPercentage !== undefined
) {
if(totalProgress >= completionPercentage) {
concatLMSData({ totalProgress: totalProgress });
completeOut(true);
}
}
}
function finishQuiz(passed, score, id) {
if (id == quizId) {
var prevScore = getLMSData().score
reportScore(score);
if(prevScore == null || prevScore < score) {
concatLMSData({ passed: passed });
completeOut(passed);
}
}
}
function finishStoryline(id, passed, isQuiz, score) {
if (id == storylineId) {
if(isQuiz) {
reportScore(score);
}
completeOut(passed);
}
}
function getProgress(initialProgress) {
var decodeCourseProgress =
root.Rise.decodeCourseProgress;
var progress = assign({}, {
progress: { lessons: {} }
}, getLMSData()).progress;
if(initialProgress) {
return decodeCourseProgress(initialProgress, progress);
}
return progress;
}
function isExport() {
return true;
}
function setLessonProgress(lessonProgress) {
var encodeLessonProgress =
root.Rise.encodeLessonProgress;
var currentProgress = getProgress();
var lessons = assign(
{},
currentProgress.lessons,
encodeLessonProgress(lessonProgress)
);
var progress = assign({}, currentProgress, { lessons: lessons });
concatLMSData({ progress: progress });
}
function setCourseProgress(courseProgress, lessonPayload) {
var encodeCourseProgress =
root.Rise.encodeCourseProgress;
var currentProgress = getProgress();
var lessonId = lessonPayload.id;
var progress = assign(
{},
currentProgress,
encodeCourseProgress(courseProgress)
);
concatLMSData({ progress: progress });
LMSProxy.FinishLesson(courseProgress.percentComplete, lessonId);
}
function resolvePath(path) {
return ('assets/').concat(path);
}
function resolveFontPath(font) {
return ('lib/fonts/').concat(font.key.split('/').reverse()[0]);
}
function exit() {
LMSProxy.ConcedeControl();
}
function reportAnswer(data) {
return LMSProxy.ReportAnswer(data);
}
function fetchAvailableLocales() {
return window.i18n
}
root.Rise = {
completeLessons: identity,
decodeCourseProgress: identity,
encodeCourseProgress: identity,
encodeLessonProgress: identity,
}
root.Runtime = {
bookmark: bookmark,
exit: exit,
fetch: window.__fetchCourse,
fetchAvailableLocales: fetchAvailableLocales,
finish: finish,
finishQuiz: finishQuiz,
finishStoryline: finishStoryline,
getProgress: getProgress,
isExport: isExport,
reportAnswer: reportAnswer,
resolvePath: resolvePath,
resolveFontPath: resolveFontPath,
setLessonProgress: setLessonProgress,
setCourseProgress: setCourseProgress
};
}(window));
</script>
</body>
</html>