Learn about Community
Sign In
You're signed out
Sign in to ask questions, follow content, and engage with the Community
Sign In
'; hoverCardInner.innerHTML = loadingHTML.repeat(4); hoverCardContainer.classList.add('profile-hover-card-show'); // Extract information from the image element const titleField = avatar.getAttribute('title'); const userInfoUrl = `https://${mainURL}/api/2.0/search?q=SELECT first_name, last_name, login, view_href, rank, topics, solutions_authored, id, email FROM users WHERE login = '${titleField}'`; const userPostsUrl = `https://${mainURL}/api/2.0/search?q=SELECT count(*) FROM messages WHERE author.login = '${titleField}'`; const userSolutionsUrl = `https://${mainURL}/api/2.0/search?q=SELECT count(*) FROM messages WHERE author.login = '${titleField}' AND is_solution = true`; const userBadgesUrl = `https://${mainURL}/api/2.0/search?q=SELECT user_badges from users where login = '${titleField}'`; // Fetch user information async function createProfileData() { const userInfo = await fetch(userInfoUrl); const userPosts = await fetch(userPostsUrl); const userSolutions = await fetch(userSolutionsUrl); const userBadges = await fetch(userBadgesUrl); const userInfoData = await userInfo.json(); const userPostsData = await userPosts.json(); const userSolutionsData = await userSolutions.json(); const userBadgesData = await userBadges.json(); const userBadgesArray = userBadgesData.data.items[0].user_badges.items; const earnedBadgesArray = userBadgesArray.filter(badge => badge.earned_date); earnedBadgesArray.sort((a, b) => new Date(b.earned_date) - new Date(a.earned_date)); const userRankName = userInfoData.data.items[0].rank.name; const userID = userInfoData.data.items[0].id; // const userKudosUrl = `https://${mainURL}/restapi/vc/users/id/${userID}/metrics/name/net_kudos_events_received?restapi.response_format=json`; const userKudos = await fetch(userKudosUrl); const userKudosData = await userKudos.json(); let fullName = userInfoData.data.items[0].login; if (userInfoData.data.items[0].first_name !== undefined && userInfoData.data.items[0].last_name !== undefined) { let firstName = userInfoData.data.items[0].first_name; let lastName = userInfoData.data.items[0].last_name; fullName = firstName + " " + lastName; } else { fullName = userInfoData.data.items[0].login; } let userRankIcon = ""; if (userInfoData.data.items[0].rank.icon_left !== undefined) { userRankIcon = userInfoData.data.items[0].rank.icon_left; } else { userRankIcon = ""; } let userEmail = ""; // <#if user_has_role> if (userInfoData.data.items[0].email !== undefined) { userEmail = userInfoData.data.items[0].email; } else { userEmail = ""; } // <#else> userEmail = ""; // #if> const userViewHref = userInfoData.data.items[0].view_href; const userPostsCount = userPostsData.data.count; const userSolutionsCount = userSolutionsData.data.count; const userKudosCount = userKudosData.response.value.$; const userBadgesCount = earnedBadgesArray.length; let badgesHTML = ""; if (earnedBadgesArray.length === 0) { badgesHTML = `
This user hasn't earned any badges yet.
`; } else { for (let i = 0; i < earnedBadgesArray.length; i++) { const badgeName = earnedBadgesArray[i].badge.title; const badgeIcon = earnedBadgesArray[i].badge.icon_url; const badgeHTML = `
`; badgesHTML += badgeHTML; if (i >= 4) { break; } }; } const hoverCardHTML = `
${userRankName}
${userEmail}
${badgesHTML}
`; // // Display the hover card return hoverCardHTML; } if (hoverCardInner.innerHTML.includes('loading-box')) { createProfileData().then((hoverCardHTML) => { hoverCardInner.innerHTML = hoverCardHTML; }); } } }); //Hide the hover card on mouseout avatar.addEventListener('mouseout', () => { const hoverCardContainer = avatar.nextElementSibling; hoverCardContainer.classList.remove('profile-hover-card-show'); }); hoverCardInner.addEventListener('mouseout', () => { const hoverCardContainer = avatar.nextElementSibling; hoverCardContainer.classList.remove('profile-hover-card-show'); }); hoverCardInner.addEventListener('mouseover', () => { const hoverCardContainer = avatar.nextElementSibling; hoverCardContainer.classList.add('profile-hover-card-show'); }); }); });
Turn on suggestions Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
Showing results for
Showonly | Search instead for
Did you mean:
- Community
- Explore
- Instructure Community Hub
- Community Campaigns
- Download the Canvas Mobile Apps
Options
- Subscribe to RSS Feed
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
`); } else { // findSchoolBtn.style.display = 'none'; } $('#find-school-btn').click(function () { $('.find-school-modal').append(`
Find your school's Canvas URL
To find your school or institution's Canvas URL, begin typing the name of your school/institution. Results will appear after you type at least 3 characters. For best results be as specific as possible. If you can't find your school, try using any part of your school's name or searching for your school district or state. You may also need to search for the school using the acronym or full name, for example "USU" and "Utah State University".
`); $('.find-school-modal').addClass('fs-active'); let searchText = "Couldn't find anything, please try again."; let resultsText = document.getElementById("results"); let searchQueryInput = document.getElementById("search-text"); var resultsData; let findSchoolBtn = document.querySelector('#find-school-btn'); const loaderContainer = document.querySelector('.loader-container'); const loaderSpinner = document.querySelector('.fs-spinner'); let searchForm = document.getElementById("search-text"); $('#search-text').keyup(function (e) { resultsText.innerHTML = ''; clearTimeout(timeoutID); const value = e.target.value; timeoutID = setTimeout(() => getSchools(value), 1000); }); function closeWindow() { $('.find-school-modal').removeClass('fs-active'); $('.find-school-wrapper').remove(); resultsText.innerHTML = ''; searchForm.value = ''; } $(document).keyup(function (e) { if (e.key === "Escape") { closeWindow(); } }); $('#fs-close-btn').click(function () { closeWindow(); }) const options = { method: "GET" }; const displayLoading = () => { loaderContainer.style.display = 'flex'; loaderContainer.classList.add('loader-active'); }; const hideLoading = () => { loaderContainer.classList.remove('loader-active'); loaderContainer.style.zIndex = "-99"; }; $('#find-school-form').submit(function (e) { e.preventDefault(); }); function getSchools(searchValue) { if (searchValue.length >= 3) { displayLoading(); let searchQuery = searchForm.value; fetch(`https://canvas.instructure.com/api/v1/accounts/search?name=${searchQuery}&per_page=20`, options) .then((response) => response.json()) .then(data => resultsData = data) .then((data) => { if (resultsData.length > 0) { for (let i = 0; i < resultsData.length; i++) { schoolName = resultsData[i].name; schoolURL = resultsData[i].domain; hideLoading(); resultsText.innerHTML += `
` } } else { hideLoading(); resultsText.innerHTML += `
We couldn't find anything for that search term. Try searching for something else.
` } }) .catch((err) => console.error(err)); } else { hideLoading(); } } }); });
Download the Canvas Mobile Apps
Looking for the Canvas Mobile Apps? Download them using the links below:
0Likes
Was this article helpful?YesNo
Embed this guide in your Canvas course:
Note: You can only embed guides in Canvas courses. Embedding on other sites is not supported.
`; embedBtn.addEventListener("click", function () { insertEmbedCode(embedCode) embedContainer.classList.toggle("embed-hidden"); }); if (navigator.clipboard) { let button = document.createElement("button"); button.innerText = copyButtonLabel; button.addEventListener("click", copyCode); embedTextAreaPre.parentNode.insertBefore(button, embedTextAreaPre.nextSibling); } } catch (error) { // Handle errors here if necessary console.error(error); } })(); function insertEmbedCode(text) { embedTextAreaCode.innerText = text; } async function copyCode(event) { const button = event.srcElement; let text = embedTextAreaCode.innerText; await navigator.clipboard.writeText(text); button.innerText = "Code Copied!"; setTimeout(() => { button.innerText = copyButtonLabel; }, 5000) }