@instructure/canvas-rce 5.12.1 → 5.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/babel-register.js +0 -7
- package/babel.config.cjs.js +0 -7
- package/babel.config.js +0 -9
- package/es/enhance-user-content/doc_previews.js +4 -0
- package/es/enhance-user-content/enhance_user_content.js +4 -59
- package/es/enhance-user-content/external_links.js +75 -0
- package/es/enhance-user-content/mathml.js +9 -7
- package/es/index.js +1 -1
- package/es/rce/RCEWrapper.js +3 -2322
- package/es/rce/plugins/instructure_equation/EquationEditorModal/index.js +1 -1
- package/es/rce/plugins/instructure_equation/EquationEditorModal/styles.js +3 -11
- package/es/rce/plugins/instructure_equation/mathlive/index.js +5 -13
- package/es/rce/tinymce.oxide.content.min.css.js +732 -0
- package/es/rce/tinymce.oxide.skin.min.css.js +7 -0
- package/jest.config.js +0 -7
- package/package.json +1 -5
- package/scripts/build.js +1 -7
- package/lib/bridge/Bridge.js +0 -287
- package/lib/bridge/index.js +0 -21
- package/lib/canvasFileBrowser/FileBrowser.js +0 -457
- package/lib/canvasFileBrowser/en-US.js +0 -234
- package/lib/common/FlashAlert.js +0 -263
- package/lib/common/browser.js +0 -40
- package/lib/common/components/FileTree/File.js +0 -64
- package/lib/common/components/FileTree/Folder.js +0 -110
- package/lib/common/components/FileTree/index.js +0 -84
- package/lib/common/components/FileTree/styles.js +0 -72
- package/lib/common/components/Loading.js +0 -83
- package/lib/common/fileUrl.js +0 -152
- package/lib/common/getCookie.js +0 -32
- package/lib/common/incremental-loading/LoadMoreButton.js +0 -40
- package/lib/common/incremental-loading/LoadingIndicator.js +0 -36
- package/lib/common/incremental-loading/LoadingStatus.js +0 -47
- package/lib/common/incremental-loading/index.js +0 -21
- package/lib/common/incremental-loading/useIncrementalLoading.js +0 -58
- package/lib/common/indicate.js +0 -75
- package/lib/common/mimeClass.js +0 -120
- package/lib/common/natcompare.js +0 -47
- package/lib/defaultTinymceConfig.js +0 -160
- package/lib/elementDenylist.js +0 -19
- package/lib/enhance-user-content/doc_previews.js +0 -233
- package/lib/enhance-user-content/enhance_user_content.js +0 -396
- package/lib/enhance-user-content/index.js +0 -21
- package/lib/enhance-user-content/instructure_helper.js +0 -207
- package/lib/enhance-user-content/jqueryish_funcs.js +0 -88
- package/lib/enhance-user-content/mathml.js +0 -397
- package/lib/enhance-user-content/media_comment_thumbnail.js +0 -130
- package/lib/format-message.js +0 -30
- package/lib/getThemeVars.js +0 -46
- package/lib/getTranslations.js +0 -340
- package/lib/index.js +0 -51
- package/lib/rce/AlertMessageArea.js +0 -47
- package/lib/rce/DraggingBlocker.js +0 -43
- package/lib/rce/KeyboardShortcutModal.js +0 -88
- package/lib/rce/RCE.js +0 -150
- package/lib/rce/RCEGlobals.js +0 -62
- package/lib/rce/RCEWrapper.js +0 -4274
- package/lib/rce/RCEWrapperProps.js +0 -130
- package/lib/rce/RceHtmlEditor.js +0 -142
- package/lib/rce/ResizeHandle.js +0 -102
- package/lib/rce/RestoreAutoSaveModal.js +0 -82
- package/lib/rce/ShowOnFocusButton/index.js +0 -93
- package/lib/rce/StatusBar.js +0 -386
- package/lib/rce/__mocks__/_mockCryptoEs.js +0 -124
- package/lib/rce/__mocks__/styleMock.js +0 -18
- package/lib/rce/__mocks__/tinymceReact.js +0 -55
- package/lib/rce/alertHandler.js +0 -46
- package/lib/rce/contentInsertion.js +0 -325
- package/lib/rce/contentInsertionUtils.js +0 -85
- package/lib/rce/contentRendering.js +0 -145
- package/lib/rce/customEvents.js +0 -18
- package/lib/rce/editorLanguage.js +0 -101
- package/lib/rce/indicatorRegion.js +0 -49
- package/lib/rce/normalizeLocale.js +0 -50
- package/lib/rce/normalizeProps.js +0 -29
- package/lib/rce/plugins/instructure-ui-icons/plugin.js +0 -122
- package/lib/rce/plugins/instructure_condensed_buttons/core/ListUtils.js +0 -24
- package/lib/rce/plugins/instructure_condensed_buttons/plugin.js +0 -27
- package/lib/rce/plugins/instructure_condensed_buttons/ui/alignment-button.js +0 -63
- package/lib/rce/plugins/instructure_condensed_buttons/ui/directionality-button.js +0 -48
- package/lib/rce/plugins/instructure_condensed_buttons/ui/indent-outdent-button.js +0 -41
- package/lib/rce/plugins/instructure_condensed_buttons/ui/list-button.js +0 -145
- package/lib/rce/plugins/instructure_condensed_buttons/ui/subscript-superscript-button.js +0 -56
- package/lib/rce/plugins/instructure_documents/clickCallback.js +0 -23
- package/lib/rce/plugins/instructure_documents/components/DocumentsPanel.js +0 -120
- package/lib/rce/plugins/instructure_documents/components/Link.js +0 -219
- package/lib/rce/plugins/instructure_documents/plugin.js +0 -123
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/advancedOnlySyntax.js +0 -25
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/advancedPreference.js +0 -51
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/index.js +0 -321
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/latexTextareaUtil.js +0 -116
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/parseLatex.js +0 -91
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/styles.js +0 -46
- package/lib/rce/plugins/instructure_equation/EquationEditorToolbar/buttons.js +0 -728
- package/lib/rce/plugins/instructure_equation/EquationEditorToolbar/index.js +0 -84
- package/lib/rce/plugins/instructure_equation/MathIcon/index.js +0 -41
- package/lib/rce/plugins/instructure_equation/MathIcon/svgs.js +0 -236
- package/lib/rce/plugins/instructure_equation/clickCallback.js +0 -53
- package/lib/rce/plugins/instructure_equation/mathlive/index.js +0 -36
- package/lib/rce/plugins/instructure_equation/plugin.js +0 -69
- package/lib/rce/plugins/instructure_fullscreen/plugin.js +0 -50
- package/lib/rce/plugins/instructure_html_view/clickCallback.js +0 -21
- package/lib/rce/plugins/instructure_html_view/plugin.js +0 -37
- package/lib/rce/plugins/instructure_icon_maker/clickCallback.js +0 -57
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ColorSection.js +0 -82
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/CreateIconMakerForm.js +0 -56
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Footer.js +0 -78
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Group.js +0 -36
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +0 -110
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Course.js +0 -169
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageOptions.js +0 -186
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageSection.js +0 -243
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ModeSelect.js +0 -64
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/index.js +0 -73
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/svg.js +0 -298
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGList.js +0 -86
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGThumbnail.js +0 -55
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/index.js +0 -70
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/svg.js +0 -317
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Upload.js +0 -149
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/index.js +0 -18
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/propTypes.js +0 -32
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/utils.js +0 -25
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Preview.js +0 -60
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ShapeSection.js +0 -87
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/TextSection.js +0 -139
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/index.js +0 -18
- package/lib/rce/plugins/instructure_icon_maker/components/IconMakerTray.js +0 -323
- package/lib/rce/plugins/instructure_icon_maker/components/SavedIconMakerList.js +0 -91
- package/lib/rce/plugins/instructure_icon_maker/plugin.js +0 -110
- package/lib/rce/plugins/instructure_icon_maker/reducers/imageSection.js +0 -194
- package/lib/rce/plugins/instructure_icon_maker/reducers/svgSettings.js +0 -98
- package/lib/rce/plugins/instructure_icon_maker/registerEditToolbar.js +0 -56
- package/lib/rce/plugins/instructure_icon_maker/svg/clipPath.js +0 -25
- package/lib/rce/plugins/instructure_icon_maker/svg/constants.js +0 -100
- package/lib/rce/plugins/instructure_icon_maker/svg/font.js +0 -25
- package/lib/rce/plugins/instructure_icon_maker/svg/image.js +0 -354
- package/lib/rce/plugins/instructure_icon_maker/svg/index.js +0 -122
- package/lib/rce/plugins/instructure_icon_maker/svg/metadata.js +0 -48
- package/lib/rce/plugins/instructure_icon_maker/svg/settings.js +0 -179
- package/lib/rce/plugins/instructure_icon_maker/svg/shape.js +0 -316
- package/lib/rce/plugins/instructure_icon_maker/svg/text.js +0 -468
- package/lib/rce/plugins/instructure_icon_maker/svg/utils.js +0 -70
- package/lib/rce/plugins/instructure_icon_maker/utils/IconMakerClose.js +0 -45
- package/lib/rce/plugins/instructure_icon_maker/utils/IconMakerFormHasChanges.js +0 -83
- package/lib/rce/plugins/instructure_icon_maker/utils/addIconMakerAttributes.js +0 -28
- package/lib/rce/plugins/instructure_icon_maker/utils/iconValidation.js +0 -35
- package/lib/rce/plugins/instructure_icon_maker/utils/iconsLabels.js +0 -375
- package/lib/rce/plugins/instructure_icon_maker/utils/useDebouncedValue.js +0 -59
- package/lib/rce/plugins/instructure_image/ImageEmbedOptions.js +0 -202
- package/lib/rce/plugins/instructure_image/ImageList/Image.js +0 -106
- package/lib/rce/plugins/instructure_image/ImageList/index.js +0 -69
- package/lib/rce/plugins/instructure_image/ImageOptionsTray/TrayController.js +0 -166
- package/lib/rce/plugins/instructure_image/ImageOptionsTray/index.js +0 -246
- package/lib/rce/plugins/instructure_image/Images/index.js +0 -122
- package/lib/rce/plugins/instructure_image/clickCallback.js +0 -24
- package/lib/rce/plugins/instructure_image/plugin.js +0 -157
- package/lib/rce/plugins/instructure_links/clickCallback.js +0 -22
- package/lib/rce/plugins/instructure_links/components/AccordionSection.js +0 -60
- package/lib/rce/plugins/instructure_links/components/CollectionPanel.js +0 -84
- package/lib/rce/plugins/instructure_links/components/Link.js +0 -213
- package/lib/rce/plugins/instructure_links/components/LinkOptionsDialog/LinkOptionsDialogController.js +0 -127
- package/lib/rce/plugins/instructure_links/components/LinkOptionsDialog/index.js +0 -141
- package/lib/rce/plugins/instructure_links/components/LinkOptionsTray/LinkOptionsTrayController.js +0 -125
- package/lib/rce/plugins/instructure_links/components/LinkOptionsTray/index.js +0 -245
- package/lib/rce/plugins/instructure_links/components/LinkSet.js +0 -195
- package/lib/rce/plugins/instructure_links/components/LinksPanel.js +0 -100
- package/lib/rce/plugins/instructure_links/components/NavigationPanel.js +0 -141
- package/lib/rce/plugins/instructure_links/components/NoResults.js +0 -87
- package/lib/rce/plugins/instructure_links/components/propTypes.js +0 -41
- package/lib/rce/plugins/instructure_links/plugin.js +0 -294
- package/lib/rce/plugins/instructure_links/validateURL.js +0 -70
- package/lib/rce/plugins/instructure_media_embed/clickCallback.js +0 -48
- package/lib/rce/plugins/instructure_media_embed/components/Embed.js +0 -68
- package/lib/rce/plugins/instructure_media_embed/plugin.js +0 -36
- package/lib/rce/plugins/instructure_paste/pasteMenuCommand.js +0 -117
- package/lib/rce/plugins/instructure_paste/plugin.js +0 -174
- package/lib/rce/plugins/instructure_rce_external_tools/ExternalToolsEnv.js +0 -169
- package/lib/rce/plugins/instructure_rce_external_tools/RceToolWrapper.js +0 -225
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialog.js +0 -297
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogModal.js +0 -46
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogTray.js +0 -79
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionDialog.js +0 -153
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionItem.js +0 -94
- package/lib/rce/plugins/instructure_rce_external_tools/components/util/ExpandoText.js +0 -90
- package/lib/rce/plugins/instructure_rce_external_tools/components/util/ToolLaunchIframe.js +0 -35
- package/lib/rce/plugins/instructure_rce_external_tools/dialog-helper.js +0 -29
- package/lib/rce/plugins/instructure_rce_external_tools/helpers/tags.js +0 -55
- package/lib/rce/plugins/instructure_rce_external_tools/jquery/jquery.dropdownList.js +0 -172
- package/lib/rce/plugins/instructure_rce_external_tools/lti11-content-items/RceLti11ContentItem.js +0 -203
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/Lti13ContentItemJson.js +0 -23
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/RceLti13ContentItem.js +0 -111
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/BaseLinkContentItem.js +0 -79
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/HtmlFragmentContentItem.js +0 -47
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ImageContentItem.js +0 -57
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/LinkContentItem.js +0 -26
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ResourceLinkContentItem.js +0 -47
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/processEditorContentItems.js +0 -67
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/rceLti13ContentItemFromJson.js +0 -48
- package/lib/rce/plugins/instructure_rce_external_tools/plugin.js +0 -112
- package/lib/rce/plugins/instructure_rce_external_tools/util/addParentFrameContextToUrl.js +0 -27
- package/lib/rce/plugins/instructure_record/AudioOptionsTray/TrayController.js +0 -152
- package/lib/rce/plugins/instructure_record/AudioOptionsTray/index.js +0 -154
- package/lib/rce/plugins/instructure_record/MediaPanel/index.js +0 -123
- package/lib/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js +0 -240
- package/lib/rce/plugins/instructure_record/VideoOptionsTray/index.js +0 -350
- package/lib/rce/plugins/instructure_record/clickCallback.js +0 -105
- package/lib/rce/plugins/instructure_record/mediaTranslations.js +0 -94
- package/lib/rce/plugins/instructure_record/plugin.js +0 -173
- package/lib/rce/plugins/instructure_studio_media_options/plugin.js +0 -42
- package/lib/rce/plugins/instructure_wordcount/clickCallback.js +0 -49
- package/lib/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -88
- package/lib/rce/plugins/instructure_wordcount/plugin.js +0 -30
- package/lib/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
- package/lib/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
- package/lib/rce/plugins/shared/CanvasContentTray.js +0 -580
- package/lib/rce/plugins/shared/CheckerboardStyling.js +0 -25
- package/lib/rce/plugins/shared/ColorInput.js +0 -233
- package/lib/rce/plugins/shared/ConditionalTooltip.js +0 -32
- package/lib/rce/plugins/shared/ContentSelection.js +0 -269
- package/lib/rce/plugins/shared/DimensionUtils.js +0 -66
- package/lib/rce/plugins/shared/DimensionsInput/DimensionInput.js +0 -62
- package/lib/rce/plugins/shared/DimensionsInput/index.js +0 -161
- package/lib/rce/plugins/shared/DimensionsInput/useDimensionsState.js +0 -220
- package/lib/rce/plugins/shared/ErrorBoundary.js +0 -54
- package/lib/rce/plugins/shared/EventUtils.js +0 -39
- package/lib/rce/plugins/shared/Filter.js +0 -353
- package/lib/rce/plugins/shared/FixedContentTray.js +0 -115
- package/lib/rce/plugins/shared/ImageCropper/DirectionRegion.js +0 -67
- package/lib/rce/plugins/shared/ImageCropper/Modal.js +0 -153
- package/lib/rce/plugins/shared/ImageCropper/Preview.js +0 -148
- package/lib/rce/plugins/shared/ImageCropper/constants.js +0 -39
- package/lib/rce/plugins/shared/ImageCropper/controls/CustomNumberInput.js +0 -83
- package/lib/rce/plugins/shared/ImageCropper/controls/ResetControls.js +0 -38
- package/lib/rce/plugins/shared/ImageCropper/controls/RotationControls.js +0 -89
- package/lib/rce/plugins/shared/ImageCropper/controls/ShapeControls.js +0 -82
- package/lib/rce/plugins/shared/ImageCropper/controls/ZoomControls.js +0 -111
- package/lib/rce/plugins/shared/ImageCropper/controls/index.js +0 -61
- package/lib/rce/plugins/shared/ImageCropper/controls/useDebouncedNumericValue.js +0 -94
- package/lib/rce/plugins/shared/ImageCropper/controls/utils.js +0 -41
- package/lib/rce/plugins/shared/ImageCropper/imageCropUtils.js +0 -149
- package/lib/rce/plugins/shared/ImageCropper/index.js +0 -18
- package/lib/rce/plugins/shared/ImageCropper/propTypes.js +0 -26
- package/lib/rce/plugins/shared/ImageCropper/reducers/imageCropper.js +0 -72
- package/lib/rce/plugins/shared/ImageCropper/shape.js +0 -27
- package/lib/rce/plugins/shared/ImageCropper/svg/index.js +0 -89
- package/lib/rce/plugins/shared/ImageCropper/svg/shape.js +0 -125
- package/lib/rce/plugins/shared/ImageCropper/svg/utils.js +0 -26
- package/lib/rce/plugins/shared/ImageCropper/useKeyMouseEvents.js +0 -233
- package/lib/rce/plugins/shared/ImageCropper/useMouseWheel.js +0 -66
- package/lib/rce/plugins/shared/ImageOptionsForm.js +0 -140
- package/lib/rce/plugins/shared/LinkDisplay.js +0 -96
- package/lib/rce/plugins/shared/PreviewIcon.js +0 -112
- package/lib/rce/plugins/shared/Previewable.js +0 -22
- package/lib/rce/plugins/shared/RceFileBrowser.js +0 -106
- package/lib/rce/plugins/shared/StoreContext.js +0 -57
- package/lib/rce/plugins/shared/StudioLtiSupportUtils.js +0 -71
- package/lib/rce/plugins/shared/UnknownFileTypePanel.js +0 -29
- package/lib/rce/plugins/shared/Upload/CategoryProcessor.js +0 -27
- package/lib/rce/plugins/shared/Upload/ComputerPanel.js +0 -334
- package/lib/rce/plugins/shared/Upload/SvgCategoryProcessor.js +0 -35
- package/lib/rce/plugins/shared/Upload/UploadFile.js +0 -171
- package/lib/rce/plugins/shared/Upload/UploadFileModal.js +0 -273
- package/lib/rce/plugins/shared/Upload/UrlPanel.js +0 -38
- package/lib/rce/plugins/shared/Upload/UsageRightsSelectBox.js +0 -172
- package/lib/rce/plugins/shared/Upload/doFileUpload.js +0 -77
- package/lib/rce/plugins/shared/__mocks__/screenfull.js +0 -24
- package/lib/rce/plugins/shared/buildDownloadUrl.js +0 -31
- package/lib/rce/plugins/shared/compressionUtils.js +0 -98
- package/lib/rce/plugins/shared/dateUtils.js +0 -28
- package/lib/rce/plugins/shared/fileShape.js +0 -129
- package/lib/rce/plugins/shared/fileTypeUtils.js +0 -139
- package/lib/rce/plugins/shared/fileUtils.js +0 -25
- package/lib/rce/plugins/shared/linkUtils.js +0 -89
- package/lib/rce/plugins/shared/round.js +0 -25
- package/lib/rce/plugins/shared/trayUtils.js +0 -34
- package/lib/rce/plugins/shared/useDataUrl.js +0 -76
- package/lib/rce/plugins/tinymce-a11y-checker/components/ColorField.js +0 -86
- package/lib/rce/plugins/tinymce-a11y-checker/components/checker.js +0 -558
- package/lib/rce/plugins/tinymce-a11y-checker/components/color-picker.js +0 -59
- package/lib/rce/plugins/tinymce-a11y-checker/components/placeholder-svg.js +0 -90
- package/lib/rce/plugins/tinymce-a11y-checker/components/pointer.js +0 -32
- package/lib/rce/plugins/tinymce-a11y-checker/node-checker.js +0 -54
- package/lib/rce/plugins/tinymce-a11y-checker/plugin.js +0 -90
- package/lib/rce/plugins/tinymce-a11y-checker/rules/__mocks__/index.js +0 -53
- package/lib/rce/plugins/tinymce-a11y-checker/rules/adjacent-links.js +0 -129
- package/lib/rce/plugins/tinymce-a11y-checker/rules/headings-sequence.js +0 -200
- package/lib/rce/plugins/tinymce-a11y-checker/rules/headings-start-at-h2.js +0 -67
- package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt-filename.js +0 -63
- package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt-length.js +0 -49
- package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt.js +0 -61
- package/lib/rce/plugins/tinymce-a11y-checker/rules/index.js +0 -31
- package/lib/rce/plugins/tinymce-a11y-checker/rules/large-text-contrast.js +0 -51
- package/lib/rce/plugins/tinymce-a11y-checker/rules/list-structure.js +0 -144
- package/lib/rce/plugins/tinymce-a11y-checker/rules/paragraphs-for-headings.js +0 -61
- package/lib/rce/plugins/tinymce-a11y-checker/rules/small-text-contrast.js +0 -75
- package/lib/rce/plugins/tinymce-a11y-checker/rules/table-caption.js +0 -54
- package/lib/rce/plugins/tinymce-a11y-checker/rules/table-header-scope.js +0 -52
- package/lib/rce/plugins/tinymce-a11y-checker/rules/table-header.js +0 -81
- package/lib/rce/plugins/tinymce-a11y-checker/utils/colors.js +0 -43
- package/lib/rce/plugins/tinymce-a11y-checker/utils/describe.js +0 -66
- package/lib/rce/plugins/tinymce-a11y-checker/utils/dom.js +0 -160
- package/lib/rce/plugins/tinymce-a11y-checker/utils/indicate.js +0 -83
- package/lib/rce/plugins/tinymce-a11y-checker/utils/rgb-hex.js +0 -57
- package/lib/rce/plugins/tinymce-a11y-checker/utils/strings.js +0 -40
- package/lib/rce/root.js +0 -58
- package/lib/rce/sanitizePlugins.js +0 -32
- package/lib/rce/style.js +0 -843
- package/lib/rce/tinyRCE.js +0 -66
- package/lib/rce/transformContent.js +0 -73
- package/lib/rce/userOS.js +0 -31
- package/lib/rce/wrapInitCb.js +0 -78
- package/lib/rcs/api.js +0 -672
- package/lib/rcs/buildError.js +0 -98
- package/lib/rcs/fake.js +0 -621
- package/lib/sidebar/actions/all_files.js +0 -29
- package/lib/sidebar/actions/data.js +0 -105
- package/lib/sidebar/actions/documents.js +0 -107
- package/lib/sidebar/actions/files.js +0 -167
- package/lib/sidebar/actions/filter.js +0 -63
- package/lib/sidebar/actions/flickr.js +0 -60
- package/lib/sidebar/actions/images.js +0 -153
- package/lib/sidebar/actions/links.js +0 -23
- package/lib/sidebar/actions/media.js +0 -142
- package/lib/sidebar/actions/session.js +0 -34
- package/lib/sidebar/actions/ui.js +0 -49
- package/lib/sidebar/actions/upload.js +0 -550
- package/lib/sidebar/containers/Sidebar.js +0 -67
- package/lib/sidebar/containers/sidebarHandlers.js +0 -73
- package/lib/sidebar/dragHtml.js +0 -49
- package/lib/sidebar/reducers/all_files.js +0 -35
- package/lib/sidebar/reducers/collection.js +0 -72
- package/lib/sidebar/reducers/collections.js +0 -52
- package/lib/sidebar/reducers/documents.js +0 -89
- package/lib/sidebar/reducers/files.js +0 -38
- package/lib/sidebar/reducers/filter.js +0 -61
- package/lib/sidebar/reducers/flickr.js +0 -51
- package/lib/sidebar/reducers/folder.js +0 -92
- package/lib/sidebar/reducers/folders.js +0 -39
- package/lib/sidebar/reducers/images.js +0 -115
- package/lib/sidebar/reducers/index.js +0 -57
- package/lib/sidebar/reducers/media.js +0 -84
- package/lib/sidebar/reducers/newPageLinkExpanded.js +0 -30
- package/lib/sidebar/reducers/noop.js +0 -21
- package/lib/sidebar/reducers/rootFolderId.js +0 -30
- package/lib/sidebar/reducers/session.js +0 -33
- package/lib/sidebar/reducers/ui.js +0 -87
- package/lib/sidebar/reducers/upload.js +0 -206
- package/lib/sidebar/store/configureStore.js +0 -26
- package/lib/sidebar/store/initialState.js +0 -173
- package/lib/translations/locales/ab.js +0 -26
- package/lib/translations/locales/ar.js +0 -2427
- package/lib/translations/locales/ca.js +0 -2427
- package/lib/translations/locales/cs.js +0 -27
- package/lib/translations/locales/cs_CZ.js +0 -27
- package/lib/translations/locales/cy.js +0 -2427
- package/lib/translations/locales/da-x-k12.js +0 -2427
- package/lib/translations/locales/da.js +0 -2427
- package/lib/translations/locales/da_DK.js +0 -27
- package/lib/translations/locales/de.js +0 -2427
- package/lib/translations/locales/el.js +0 -459
- package/lib/translations/locales/en-AU-x-unimelb.js +0 -2427
- package/lib/translations/locales/en-GB-x-ukhe.js +0 -2427
- package/lib/translations/locales/en.js +0 -2427
- package/lib/translations/locales/en_AU.js +0 -2427
- package/lib/translations/locales/en_CA.js +0 -2426
- package/lib/translations/locales/en_CY.js +0 -2426
- package/lib/translations/locales/en_GB.js +0 -2427
- package/lib/translations/locales/en_NZ.js +0 -26
- package/lib/translations/locales/en_SE.js +0 -26
- package/lib/translations/locales/en_US.js +0 -26
- package/lib/translations/locales/es.js +0 -2427
- package/lib/translations/locales/es_ES.js +0 -2427
- package/lib/translations/locales/es_GT.js +0 -27
- package/lib/translations/locales/fa_IR.js +0 -615
- package/lib/translations/locales/fi.js +0 -2427
- package/lib/translations/locales/fr.js +0 -2427
- package/lib/translations/locales/fr_CA.js +0 -2427
- package/lib/translations/locales/he.js +0 -486
- package/lib/translations/locales/ht.js +0 -2426
- package/lib/translations/locales/hu.js +0 -2007
- package/lib/translations/locales/hu_HU.js +0 -27
- package/lib/translations/locales/hy.js +0 -444
- package/lib/translations/locales/id.js +0 -2426
- package/lib/translations/locales/id_ID.js +0 -26
- package/lib/translations/locales/is.js +0 -2426
- package/lib/translations/locales/it.js +0 -2427
- package/lib/translations/locales/ja.js +0 -2427
- package/lib/translations/locales/ko.js +0 -342
- package/lib/translations/locales/ko_KR.js +0 -27
- package/lib/translations/locales/lt.js +0 -26
- package/lib/translations/locales/lt_LT.js +0 -26
- package/lib/translations/locales/mi.js +0 -2426
- package/lib/translations/locales/mn_MN.js +0 -26
- package/lib/translations/locales/ms.js +0 -2426
- package/lib/translations/locales/nb-x-k12.js +0 -2427
- package/lib/translations/locales/nb.js +0 -2427
- package/lib/translations/locales/nl.js +0 -2427
- package/lib/translations/locales/nl_NL.js +0 -27
- package/lib/translations/locales/nn.js +0 -2247
- package/lib/translations/locales/pl.js +0 -2427
- package/lib/translations/locales/pt.js +0 -2427
- package/lib/translations/locales/pt_BR.js +0 -2427
- package/lib/translations/locales/ro.js +0 -27
- package/lib/translations/locales/ru.js +0 -2427
- package/lib/translations/locales/se.js +0 -26
- package/lib/translations/locales/sl.js +0 -2427
- package/lib/translations/locales/sv-x-k12.js +0 -2427
- package/lib/translations/locales/sv.js +0 -2427
- package/lib/translations/locales/sv_SE.js +0 -27
- package/lib/translations/locales/tg.js +0 -26
- package/lib/translations/locales/th.js +0 -2427
- package/lib/translations/locales/th_TH.js +0 -27
- package/lib/translations/locales/tl_PH.js +0 -26
- package/lib/translations/locales/tr.js +0 -687
- package/lib/translations/locales/uk_UA.js +0 -519
- package/lib/translations/locales/vi.js +0 -2427
- package/lib/translations/locales/vi_VN.js +0 -27
- package/lib/translations/locales/zh-Hans.js +0 -2427
- package/lib/translations/locales/zh-Hant.js +0 -2427
- package/lib/translations/locales/zh.js +0 -2427
- package/lib/translations/locales/zh_HK.js +0 -2427
- package/lib/translations/locales/zh_TW.Big5.js +0 -27
- package/lib/translations/locales/zh_TW.js +0 -27
- package/lib/translations/tinymce/ar_SA.js +0 -211
- package/lib/translations/tinymce/bg_BG.js +0 -419
- package/lib/translations/tinymce/ca.js +0 -419
- package/lib/translations/tinymce/cs.js +0 -419
- package/lib/translations/tinymce/cy.js +0 -418
- package/lib/translations/tinymce/da.js +0 -419
- package/lib/translations/tinymce/de.js +0 -419
- package/lib/translations/tinymce/el.js +0 -261
- package/lib/translations/tinymce/en_GB.js +0 -230
- package/lib/translations/tinymce/es.js +0 -419
- package/lib/translations/tinymce/fa_IR.js +0 -390
- package/lib/translations/tinymce/fi.js +0 -19
- package/lib/translations/tinymce/fr_FR.js +0 -419
- package/lib/translations/tinymce/he_IL.js +0 -420
- package/lib/translations/tinymce/hu_HU.js +0 -419
- package/lib/translations/tinymce/hy.js +0 -419
- package/lib/translations/tinymce/it.js +0 -419
- package/lib/translations/tinymce/ja.js +0 -419
- package/lib/translations/tinymce/ko_KR.js +0 -419
- package/lib/translations/tinymce/nb_NO.js +0 -419
- package/lib/translations/tinymce/nl.js +0 -419
- package/lib/translations/tinymce/pl.js +0 -419
- package/lib/translations/tinymce/pt_BR.js +0 -419
- package/lib/translations/tinymce/pt_PT.js +0 -419
- package/lib/translations/tinymce/ro.js +0 -418
- package/lib/translations/tinymce/ru.js +0 -436
- package/lib/translations/tinymce/ru_RU.js +0 -71
- package/lib/translations/tinymce/sl.js +0 -462
- package/lib/translations/tinymce/sr.js +0 -278
- package/lib/translations/tinymce/sv_SE.js +0 -419
- package/lib/translations/tinymce/th.js +0 -479
- package/lib/translations/tinymce/tr_TR.js +0 -389
- package/lib/translations/tinymce/uk_UA.js +0 -278
- package/lib/translations/tinymce/vi_VN.js +0 -277
- package/lib/translations/tinymce/zh_CN.js +0 -419
- package/lib/translations/tinymce/zh_TW.js +0 -419
- package/lib/util/DeepPartialNullable.js +0 -1
- package/lib/util/ExtractRequired.js +0 -1
- package/lib/util/TypedDict.js +0 -131
- package/lib/util/assertNever.js +0 -44
- package/lib/util/elem-util.js +0 -26
- package/lib/util/encrypted-storage.js +0 -84
- package/lib/util/file-url-util.js +0 -44
- package/lib/util/fullscreenHelpers.js +0 -27
- package/lib/util/instui-icon-helper.js +0 -31
- package/lib/util/loadingPlaceholder.js +0 -436
- package/lib/util/simpleCache.js +0 -41
- package/lib/util/string-util.js +0 -48
- package/lib/util/textarea-editing-util.js +0 -87
- package/lib/util/tinymce-plugin-util.js +0 -52
- package/lib/util/url-util.js +0 -138
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2018 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import doFileUpload from '../shared/Upload/doFileUpload';
|
|
19
|
-
export default function (ed, document) {
|
|
20
|
-
return doFileUpload(ed, document, {
|
|
21
|
-
accept: 'image/*',
|
|
22
|
-
panels: ['COMPUTER', 'URL']
|
|
23
|
-
}).shownPromise;
|
|
24
|
-
}
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
* Copyright (C) 2018 - present Instructure, Inc.
|
|
5
|
-
*
|
|
6
|
-
* This file is part of Canvas.
|
|
7
|
-
*
|
|
8
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
9
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
10
|
-
* Software Foundation, version 3 of the License.
|
|
11
|
-
*
|
|
12
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
13
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
14
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
15
|
-
* details.
|
|
16
|
-
*
|
|
17
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
18
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
19
|
-
*/
|
|
20
|
-
import formatMessage from '../../../format-message';
|
|
21
|
-
import bridge from '../../../bridge';
|
|
22
|
-
import { isImageEmbed } from '../shared/ContentSelection';
|
|
23
|
-
import { isOKToLink } from '../../contentInsertionUtils';
|
|
24
|
-
import TrayController from './ImageOptionsTray/TrayController';
|
|
25
|
-
import clickCallback from './clickCallback';
|
|
26
|
-
import { ICON_MAKER_ATTRIBUTE } from '../instructure_icon_maker/svg/constants';
|
|
27
|
-
import tinymce from 'tinymce';
|
|
28
|
-
const COURSE_PLUGIN_KEY = 'course_images';
|
|
29
|
-
const USER_PLUGIN_KEY = 'user_images';
|
|
30
|
-
const GROUP_PLUGIN_KEY = 'group_images';
|
|
31
|
-
const trayController = new TrayController();
|
|
32
|
-
|
|
33
|
-
function getMenuItems(ed) {
|
|
34
|
-
var _ed$settings$canvas_r;
|
|
35
|
-
|
|
36
|
-
const contextType = (_ed$settings$canvas_r = ed.settings.canvas_rce_user_context) === null || _ed$settings$canvas_r === void 0 ? void 0 : _ed$settings$canvas_r.type;
|
|
37
|
-
const items = [{
|
|
38
|
-
text: formatMessage('Upload Image'),
|
|
39
|
-
value: 'instructure_upload_image'
|
|
40
|
-
}];
|
|
41
|
-
|
|
42
|
-
if (contextType === 'course') {
|
|
43
|
-
items.push({
|
|
44
|
-
text: formatMessage('Course Images'),
|
|
45
|
-
value: 'instructure_course_image'
|
|
46
|
-
});
|
|
47
|
-
} else if (contextType === 'group') {
|
|
48
|
-
items.push({
|
|
49
|
-
text: formatMessage('Group Images'),
|
|
50
|
-
value: 'instructure_group_image'
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
items.push({
|
|
55
|
-
text: formatMessage('User Images'),
|
|
56
|
-
value: 'instructure_user_image'
|
|
57
|
-
});
|
|
58
|
-
return items;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function doMenuItem(ed, value) {
|
|
62
|
-
switch (value) {
|
|
63
|
-
case 'instructure_upload_image':
|
|
64
|
-
ed.execCommand('mceInstructureImage');
|
|
65
|
-
break;
|
|
66
|
-
|
|
67
|
-
case 'instructure_course_image':
|
|
68
|
-
ed.focus(true);
|
|
69
|
-
ed.execCommand('instructureTrayForImages', false, COURSE_PLUGIN_KEY);
|
|
70
|
-
break;
|
|
71
|
-
|
|
72
|
-
case 'instructure_group_image':
|
|
73
|
-
ed.focus(true);
|
|
74
|
-
ed.execCommand('instructureTrayForImages', false, GROUP_PLUGIN_KEY);
|
|
75
|
-
break;
|
|
76
|
-
|
|
77
|
-
case 'instructure_user_image':
|
|
78
|
-
ed.focus(true);
|
|
79
|
-
ed.execCommand('instructureTrayForImages', false, USER_PLUGIN_KEY);
|
|
80
|
-
break;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
tinymce.PluginManager.add('instructure_image', function (editor) {
|
|
85
|
-
// Register commands
|
|
86
|
-
editor.addCommand('mceInstructureImage', () => clickCallback(editor, document));
|
|
87
|
-
editor.addCommand('instructureTrayForImages', (ui, plugin_key) => {
|
|
88
|
-
bridge.showTrayForPlugin(plugin_key, editor.id);
|
|
89
|
-
}); // Register menu items
|
|
90
|
-
|
|
91
|
-
editor.ui.registry.addNestedMenuItem('instructure_image', {
|
|
92
|
-
text: formatMessage('Image'),
|
|
93
|
-
icon: 'image',
|
|
94
|
-
getSubmenuItems: () => getMenuItems(editor).map(item => {
|
|
95
|
-
return {
|
|
96
|
-
type: 'menuitem',
|
|
97
|
-
text: item.text,
|
|
98
|
-
onAction: () => doMenuItem(editor, item.value),
|
|
99
|
-
onSetup: api => {
|
|
100
|
-
api.setDisabled(!isOKToLink(editor.selection.getContent()));
|
|
101
|
-
return () => {};
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
})
|
|
105
|
-
}); // Register toolbar button
|
|
106
|
-
|
|
107
|
-
editor.ui.registry.addMenuButton('instructure_image', {
|
|
108
|
-
tooltip: formatMessage('Images'),
|
|
109
|
-
icon: 'image',
|
|
110
|
-
fetch: callback => callback(getMenuItems(editor).map(item => ({
|
|
111
|
-
type: 'menuitem',
|
|
112
|
-
text: item.text,
|
|
113
|
-
value: item.value,
|
|
114
|
-
onAction: () => doMenuItem(editor, item.value)
|
|
115
|
-
}))),
|
|
116
|
-
|
|
117
|
-
onSetup(api) {
|
|
118
|
-
function handleNodeChange(_e) {
|
|
119
|
-
api.setDisabled(!isOKToLink(editor.selection.getContent()));
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
setTimeout(handleNodeChange);
|
|
123
|
-
editor.on('NodeChange', handleNodeChange);
|
|
124
|
-
return () => {
|
|
125
|
-
editor.off('NodeChange', handleNodeChange);
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
});
|
|
130
|
-
/*
|
|
131
|
-
* Register the Image "Options" button that will open the Image Options
|
|
132
|
-
* tray.
|
|
133
|
-
*/
|
|
134
|
-
|
|
135
|
-
function canUpdateImageProps(node) {
|
|
136
|
-
return !node.classList.contains('equation_image') && isImageEmbed(node) && // don't show for icon maker
|
|
137
|
-
!node.getAttribute(ICON_MAKER_ATTRIBUTE);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
const buttonAriaLabel = formatMessage('Show image options');
|
|
141
|
-
editor.ui.registry.addButton('instructure-image-options', {
|
|
142
|
-
onAction() {
|
|
143
|
-
// show the tray
|
|
144
|
-
trayController.showTrayForEditor(editor);
|
|
145
|
-
},
|
|
146
|
-
|
|
147
|
-
text: formatMessage('Image Options'),
|
|
148
|
-
tooltip: buttonAriaLabel
|
|
149
|
-
});
|
|
150
|
-
editor.ui.registry.addContextToolbar('instructure-image-toolbar', {
|
|
151
|
-
items: 'instructure-image-options',
|
|
152
|
-
position: 'node',
|
|
153
|
-
predicate: canUpdateImageProps,
|
|
154
|
-
scope: 'node'
|
|
155
|
-
});
|
|
156
|
-
editor.on('remove', ed => trayController.hideTrayForEditor(ed));
|
|
157
|
-
});
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import LinkOptionsDialogController from './components/LinkOptionsDialog/LinkOptionsDialogController';
|
|
19
|
-
const dialogController = new LinkOptionsDialogController();
|
|
20
|
-
export default function (ed, op) {
|
|
21
|
-
dialogController.showDialogForEditor(ed, op);
|
|
22
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import React from 'react';
|
|
19
|
-
import { bool, func, node, string } from 'prop-types';
|
|
20
|
-
import formatMessage from '../../../../format-message';
|
|
21
|
-
import { ToggleGroup } from '@instructure/ui-toggle-details';
|
|
22
|
-
import { Text } from '@instructure/ui-text';
|
|
23
|
-
import { View } from '@instructure/ui-view';
|
|
24
|
-
export default function AccordionSection(_ref) {
|
|
25
|
-
let {
|
|
26
|
-
collection,
|
|
27
|
-
children,
|
|
28
|
-
onToggle,
|
|
29
|
-
expanded,
|
|
30
|
-
label
|
|
31
|
-
} = _ref;
|
|
32
|
-
const toggleLabel = expanded ? formatMessage('Collapse to hide {types}', {
|
|
33
|
-
types: label
|
|
34
|
-
}) : formatMessage('Expand to see {types}', {
|
|
35
|
-
types: label
|
|
36
|
-
});
|
|
37
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
38
|
-
as: "div",
|
|
39
|
-
borderWidth: "0 0 small 0",
|
|
40
|
-
"data-testid": "instructure_links-AccordionSection"
|
|
41
|
-
}, /*#__PURE__*/React.createElement(ToggleGroup, {
|
|
42
|
-
toggleLabel: toggleLabel,
|
|
43
|
-
summary: /*#__PURE__*/React.createElement(View, {
|
|
44
|
-
display: "inline-block",
|
|
45
|
-
padding: "0 0 0 small"
|
|
46
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
47
|
-
weight: "bold"
|
|
48
|
-
}, label)),
|
|
49
|
-
expanded: expanded,
|
|
50
|
-
onToggle: (_e, expanded) => onToggle(expanded ? collection : ''),
|
|
51
|
-
border: false
|
|
52
|
-
}, /*#__PURE__*/React.createElement(React.Fragment, null, children)));
|
|
53
|
-
}
|
|
54
|
-
AccordionSection.propTypes = {
|
|
55
|
-
collection: string.isRequired,
|
|
56
|
-
children: node.isRequired,
|
|
57
|
-
onToggle: func.isRequired,
|
|
58
|
-
expanded: bool.isRequired,
|
|
59
|
-
label: string.isRequired
|
|
60
|
-
};
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2018 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import React from 'react';
|
|
19
|
-
import { bool, func, string } from 'prop-types';
|
|
20
|
-
import { collectionsShape, linkShape } from './propTypes';
|
|
21
|
-
import AccordionSection from './AccordionSection';
|
|
22
|
-
import LinkSet from './LinkSet';
|
|
23
|
-
export default function CollectionPanel(props) {
|
|
24
|
-
const accordionProps = {
|
|
25
|
-
collection: props.collection,
|
|
26
|
-
onToggle: props.onChangeAccordion,
|
|
27
|
-
expanded: props.selectedAccordionIndex === props.collection,
|
|
28
|
-
label: props.label
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
function fetchInitialPage() {
|
|
32
|
-
if (props.fetchInitialPage) {
|
|
33
|
-
props.fetchInitialPage(props.collection, props.searchString);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function fetchNextPage() {
|
|
38
|
-
if (props.fetchNextPage) {
|
|
39
|
-
props.fetchNextPage(props.collection, props.searchString);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
44
|
-
"data-testid": "instructure_links-CollectionPanel"
|
|
45
|
-
}, /*#__PURE__*/React.createElement(AccordionSection, accordionProps, /*#__PURE__*/React.createElement(LinkSet, {
|
|
46
|
-
fetchInitialPage: fetchInitialPage,
|
|
47
|
-
fetchNextPage: fetchNextPage,
|
|
48
|
-
type: props.collection,
|
|
49
|
-
collection: props.collections[props.collection],
|
|
50
|
-
onLinkClick: props.onLinkClick,
|
|
51
|
-
suppressRenderEmpty: props.suppressRenderEmpty,
|
|
52
|
-
contextType: props.contextType,
|
|
53
|
-
contextId: props.contextId,
|
|
54
|
-
searchString: props.searchString,
|
|
55
|
-
editing: props.editing,
|
|
56
|
-
onEditClick: props.onEditClick,
|
|
57
|
-
selectedLink: props.selectedLink
|
|
58
|
-
})));
|
|
59
|
-
}
|
|
60
|
-
CollectionPanel.propTypes = {
|
|
61
|
-
contextId: string.isRequired,
|
|
62
|
-
contextType: string.isRequired,
|
|
63
|
-
searchString: string,
|
|
64
|
-
collections: collectionsShape.isRequired,
|
|
65
|
-
collection: string.isRequired,
|
|
66
|
-
label: string.isRequired,
|
|
67
|
-
renderNewPageLink: bool,
|
|
68
|
-
suppressRenderEmpty: bool,
|
|
69
|
-
fetchInitialPage: func,
|
|
70
|
-
fetchNextPage: func,
|
|
71
|
-
onLinkClick: func,
|
|
72
|
-
newPageLinkExpanded: bool,
|
|
73
|
-
toggleNewPageForm: func,
|
|
74
|
-
onChangeAccordion: func.isRequired,
|
|
75
|
-
selectedAccordionIndex: string,
|
|
76
|
-
editing: bool,
|
|
77
|
-
onEditClick: func,
|
|
78
|
-
selectedLink: linkShape
|
|
79
|
-
};
|
|
80
|
-
CollectionPanel.defaultProps = {
|
|
81
|
-
renderNewPageLink: false,
|
|
82
|
-
suppressRenderEmpty: false,
|
|
83
|
-
editing: false
|
|
84
|
-
};
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import React, { useState } from 'react';
|
|
19
|
-
import { bool, func, oneOf, string } from 'prop-types';
|
|
20
|
-
import { linkShape } from './propTypes';
|
|
21
|
-
import formatMessage from '../../../../format-message';
|
|
22
|
-
import { renderLink as renderLinkHtml } from '../../../contentRendering';
|
|
23
|
-
import dragHtml from '../../../../sidebar/dragHtml';
|
|
24
|
-
import { applyTimezoneOffsetToDate } from '../../shared/dateUtils';
|
|
25
|
-
import { AccessibleContent, ScreenReaderContent } from '@instructure/ui-a11y-content';
|
|
26
|
-
import { Flex } from '@instructure/ui-flex';
|
|
27
|
-
import { View } from '@instructure/ui-view';
|
|
28
|
-
import { Text } from '@instructure/ui-text';
|
|
29
|
-
import { Focusable } from '@instructure/ui-focusable';
|
|
30
|
-
import { IconDragHandleLine, IconPublishSolid, IconUnpublishedSolid } from '@instructure/ui-icons';
|
|
31
|
-
import RCEGlobals from '../../../RCEGlobals';
|
|
32
|
-
import { getIcon } from '../../shared/linkUtils';
|
|
33
|
-
export default function Link(props) {
|
|
34
|
-
const internalLink = { ...props.link
|
|
35
|
-
};
|
|
36
|
-
const [isHovering, setIsHovering] = useState(false);
|
|
37
|
-
const {
|
|
38
|
-
title,
|
|
39
|
-
published,
|
|
40
|
-
date,
|
|
41
|
-
date_type
|
|
42
|
-
} = props.link;
|
|
43
|
-
const type = props.type === 'quizzes' && props.link.quiz_type === 'quizzes.next' ? 'quizzes.next' : props.type;
|
|
44
|
-
internalLink['data-course-type'] = type; // Only included published attr if it makes sense for the link type
|
|
45
|
-
|
|
46
|
-
const publishable = !['navigation', 'announcements'].includes(type);
|
|
47
|
-
internalLink['data-published'] = publishable ? published : null;
|
|
48
|
-
const Icon = getIcon(type);
|
|
49
|
-
const color = published ? 'success' : 'primary';
|
|
50
|
-
let dateString = null;
|
|
51
|
-
|
|
52
|
-
if (date) {
|
|
53
|
-
if (date === 'multiple') {
|
|
54
|
-
dateString = formatMessage('Due: Multiple Dates');
|
|
55
|
-
} else {
|
|
56
|
-
var _RCEGlobals$getConfig;
|
|
57
|
-
|
|
58
|
-
// Uses user locale and timezone
|
|
59
|
-
const configuredTimezone = (_RCEGlobals$getConfig = RCEGlobals.getConfig()) === null || _RCEGlobals$getConfig === void 0 ? void 0 : _RCEGlobals$getConfig.timezone;
|
|
60
|
-
const when = formatMessage.date(applyTimezoneOffsetToDate(date, configuredTimezone), 'long');
|
|
61
|
-
|
|
62
|
-
switch (date_type) {
|
|
63
|
-
case 'todo':
|
|
64
|
-
dateString = formatMessage('To Do: {when}', {
|
|
65
|
-
when
|
|
66
|
-
});
|
|
67
|
-
break;
|
|
68
|
-
|
|
69
|
-
case 'published':
|
|
70
|
-
dateString = formatMessage('Published: {when}', {
|
|
71
|
-
when
|
|
72
|
-
});
|
|
73
|
-
break;
|
|
74
|
-
|
|
75
|
-
case 'posted':
|
|
76
|
-
dateString = formatMessage('Posted: {when}', {
|
|
77
|
-
when
|
|
78
|
-
});
|
|
79
|
-
break;
|
|
80
|
-
|
|
81
|
-
case 'delayed_post':
|
|
82
|
-
dateString = formatMessage('To Be Posted: {when}', {
|
|
83
|
-
when
|
|
84
|
-
});
|
|
85
|
-
break;
|
|
86
|
-
|
|
87
|
-
case 'due':
|
|
88
|
-
default:
|
|
89
|
-
dateString = formatMessage('Due: {when}', {
|
|
90
|
-
when
|
|
91
|
-
});
|
|
92
|
-
break;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const publishedMsg = props.link.published ? formatMessage('published') : formatMessage('unpublished');
|
|
98
|
-
|
|
99
|
-
function handleLinkClick(e) {
|
|
100
|
-
e.preventDefault();
|
|
101
|
-
|
|
102
|
-
if (props.editing) {
|
|
103
|
-
props.onEditClick({ ...internalLink,
|
|
104
|
-
type
|
|
105
|
-
});
|
|
106
|
-
} else {
|
|
107
|
-
props.onClick(internalLink);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function handleLinkKey(e) {
|
|
112
|
-
// press the button on enter or space
|
|
113
|
-
if (e.keyCode === 13 || e.keyCode === 32) {
|
|
114
|
-
handleLinkClick(e);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
function handleDragStart(e) {
|
|
119
|
-
dragHtml(e, renderLinkHtml(internalLink, internalLink.title));
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
function handleDragEnd(_e) {
|
|
123
|
-
document.body.click(); // closes the tray
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
function handleHover(e) {
|
|
127
|
-
setIsHovering(e.type === 'mouseenter');
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
131
|
-
"data-testid": "instructure_links-Link",
|
|
132
|
-
draggable: !props.editing,
|
|
133
|
-
onDragStart: handleDragStart,
|
|
134
|
-
onDragEnd: handleDragEnd,
|
|
135
|
-
onMouseEnter: handleHover,
|
|
136
|
-
onMouseLeave: handleHover,
|
|
137
|
-
style: {
|
|
138
|
-
position: 'relative'
|
|
139
|
-
}
|
|
140
|
-
}, /*#__PURE__*/React.createElement(Focusable, null, _ref => {
|
|
141
|
-
let {
|
|
142
|
-
focused
|
|
143
|
-
} = _ref;
|
|
144
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
145
|
-
withFocusOutline: focused,
|
|
146
|
-
focusPosition: "inset",
|
|
147
|
-
position: "relative",
|
|
148
|
-
as: "div",
|
|
149
|
-
role: "button",
|
|
150
|
-
tabIndex: 0,
|
|
151
|
-
background: "primary",
|
|
152
|
-
display: "block",
|
|
153
|
-
width: "100%",
|
|
154
|
-
borderWidth: "0 0 small 0",
|
|
155
|
-
padding: "x-small",
|
|
156
|
-
"aria-describedby": props.describedByID,
|
|
157
|
-
onClick: handleLinkClick,
|
|
158
|
-
onKeyDown: handleLinkKey,
|
|
159
|
-
elementRef: props.elementRef
|
|
160
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
161
|
-
style: {
|
|
162
|
-
pointerEvents: 'none'
|
|
163
|
-
}
|
|
164
|
-
}, /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
165
|
-
margin: "0 xx-small 0 0",
|
|
166
|
-
size: "1.125rem"
|
|
167
|
-
}, isHovering && !props.editing ? /*#__PURE__*/React.createElement(IconDragHandleLine, {
|
|
168
|
-
size: "x-small",
|
|
169
|
-
inline: false
|
|
170
|
-
}) : null), /*#__PURE__*/React.createElement(Flex.Item, {
|
|
171
|
-
shouldGrow: true,
|
|
172
|
-
shouldShrink: true
|
|
173
|
-
}, /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
174
|
-
padding: "0 x-small 0 0"
|
|
175
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
176
|
-
color: color
|
|
177
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
178
|
-
size: "x-small",
|
|
179
|
-
inline: false,
|
|
180
|
-
"data-type": type
|
|
181
|
-
}))), /*#__PURE__*/React.createElement(Flex.Item, {
|
|
182
|
-
padding: "0 x-small 0 0",
|
|
183
|
-
shouldGrow: true,
|
|
184
|
-
shouldShrink: true,
|
|
185
|
-
textAlign: "start"
|
|
186
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
187
|
-
as: "div",
|
|
188
|
-
margin: "0"
|
|
189
|
-
}, title, props.isSelected && /*#__PURE__*/React.createElement(ScreenReaderContent, {
|
|
190
|
-
"data-testid": "selected-link-indicator"
|
|
191
|
-
}, formatMessage('Selected'))), dateString ? /*#__PURE__*/React.createElement(View, {
|
|
192
|
-
as: "div"
|
|
193
|
-
}, dateString) : null), 'published' in props.link && /*#__PURE__*/React.createElement(Flex.Item, null, /*#__PURE__*/React.createElement(AccessibleContent, {
|
|
194
|
-
alt: publishedMsg
|
|
195
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
196
|
-
color: color
|
|
197
|
-
}, published ? /*#__PURE__*/React.createElement(IconPublishSolid, {
|
|
198
|
-
inline: false
|
|
199
|
-
}) : /*#__PURE__*/React.createElement(IconUnpublishedSolid, {
|
|
200
|
-
inline: false
|
|
201
|
-
})))))))));
|
|
202
|
-
}));
|
|
203
|
-
}
|
|
204
|
-
Link.propTypes = {
|
|
205
|
-
link: linkShape.isRequired,
|
|
206
|
-
type: oneOf(['assignments', 'discussions', 'modules', 'quizzes', 'announcements', 'wikiPages', 'navigation']).isRequired,
|
|
207
|
-
onClick: func.isRequired,
|
|
208
|
-
describedByID: string.isRequired,
|
|
209
|
-
elementRef: func,
|
|
210
|
-
editing: bool,
|
|
211
|
-
onEditClick: func,
|
|
212
|
-
isSelected: bool
|
|
213
|
-
};
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import React from 'react';
|
|
19
|
-
import ReactDOM from 'react-dom';
|
|
20
|
-
import bridge from '../../../../../bridge';
|
|
21
|
-
import { isOnlyTextSelected, getAnchorElement } from '../../../../contentInsertionUtils';
|
|
22
|
-
import LinkOptionsDialog from './index';
|
|
23
|
-
export const CONTAINER_ID = 'instructure-link-options-tray-container';
|
|
24
|
-
export const CREATE_LINK = 'create';
|
|
25
|
-
export const EDIT_LINK = 'edit';
|
|
26
|
-
export default class LinkOptionsDialogController {
|
|
27
|
-
constructor() {
|
|
28
|
-
this._dismissDialog = () => {
|
|
29
|
-
this._shouldOpen = false;
|
|
30
|
-
|
|
31
|
-
this._renderDialog();
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
this._hasClosed = () => {
|
|
35
|
-
bridge.focusActiveEditor(false);
|
|
36
|
-
this._isOpen = false;
|
|
37
|
-
|
|
38
|
-
this._editor.focus(false);
|
|
39
|
-
|
|
40
|
-
this._editor = null;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
this._editor = null;
|
|
44
|
-
this._isOpen = false;
|
|
45
|
-
this._shouldOpen = false;
|
|
46
|
-
this._renderId = 0;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
get $container() {
|
|
50
|
-
let $container = document.getElementById(CONTAINER_ID);
|
|
51
|
-
|
|
52
|
-
if ($container == null) {
|
|
53
|
-
$container = document.createElement('div');
|
|
54
|
-
$container.id = CONTAINER_ID;
|
|
55
|
-
document.body.appendChild($container);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return $container;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
get isOpen() {
|
|
62
|
-
return this._isOpen;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
showDialogForEditor(editor, op) {
|
|
66
|
-
this._editor = editor;
|
|
67
|
-
this._shouldOpen = true;
|
|
68
|
-
this._op = op;
|
|
69
|
-
|
|
70
|
-
this._renderDialog();
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
hideDialog() {
|
|
74
|
-
this._dismissDialog();
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
_applyLinkOptions(linkOptions) {
|
|
78
|
-
this._dismissDialog();
|
|
79
|
-
|
|
80
|
-
bridge.insertLink(linkOptions);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
_renderDialog() {
|
|
84
|
-
let html, onlyText, anchorElm, url, text;
|
|
85
|
-
|
|
86
|
-
if (this._shouldOpen) {
|
|
87
|
-
var _anchorElm;
|
|
88
|
-
|
|
89
|
-
html = this._editor.selection.getContent();
|
|
90
|
-
onlyText = isOnlyTextSelected(html);
|
|
91
|
-
text = onlyText && this._editor.selection.getContent({
|
|
92
|
-
format: 'text'
|
|
93
|
-
});
|
|
94
|
-
anchorElm = getAnchorElement(this._editor, this._editor.selection.getNode());
|
|
95
|
-
url = (_anchorElm = anchorElm) === null || _anchorElm === void 0 ? void 0 : _anchorElm.getAttribute('href');
|
|
96
|
-
/*
|
|
97
|
-
* When the dialog is being opened again, it should be rendered fresh
|
|
98
|
-
* (clearing the internal state) so that the currently-selected content
|
|
99
|
-
* can be used for initial options.
|
|
100
|
-
*/
|
|
101
|
-
|
|
102
|
-
this._renderId++;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
const element = /*#__PURE__*/React.createElement(LinkOptionsDialog, {
|
|
106
|
-
key: this._renderId,
|
|
107
|
-
size: "medium",
|
|
108
|
-
showText: onlyText,
|
|
109
|
-
text: text,
|
|
110
|
-
url: url,
|
|
111
|
-
operation: this._op,
|
|
112
|
-
onEntered: () => {
|
|
113
|
-
this._isOpen = true;
|
|
114
|
-
},
|
|
115
|
-
onExited: this._hasClosed,
|
|
116
|
-
onRequestClose: this._dismissDialog,
|
|
117
|
-
onSave: linkOptions => {
|
|
118
|
-
bridge.focusEditor(this._editor.rceWrapper);
|
|
119
|
-
|
|
120
|
-
this._applyLinkOptions(linkOptions);
|
|
121
|
-
},
|
|
122
|
-
open: this._shouldOpen
|
|
123
|
-
});
|
|
124
|
-
ReactDOM.render(element, this.$container);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
}
|