` } else { innerCard.innerHTML = `
` } if (userIdInfo.data.items[0].rank.icon_right !== undefined) { innerCard.innerHTML += `
${rankName}
` } else { innerCard.innerHTML += `
${rankName}
` } let imgWrapper = document.createElement('div'); imgWrapper.className = 'hc-img-section'; innerCard.appendChild(imgWrapper); let userBadgeArr = userIdInfo.data.items[0].user_badges.items; if (userBadgeArr.length === 0) { innerCard.innerHTML += `
This user hasn't earned a badge yet
` } else { for (let i = 0; i < userBadgeArr.length; i++) { imgWrapper.innerHTML += `
` if (i >= 4) { break; } } } let kudosCountUrlID = `https://${mainURL}/api/2.0/search?q=SELECT type FROM kudos WHERE message.author.id = '${userID}' LIMIT 20000` let pcResponse = await fetch(postCountUrlID); let pcData = await pcResponse.json(); let kcResponse = await fetch(kudosCountUrlID); let kcData = await kcResponse.json(); let solResponse = await fetch(solCountUrlID); let scData = await solResponse.json(); let statsWrapper = document.createElement('section'); statsWrapper.className = 'hc-user-stats-section'; innerCard.appendChild(statsWrapper); if (pcData.data.count == undefined) { statsWrapper.innerHTML += `0 posts` } else { statsWrapper.innerHTML += `${pcData.data.count} posts` } if (kcData.data.size == undefined) { statsWrapper.innerHTML += `0 kudos` } else { statsWrapper.innerHTML += `${kcData.data.size} kudos` } if (scData.data.count == undefined) { statsWrapper.innerHTML += `0 solutions` } else { statsWrapper.innerHTML += `${scData.data.count} solutions` } } getUserAvatarsAlt(); x.addEventListener('mouseenter', function () { profileHover.classList.add('profile-hover-card-show') }); x.addEventListener('mouseleave', function () { profileHover.classList.remove('profile-hover-card-show') }); innerCard.addEventListener('mouseenter', function () { profileHover.classList.add('profile-hover-card-show') }); innerCard.addEventListener('mouseleave', function () { profileHover.classList.remove('profile-hover-card-show') }); }) userAvatars.forEach(e => { if ((e.id !== 'display' && e.parentNode.tagName === 'A') || (e.hasAttribute('id') && e.id !== 'display' && e.parentNode.tagName !== 'SPAN')) { let profileHover = document.createElement('div'); profileHover.className = 'profile-hover-card-outer'; e.parentNode.insertBefore(profileHover, e.nextSibling); let innerCard = document.createElement('div'); innerCard.className = 'profile-hover-card'; profileHover.appendChild(innerCard); let url = `https://${mainURL}/api/2.0/search?q=SELECT first_name, last_name, login, view_href, rank, user_badges, topics, solutions_authored, id, email FROM users WHERE login = '${e.title}'`; let postCountUrl = `https://${mainURL}/api/2.0/search?q=SELECT count(*) FROM messages WHERE author.login = '${e.title}' AND depth = 0` let solCountUrl = `https://${mainURL}/api/2.0/search?q=SELECT count(*) FROM messages WHERE author.login = '${e.title}' AND is_solution = true` async function getUserAvatars() { let response = await fetch(url); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } let userInfo = await response.json(); let userLink = userInfo.data.items[0].view_href; let rankName = userInfo.data.items[0].rank.name; let userID = userInfo.data.items[0].id; if (userInfo.data.items[0].first_name !== undefined && userInfo.data.items[0].last_name !== undefined) { let firstName = userInfo.data.items[0].first_name; let lastName = userInfo.data.items[0].last_name; innerCard.innerHTML = `
` } else { innerCard.innerHTML = `
` } if (userInfo.data.items[0].rank.icon_right !== undefined) { innerCard.innerHTML += `
${rankName}
` } else { innerCard.innerHTML += `
${rankName}
` } let imgWrapper = document.createElement('div'); imgWrapper.className = 'hc-img-section'; innerCard.appendChild(imgWrapper); let userBadgeArr = userInfo.data.items[0].user_badges.items; if (userBadgeArr.length === 0) { innerCard.innerHTML += `
This user hasn't earned a badge yet
` } else { for (let i = 0; i < userBadgeArr.length; i++) { imgWrapper.innerHTML += `
` if (i >= 4) { break; } } } let kudosCountUrl = `https://${mainURL}/api/2.0/search?q=SELECT type FROM kudos WHERE message.author.id = '${userID}' LIMIT 20000` let pcResponse = await fetch(postCountUrl); let pcData = await pcResponse.json(); let kcResponse = await fetch(kudosCountUrl); let kcData = await kcResponse.json(); let solResponse = await fetch(solCountUrl); let scData = await solResponse.json(); let statsWrapper = document.createElement('section'); statsWrapper.className = 'hc-user-stats-section'; innerCard.appendChild(statsWrapper); if (pcData.data.count == undefined) { statsWrapper.innerHTML += `0 posts` } else { statsWrapper.innerHTML += `${pcData.data.count} posts` } if (kcData.data.size == undefined) { statsWrapper.innerHTML += `0 kudos` } else { statsWrapper.innerHTML += `${kcData.data.size} kudos` } if (scData.data.count == undefined) { statsWrapper.innerHTML += `0 solutions` } else { statsWrapper.innerHTML += `${scData.data.count} solutions` } } getUserAvatars(); e.addEventListener('mouseenter', function () { profileHover.classList.add('profile-hover-card-show') }); e.addEventListener('mouseleave', function () { profileHover.classList.remove('profile-hover-card-show') }); innerCard.addEventListener('mouseenter', function () { profileHover.classList.add('profile-hover-card-show') }); innerCard.addEventListener('mouseleave', function () { profileHover.classList.remove('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:
- Home
- Canvas
- Canvas Student
- Student Guide
- How do I edit or delete discussion replies as a st...
Options
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".
`); } else { findSchoolBtn.style.display = 'none'; } $('#find-school-btn').click(function () { $('.find-school-modal').addClass('fs-active'); }) }); function closeWindow() { $('.find-school-modal').removeClass('fs-active'); 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"; // loaderSpinner.style.animation = 'none'; }; $('#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(); } } $('#search-text').keyup(function (e) { resultsText.innerHTML = ''; clearTimeout(timeoutID); const value = e.target.value; timeoutID = setTimeout(() => getSchools(value), 1000); });
How do I edit or delete discussion replies as a student?
If your instructor allows, you can edit and delete your own discussion posts. If the edit or delete option does not appear, your instructor has restricted this setting in your course.
Notes:
- This setting does not affect discussions in course groups.
- When a discussion is closed for comments students cannot edit or delete their replies.
Open Discussions
In Course Navigation, click the Discussions link.
Open Options Icon
Each of your posts have a settings icon with edit and delete options. Click the Options icon on the post you want to modify.
Edit Discussion Reply
Locate the student reply you want to edit and click the Options menu [1]. Then select the Edit option [2].
Save Edits
Edit the discussion reply in the Rich Content Editor [1]. To post your edits, click the Done button [2].
Verify Edit
Canvas displays an Edited by label on the edited post. The label displays your name and the date and time the post was edited. This label cannot be removed.
Delete Reply
To delete your reply to a discussion topic, click the reply Options icon [1], then select the Delete option [2].
Confirm Delete
Click the OK button.
Verify Delete
If you delete a discussion reply with other course user replies attached, Canvas shows a Deleted by notification. The notification includes your name and the date and time the post was deleted. This entry cannot be removed.
However, if you delete a reply that does not have any course user replies attached, Canvas does display a Deleted by notification.
Note: Course instructors can see that you deleted your replies in the discussion.
View Restricted Options
If your instructor has restricted the option to edit or delete your discussion replies, the options are disabled.
Note: If the ability for students to edit or delete their own posts is restricted in a course with Discussions Redesign enabled, the Edit and Delete options do not display in the Options menu.
Have a question about Canvas? Ask in the Q&A forum:
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); } 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; }, 2000) }