Skip to content

Commit

Permalink
Revert "Clean up RCE content before loading editor"
Browse files Browse the repository at this point in the history
This reverts commit f7d97c3.

Reason for revert: MAT-1226

Change-Id: I9dc768b8c268cc68f3ee037277295ff186efb639
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310318
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Stephen Kacsmark <skacsmark@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Stephen Kacsmark <skacsmark@instructure.com>
  • Loading branch information
davishyer authored and Stephen Kacsmark committed Feb 15, 2023
1 parent 0609484 commit 7d1e039
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 388 deletions.
Expand Up @@ -19,9 +19,8 @@
import htmlEscape from 'escape-html'
import formatMessage from '../format-message'
import {showFlashAlert} from '../common/FlashAlert'
import {isPreviewable, loadDocPreview, removeLoadingImage, showLoadingImage} from './doc_previews'
import {isPreviewable, loadDocPreview, showLoadingImage, removeLoadingImage} from './doc_previews'
import {show} from './jqueryish_funcs'
import {parseUrlOrNull} from '../util/url-util'

const youTubeRegEx = /^https?:\/\/(www\.youtube\.com\/watch.*v(=|\/)|youtu\.be\/)([^&#]*)/
export function youTubeID(path) {
Expand Down Expand Up @@ -150,7 +149,12 @@ export function showFilePreviewInline(event, canvasOrigin, disableGooglePreviews
$link.setAttribute('aria-expanded', 'true')

if (canvasOrigin && canvadoc_session_url !== null) {
canvadoc_session_url = parseUrlOrNull(canvadoc_session_url, canvasOrigin)?.toString()
try {
canvadoc_session_url = (new URL(canvadoc_session_url, canvasOrigin)).toString();
}
catch(_ex){
canvadoc_session_url = null
}
}

const $div = document.querySelector(`[id="${$link.getAttribute('aria-controls')}"]`)
Expand Down
31 changes: 11 additions & 20 deletions packages/canvas-rce/src/rce/RCEWrapper.js
Expand Up @@ -40,11 +40,11 @@ import {sanitizePlugins} from './sanitizePlugins'
import RCEGlobals from './RCEGlobals'
import defaultTinymceConfig from '../defaultTinymceConfig'
import {
FS_CHANGEEVENT,
FS_ELEMENT,
FS_ENABLED,
FS_EXIT,
FS_ELEMENT,
FS_REQUEST,
FS_EXIT,
FS_CHANGEEVENT,
instuiPopupMountNode,
} from '../util/fullscreenHelpers'

Expand All @@ -70,7 +70,6 @@ import launchWordcountModal from './plugins/instructure_wordcount/clickCallback'
import styles from '../skins/skin-delta.css'
import skinCSSBinding from 'tinymce/skins/ui/oxide/skin.min.css'
import contentCSSBinding from 'tinymce/skins/ui/oxide/content.css'
import {transformRceContentForEditing} from './transformContent'

const RestoreAutoSaveModal = React.lazy(() => import('./RestoreAutoSaveModal'))
const RceHtmlEditor = React.lazy(() => import('./RceHtmlEditor'))
Expand Down Expand Up @@ -315,11 +314,6 @@ class RCEWrapper extends React.Component {
this._prettyHtmlEditorRef = React.createRef()
this._showOnFocusButton = null

// Processed initial content
this.initialContent = transformRceContentForEditing(this.props.defaultContent, {
origin: this.props.canvasOrigin || window?.location?.origin,
})

injectTinySkin()

// FWIW, for historic reaasons, the height does not include the
Expand Down Expand Up @@ -905,21 +899,18 @@ class RCEWrapper extends React.Component {
if (this.mceInstance().isDirty()) {
return true
}
const currentHtml = this.isHidden() ? this.textareaValue() : this.mceInstance()?.getContent()
return currentHtml !== this._mceSerializedInitialHtml
const content = this.isHidden() ? this.textareaValue() : this.mceInstance()?.getContent()
return content !== this.cleanInitialContent()
}

/**
* Holds a copy of the initial content of the editor as serialized by tinyMCE to normalize it.
*/
get _mceSerializedInitialHtml() {
if (!this._mceSerializedInitialHtmlCached) {
cleanInitialContent() {
if (!this._cleanInitialContent) {
const el = window.document.createElement('div')
el.innerHTML = this.initialContent
el.innerHTML = this.props.defaultContent
const serializer = this.mceInstance().serializer
this._mceSerializedInitialHtmlCached = serializer.serialize(el, {getInner: true})
this._cleanInitialContent = serializer.serialize(el, {getInner: true})
}
return this._mceSerializedInitialHtmlCached
return this._cleanInitialContent
}

isHtmlView() {
Expand Down Expand Up @@ -2025,7 +2016,7 @@ class RCEWrapper extends React.Component {
id={mceProps.textareaId}
textareaName={mceProps.name}
init={this.tinymceInitOptions}
initialValue={this.initialContent}
initialValue={mceProps.defaultContent}
onInit={this.onInit}
onClick={this.handleFocusEditor}
onKeypress={this.handleFocusEditor}
Expand Down
96 changes: 0 additions & 96 deletions packages/canvas-rce/src/rce/__tests__/transformContent.test.ts

This file was deleted.

81 changes: 0 additions & 81 deletions packages/canvas-rce/src/rce/transformContent.ts

This file was deleted.

110 changes: 0 additions & 110 deletions packages/canvas-rce/src/util/__tests__/url.test.ts

This file was deleted.

0 comments on commit 7d1e039

Please sign in to comment.