Documentation coming soon.
+ (this.containerNode = c)}
+ onKeyDown={this.handleKeyDown}
+ style={inlineStyles}
+ >
+
+
+ );
+ }
+}
+
+FileTree.propTypes = {
+ ...Folder.propTypes,
+ maxHeight: PropTypes.string
+};
diff --git a/packages/canvas-rce/src/common/components/FileTree/styles.js b/packages/canvas-rce/src/common/components/FileTree/styles.js
new file mode 100644
index 0000000000000..6733652580976
--- /dev/null
+++ b/packages/canvas-rce/src/common/components/FileTree/styles.js
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2018 - present Instructure, Inc.
+ *
+ * This file is part of Canvas.
+ *
+ * Canvas is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU Affero General Public License as published by the Free
+ * Software Foundation, version 3 of the License.
+ *
+ * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU Affero General Public License along
+ * with this program. If not, see (this.rce = node)} />
+ );
+ }
+}
diff --git a/packages/canvas-rce/src/rce/IframesTableFix.js b/packages/canvas-rce/src/rce/IframesTableFix.js
new file mode 100644
index 0000000000000..beeeb96804cd2
--- /dev/null
+++ b/packages/canvas-rce/src/rce/IframesTableFix.js
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2017 - present Instructure, Inc.
+ *
+ * This file is part of Canvas.
+ *
+ * Canvas is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU Affero General Public License as published by the Free
+ * Software Foundation, version 3 of the License.
+ *
+ * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU Affero General Public License along
+ * with this program. If not, see .
+ */
+
+/* this class is a solution to CNVS-37129. this solution will create DOM
+ * MutationObserver to all tables created in tinymce. it does this by hooking
+ * the tinymce editor object's "AddVisual" method. this method gets called
+ * often and is called internally by tinymce in a way that hooking it will
+ * allow us to catch all cases where tables are created.
+ * the hook simply looks at all tables currently created in the tinymce
+ * editor and adds a MutationObserver on that table for when any subtree
+ * changes are made. when this occurs, that code will figure out if there are
+ * any ' |