@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,94 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2020 - 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
|
-
// IMPORTANT!
|
|
19
|
-
// Do not import this file directly, but get it via Bridge.uploadMediaTranslations
|
|
20
|
-
// This is because the locale, which is lazy imported, has to be loaded and
|
|
21
|
-
// format-message initialized before this file gets evaluated.
|
|
22
|
-
import formatMessage from '../../../format-message';
|
|
23
|
-
const uploadMediaTranslations = {
|
|
24
|
-
UploadMediaStrings: {
|
|
25
|
-
ADD_CLOSED_CAPTIONS_OR_SUBTITLES: formatMessage('Add CC/Subtitles'),
|
|
26
|
-
CLEAR_FILE_TEXT: formatMessage('Clear selected file'),
|
|
27
|
-
CLOSE_TEXT: formatMessage('Close'),
|
|
28
|
-
CLOSED_CAPTIONS_CHOOSE_FILE: formatMessage('Choose caption file'),
|
|
29
|
-
CLOSED_CAPTIONS_SELECT_LANGUAGE: formatMessage('Select Language'),
|
|
30
|
-
COMPUTER_PANEL_TITLE: formatMessage('Computer'),
|
|
31
|
-
DRAG_DROP_CLICK_TO_BROWSE: formatMessage('Drag and drop, or click to browse your computer'),
|
|
32
|
-
DRAG_FILE_TEXT: formatMessage('Drag a file here'),
|
|
33
|
-
EMBED_PANEL_TITLE: formatMessage('Embed'),
|
|
34
|
-
EMBED_VIDEO_CODE_TEXT: formatMessage('Embed Code'),
|
|
35
|
-
INVALID_FILE_TEXT: formatMessage('Invalid File'),
|
|
36
|
-
LOADING_MEDIA: formatMessage('Loading...'),
|
|
37
|
-
RECORD_PANEL_TITLE: formatMessage('Record'),
|
|
38
|
-
SUBMIT_TEXT: formatMessage('Submit'),
|
|
39
|
-
UPLOADING_ERROR: formatMessage('An error occurred uploading your media.'),
|
|
40
|
-
UPLOAD_MEDIA_LABEL: formatMessage('Upload Media'),
|
|
41
|
-
MEDIA_RECORD_NOT_AVAILABLE: formatMessage('Audio and video recording not supported; please use a different browser.'),
|
|
42
|
-
SUPPORTED_FILE_TYPES: formatMessage('Supported file types: SRT or WebVTT'),
|
|
43
|
-
NO_FILE_CHOSEN: formatMessage('No file chosen'),
|
|
44
|
-
REMOVE_FILE: 'Remove {lang} closed captions',
|
|
45
|
-
ADD_NEW_CAPTION_OR_SUBTITLE: formatMessage('Add another'),
|
|
46
|
-
ADDED_CAPTION: 'Captions for {lang} added',
|
|
47
|
-
DELETED_CAPTION: 'Deleted captions for {lang}',
|
|
48
|
-
PROGRESS_LABEL: formatMessage('Uploading')
|
|
49
|
-
},
|
|
50
|
-
SelectStrings: {
|
|
51
|
-
USE_ARROWS: 'Use arrow keys to navigate options.',
|
|
52
|
-
LIST_COLLAPSED: 'List collapsed.',
|
|
53
|
-
LIST_EXPANDED: 'List expanded.',
|
|
54
|
-
OPTION_SELECTED: '{option} selected.'
|
|
55
|
-
},
|
|
56
|
-
// Structure copied from @instructure/media-capture translations file
|
|
57
|
-
MediaCaptureStrings: {
|
|
58
|
-
ARIA_TIMEBAR_LABEL: formatMessage('Timebar'),
|
|
59
|
-
ARIA_VIDEO_LABEL: formatMessage('Video Player'),
|
|
60
|
-
ARIA_VOLUME: formatMessage('Current Volume Level'),
|
|
61
|
-
ARIA_RECORDING: formatMessage('Recording'),
|
|
62
|
-
DEFAULT_ERROR: formatMessage('Something went wrong accessing your webcam.'),
|
|
63
|
-
DEVICE_AUDIO: formatMessage('Mic'),
|
|
64
|
-
DEVICE_VIDEO: formatMessage('Webcam'),
|
|
65
|
-
FILE_PLACEHOLDER: formatMessage('Untitled'),
|
|
66
|
-
FINISH: formatMessage('Finish'),
|
|
67
|
-
WEBCAM_VIDEO_SELECTION_LABEL: formatMessage('Select video source'),
|
|
68
|
-
WEBCAM_AUDIO_SELECTION_LABEL: formatMessage('Select audio source'),
|
|
69
|
-
NO_WEBCAM: formatMessage('No Video'),
|
|
70
|
-
// Modified string to match from ui/shared/media-recorder/react/components/MediaRecorder.js
|
|
71
|
-
NOT_ALLOWED_ERROR: formatMessage('Please allow Canvas to access your microphone and webcam.'),
|
|
72
|
-
NOT_READABLE_ERROR: formatMessage('Your webcam may already be in use.'),
|
|
73
|
-
PLAYBACK_PAUSE: formatMessage('Pause'),
|
|
74
|
-
PLAYBACK_PLAY: formatMessage('Play'),
|
|
75
|
-
PREVIEW: formatMessage('PREVIEW'),
|
|
76
|
-
SAVE_MEDIA: formatMessage('Save Media'),
|
|
77
|
-
// Modified string to match from ui/shared/media-recorder/react/components/MediaRecorder.js
|
|
78
|
-
SR_FILE_INPUT: formatMessage('File name'),
|
|
79
|
-
START: formatMessage('Start Recording'),
|
|
80
|
-
START_OVER: formatMessage('Start Over'),
|
|
81
|
-
SCREEN_DEFAULT_ERROR: formatMessage('Something went wrong while sharing your screen.'),
|
|
82
|
-
MIC_BLOCKED: formatMessage('Your microphone is blocked in the browser settings.'),
|
|
83
|
-
WEBCAM_BLOCKED: formatMessage('Your webcam is blocked in the browser settings.'),
|
|
84
|
-
MIC_AND_WEBCAM_BLOCKED: formatMessage('Your webcam and microphone are blocked in the browser settings.'),
|
|
85
|
-
NO_MIC_EXIST: formatMessage('We couldn’t detect a working microphone connected to your device.'),
|
|
86
|
-
NO_WEBCAM_EXIST: formatMessage('We couldn’t detect a working webcam connected to your device.'),
|
|
87
|
-
NO_MIC_AND_WEBCAM_EXIST: formatMessage('We couldn’t detect a working webcam or microphone connected to your device.'),
|
|
88
|
-
WEBCAM_DISABLED: formatMessage('Webcam Disabled'),
|
|
89
|
-
MICROPHONE_DISABLED: formatMessage('Microphone Disabled'),
|
|
90
|
-
SYSTEM_AUDIO_ALLOWED: formatMessage('System Audio Allowed'),
|
|
91
|
-
SYSTEM_AUDIO_DISABLED: formatMessage('System Audio Disabled')
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
export default uploadMediaTranslations;
|
|
@@ -1,173 +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 clickCallback from './clickCallback';
|
|
21
|
-
import bridge from '../../../bridge';
|
|
22
|
-
import formatMessage from '../../../format-message';
|
|
23
|
-
import VideoTrayController from './VideoOptionsTray/TrayController';
|
|
24
|
-
import AudioTrayController from './AudioOptionsTray/TrayController';
|
|
25
|
-
import { isAudioElement, isVideoElement } from '../shared/ContentSelection';
|
|
26
|
-
import { isOKToLink } from '../../contentInsertionUtils';
|
|
27
|
-
import tinymce from 'tinymce';
|
|
28
|
-
const videoTrayController = new VideoTrayController();
|
|
29
|
-
const audioTrayController = new AudioTrayController();
|
|
30
|
-
const COURSE_PLUGIN_KEY = 'course_media';
|
|
31
|
-
const USER_PLUGIN_KEY = 'user_media';
|
|
32
|
-
const GROUP_PLUGIN_KEY = 'group_media';
|
|
33
|
-
|
|
34
|
-
function getMenuItems(ed) {
|
|
35
|
-
const contextType = ed.settings.canvas_rce_user_context.type;
|
|
36
|
-
const items = [];
|
|
37
|
-
|
|
38
|
-
if (ed.getParam('show_media_upload')) {
|
|
39
|
-
// test if it's ok
|
|
40
|
-
items.push({
|
|
41
|
-
text: formatMessage('Upload/Record Media'),
|
|
42
|
-
value: 'instructure_upload_media'
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (contextType === 'course') {
|
|
47
|
-
items.push({
|
|
48
|
-
text: formatMessage('Course Media'),
|
|
49
|
-
value: 'instructure_course_media'
|
|
50
|
-
});
|
|
51
|
-
} else if (contextType === 'group') {
|
|
52
|
-
items.push({
|
|
53
|
-
text: formatMessage('Group Media'),
|
|
54
|
-
value: 'instructure_group_media'
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
items.push({
|
|
59
|
-
text: formatMessage('User Media'),
|
|
60
|
-
value: 'instructure_user_media'
|
|
61
|
-
});
|
|
62
|
-
return items;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
function doMenuItem(ed, value) {
|
|
66
|
-
switch (value) {
|
|
67
|
-
case 'instructure_upload_media':
|
|
68
|
-
ed.execCommand('instructureRecord');
|
|
69
|
-
break;
|
|
70
|
-
|
|
71
|
-
case 'instructure_course_media':
|
|
72
|
-
ed.focus(true);
|
|
73
|
-
ed.execCommand('instructureTrayForMedia', false, COURSE_PLUGIN_KEY);
|
|
74
|
-
break;
|
|
75
|
-
|
|
76
|
-
case 'instructure_group_media':
|
|
77
|
-
ed.focus(true);
|
|
78
|
-
ed.execCommand('instructureTrayForMedia', false, GROUP_PLUGIN_KEY);
|
|
79
|
-
break;
|
|
80
|
-
|
|
81
|
-
case 'instructure_user_media':
|
|
82
|
-
ed.focus(true);
|
|
83
|
-
ed.execCommand('instructureTrayForMedia', false, USER_PLUGIN_KEY);
|
|
84
|
-
break;
|
|
85
|
-
}
|
|
86
|
-
} // Register plugin
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
tinymce.PluginManager.add('instructure_record', function (ed) {
|
|
90
|
-
ed.addCommand('instructureRecord', () => clickCallback(ed, document));
|
|
91
|
-
ed.addCommand('instructureTrayForMedia', (ui, plugin_key) => {
|
|
92
|
-
bridge.showTrayForPlugin(plugin_key, ed.id);
|
|
93
|
-
}); // Register menu items
|
|
94
|
-
|
|
95
|
-
ed.ui.registry.addNestedMenuItem('instructure_media', {
|
|
96
|
-
text: formatMessage('Media'),
|
|
97
|
-
icon: 'video',
|
|
98
|
-
getSubmenuItems: () => getMenuItems(ed).map(item => {
|
|
99
|
-
return {
|
|
100
|
-
type: 'menuitem',
|
|
101
|
-
text: item.text,
|
|
102
|
-
onAction: () => doMenuItem(ed, item.value),
|
|
103
|
-
onSetup: api => {
|
|
104
|
-
api.setDisabled(!isOKToLink(ed.selection.getContent()));
|
|
105
|
-
return () => undefined;
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
})
|
|
109
|
-
}); // Register buttons
|
|
110
|
-
|
|
111
|
-
ed.ui.registry.addMenuButton('instructure_record', {
|
|
112
|
-
tooltip: formatMessage('Record/Upload Media'),
|
|
113
|
-
icon: 'video',
|
|
114
|
-
fetch: callback => callback(getMenuItems(ed).map(item => ({
|
|
115
|
-
type: 'menuitem',
|
|
116
|
-
text: item.text,
|
|
117
|
-
value: item.value,
|
|
118
|
-
onAction: () => doMenuItem(ed, item.value)
|
|
119
|
-
}))),
|
|
120
|
-
|
|
121
|
-
onSetup(api) {
|
|
122
|
-
function handleNodeChange(_e) {
|
|
123
|
-
api.setDisabled(!isOKToLink(ed.selection.getContent()));
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
setTimeout(handleNodeChange);
|
|
127
|
-
ed.on('NodeChange', handleNodeChange);
|
|
128
|
-
return () => {
|
|
129
|
-
ed.off('NodeChange', handleNodeChange);
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
});
|
|
134
|
-
/*
|
|
135
|
-
* Register the Video "Options" button that will open the Video Options
|
|
136
|
-
* tray.
|
|
137
|
-
*/
|
|
138
|
-
|
|
139
|
-
const buttonAriaLabel = formatMessage('Show video options');
|
|
140
|
-
ed.ui.registry.addButton('instructure-video-options', {
|
|
141
|
-
onAction() {
|
|
142
|
-
// show the tray
|
|
143
|
-
videoTrayController.showTrayForEditor(ed);
|
|
144
|
-
},
|
|
145
|
-
|
|
146
|
-
text: formatMessage('Video Options'),
|
|
147
|
-
tooltip: buttonAriaLabel
|
|
148
|
-
});
|
|
149
|
-
ed.ui.registry.addContextToolbar('instructure-video-toolbar', {
|
|
150
|
-
items: 'instructure-video-options',
|
|
151
|
-
position: 'node',
|
|
152
|
-
predicate: isVideoElement,
|
|
153
|
-
scope: 'node'
|
|
154
|
-
});
|
|
155
|
-
ed.ui.registry.addButton('instructure-audio-options', {
|
|
156
|
-
onAction() {
|
|
157
|
-
audioTrayController.showTrayForEditor(ed);
|
|
158
|
-
},
|
|
159
|
-
|
|
160
|
-
text: formatMessage('Audio Options'),
|
|
161
|
-
tooltip: formatMessage('Show audio options')
|
|
162
|
-
});
|
|
163
|
-
ed.ui.registry.addContextToolbar('instructure-audio-toolbar', {
|
|
164
|
-
items: 'instructure-audio-options',
|
|
165
|
-
position: 'node',
|
|
166
|
-
predicate: isAudioElement,
|
|
167
|
-
scope: 'node'
|
|
168
|
-
});
|
|
169
|
-
ed.on('remove', editor => {
|
|
170
|
-
audioTrayController.hideTrayForEditor(editor);
|
|
171
|
-
videoTrayController.hideTrayForEditor(editor);
|
|
172
|
-
});
|
|
173
|
-
});
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2023 - 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 tinymce from 'tinymce';
|
|
19
|
-
import { isStudioEmbeddedMedia, handleBeforeObjectSelected } from '../shared/StudioLtiSupportUtils';
|
|
20
|
-
import VideoTrayController from '../instructure_record/VideoOptionsTray/TrayController';
|
|
21
|
-
import formatMessage from '../../../format-message';
|
|
22
|
-
const studioTrayController = new VideoTrayController();
|
|
23
|
-
tinymce.PluginManager.add('instructure_studio_media_options', function (ed) {
|
|
24
|
-
ed.ui.registry.addButton('studio-media-options', {
|
|
25
|
-
onAction() {
|
|
26
|
-
studioTrayController.showTrayForEditor(ed);
|
|
27
|
-
},
|
|
28
|
-
|
|
29
|
-
text: formatMessage('Studio Media Options'),
|
|
30
|
-
tooltip: formatMessage('Show Studio media options')
|
|
31
|
-
});
|
|
32
|
-
ed.ui.registry.addContextToolbar('studio-media-options-toolbar', {
|
|
33
|
-
items: 'studio-media-options',
|
|
34
|
-
position: 'node',
|
|
35
|
-
predicate: isStudioEmbeddedMedia,
|
|
36
|
-
scope: 'node'
|
|
37
|
-
});
|
|
38
|
-
ed.on('BeforeObjectSelected', handleBeforeObjectSelected);
|
|
39
|
-
ed.on('remove', editor => {
|
|
40
|
-
studioTrayController.hideTrayForEditor(editor);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2022 - 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 { generateRows, HEADERS } from './utils/tableContent';
|
|
21
|
-
const MODAL_ID = 'canvas-rce-wordcount-container';
|
|
22
|
-
export default function (ed, document, options) {
|
|
23
|
-
return import('./components/WordCountModal').then(_ref => {
|
|
24
|
-
let {
|
|
25
|
-
WordCountModal
|
|
26
|
-
} = _ref;
|
|
27
|
-
let container = document.querySelector(`#${MODAL_ID}`);
|
|
28
|
-
|
|
29
|
-
if (!container) {
|
|
30
|
-
container = document.createElement('div');
|
|
31
|
-
container.id = MODAL_ID;
|
|
32
|
-
document.body.appendChild(container);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const handleDismiss = () => {
|
|
36
|
-
if (container) {
|
|
37
|
-
ReactDOM.unmountComponentAtNode(container);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
ed.focus(options.skipEditorFocus);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
ReactDOM.render( /*#__PURE__*/React.createElement(WordCountModal, {
|
|
44
|
-
headers: HEADERS,
|
|
45
|
-
rows: generateRows(ed),
|
|
46
|
-
onDismiss: handleDismiss
|
|
47
|
-
}), container);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import _pt from "prop-types";
|
|
2
|
-
// @ts-nocheck
|
|
3
|
-
|
|
4
|
-
/*
|
|
5
|
-
* Copyright (C) 2022 - present Instructure, Inc.
|
|
6
|
-
*
|
|
7
|
-
* This file is part of Canvas.
|
|
8
|
-
*
|
|
9
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
10
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
11
|
-
* Software Foundation, version 3 of the License.
|
|
12
|
-
*
|
|
13
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
16
|
-
* details.
|
|
17
|
-
*
|
|
18
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
19
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
-
*/
|
|
21
|
-
import React from 'react';
|
|
22
|
-
import { Modal } from '@instructure/ui-modal';
|
|
23
|
-
import { BaseButton, CloseButton } from '@instructure/ui-buttons';
|
|
24
|
-
import { Heading } from '@instructure/ui-heading';
|
|
25
|
-
import { Table } from '@instructure/ui-table';
|
|
26
|
-
import formatMessage from '../../../../format-message';
|
|
27
|
-
import { instuiPopupMountNode } from '../../../../util/fullscreenHelpers';
|
|
28
|
-
|
|
29
|
-
const renderBody = (headers, rows) => {
|
|
30
|
-
return /*#__PURE__*/React.createElement(Table, {
|
|
31
|
-
caption: formatMessage('Word Count')
|
|
32
|
-
}, /*#__PURE__*/React.createElement(Table.Head, null, /*#__PURE__*/React.createElement(Table.Row, null, headers.map(_ref => {
|
|
33
|
-
let {
|
|
34
|
-
id,
|
|
35
|
-
getLabel
|
|
36
|
-
} = _ref;
|
|
37
|
-
return /*#__PURE__*/React.createElement(Table.ColHeader, {
|
|
38
|
-
key: id,
|
|
39
|
-
id: id
|
|
40
|
-
}, getLabel());
|
|
41
|
-
}))), /*#__PURE__*/React.createElement(Table.Body, null, rows.map(_ref2 => {
|
|
42
|
-
let {
|
|
43
|
-
label,
|
|
44
|
-
documentCount,
|
|
45
|
-
selectionCount
|
|
46
|
-
} = _ref2;
|
|
47
|
-
return /*#__PURE__*/React.createElement(Table.Row, {
|
|
48
|
-
key: label
|
|
49
|
-
}, /*#__PURE__*/React.createElement(Table.Cell, {
|
|
50
|
-
key: "label"
|
|
51
|
-
}, label), /*#__PURE__*/React.createElement(Table.Cell, {
|
|
52
|
-
key: "document"
|
|
53
|
-
}, documentCount), /*#__PURE__*/React.createElement(Table.Cell, {
|
|
54
|
-
key: "selection"
|
|
55
|
-
}, selectionCount));
|
|
56
|
-
})));
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
export const WordCountModal = _ref3 => {
|
|
60
|
-
let {
|
|
61
|
-
headers,
|
|
62
|
-
rows,
|
|
63
|
-
onDismiss
|
|
64
|
-
} = _ref3;
|
|
65
|
-
return /*#__PURE__*/React.createElement(Modal, {
|
|
66
|
-
label: formatMessage('Word Count'),
|
|
67
|
-
mountNode: instuiPopupMountNode,
|
|
68
|
-
open: true,
|
|
69
|
-
"data-mce-component": true
|
|
70
|
-
}, /*#__PURE__*/React.createElement(Modal.Header, null, /*#__PURE__*/React.createElement(CloseButton, {
|
|
71
|
-
placement: "end",
|
|
72
|
-
offset: "medium",
|
|
73
|
-
color: "primary",
|
|
74
|
-
onClick: onDismiss,
|
|
75
|
-
screenReaderLabel: formatMessage('Close')
|
|
76
|
-
}), /*#__PURE__*/React.createElement(Heading, null, formatMessage('Word Count'))), /*#__PURE__*/React.createElement(Modal.Body, {
|
|
77
|
-
padding: "x-large"
|
|
78
|
-
}, renderBody(headers, rows)), /*#__PURE__*/React.createElement(Modal.Footer, null, /*#__PURE__*/React.createElement(BaseButton, {
|
|
79
|
-
onClick: onDismiss,
|
|
80
|
-
"data-testid": "footer-close-button",
|
|
81
|
-
color: "primary"
|
|
82
|
-
}, formatMessage('Close'))));
|
|
83
|
-
};
|
|
84
|
-
WordCountModal.propTypes = {
|
|
85
|
-
headers: _pt.array.isRequired,
|
|
86
|
-
rows: _pt.array.isRequired,
|
|
87
|
-
onDismiss: _pt.func.isRequired
|
|
88
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2022 - 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 tinymce from 'tinymce';
|
|
19
|
-
import formatMessage from '../../../format-message';
|
|
20
|
-
import clickCallback from './clickCallback';
|
|
21
|
-
tinymce.PluginManager.add('instructure_wordcount', function (ed) {
|
|
22
|
-
ed.addCommand('instructureWordcount', () => clickCallback(ed, document, {
|
|
23
|
-
skipEditorFocus: false
|
|
24
|
-
}));
|
|
25
|
-
ed.ui.registry.addMenuItem('instructure_wordcount', {
|
|
26
|
-
text: formatMessage('Word Count'),
|
|
27
|
-
icon: 'character-count',
|
|
28
|
-
onAction: () => ed.execCommand('instructureWordcount')
|
|
29
|
-
});
|
|
30
|
-
});
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2022 - 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
|
-
export const IGNORE_WORDCOUNT_ATTRIBUTE = 'data-ignore-wordcount';
|
|
19
|
-
export const countWords = node => {
|
|
20
|
-
if (node.getAttribute(IGNORE_WORDCOUNT_ATTRIBUTE) === 'chars-only') return 0;
|
|
21
|
-
const textContent = (node === null || node === void 0 ? void 0 : node.innerText) || '';
|
|
22
|
-
const trimmedTextContent = textContent.trim();
|
|
23
|
-
if (trimmedTextContent.length === 0) return 0;
|
|
24
|
-
return trimmedTextContent.split(/\s+/).length;
|
|
25
|
-
};
|
|
26
|
-
export const countCharsNoSpaces = node => {
|
|
27
|
-
const textContent = (node === null || node === void 0 ? void 0 : node.innerText) || '';
|
|
28
|
-
const matches = textContent.match(/ /g); // a single space
|
|
29
|
-
|
|
30
|
-
const spaces = matches ? matches.length : 0;
|
|
31
|
-
return countChars(node) - spaces;
|
|
32
|
-
};
|
|
33
|
-
export const countChars = node => {
|
|
34
|
-
const textContent = (node === null || node === void 0 ? void 0 : node.innerText) || '';
|
|
35
|
-
const iterator = textContent[Symbol.iterator]();
|
|
36
|
-
let count = 0;
|
|
37
|
-
|
|
38
|
-
while (!iterator.next().done) {
|
|
39
|
-
count++;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return count;
|
|
43
|
-
};
|
|
44
|
-
export const callbackForCategory = category => {
|
|
45
|
-
switch (category) {
|
|
46
|
-
case 'words':
|
|
47
|
-
return countWords;
|
|
48
|
-
|
|
49
|
-
case 'chars-no-spaces':
|
|
50
|
-
return countCharsNoSpaces;
|
|
51
|
-
|
|
52
|
-
case 'chars':
|
|
53
|
-
return countChars;
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
export const countShouldIgnore = (ed, scope, category) => {
|
|
57
|
-
if (scope === 'selection') return 0;
|
|
58
|
-
const nodesToCount = Array.from(ed.getBody().querySelectorAll(`[${IGNORE_WORDCOUNT_ATTRIBUTE}]`));
|
|
59
|
-
const callback = callbackForCategory(category);
|
|
60
|
-
return nodesToCount.reduce((total, node) => total + callback(node), 0);
|
|
61
|
-
};
|
|
62
|
-
export const getTinymceCount = (ed, scope, category) => {
|
|
63
|
-
const wc = ed.plugins.wordcount[scope];
|
|
64
|
-
|
|
65
|
-
switch (category) {
|
|
66
|
-
case 'words':
|
|
67
|
-
return wc.getWordCount();
|
|
68
|
-
|
|
69
|
-
case 'chars-no-spaces':
|
|
70
|
-
return wc.getCharacterCountWithoutSpaces();
|
|
71
|
-
|
|
72
|
-
case 'chars':
|
|
73
|
-
return wc.getCharacterCount();
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
export const countContent = (ed, scope, category) => {
|
|
77
|
-
return getTinymceCount(ed, scope, category) - countShouldIgnore(ed, scope, category);
|
|
78
|
-
};
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2022 - 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 { countContent } from './countContent';
|
|
19
|
-
import formatMessage from '../../../../format-message';
|
|
20
|
-
export const HEADERS = [{
|
|
21
|
-
id: 'count',
|
|
22
|
-
getLabel: () => formatMessage('Count')
|
|
23
|
-
}, {
|
|
24
|
-
id: 'document',
|
|
25
|
-
getLabel: () => formatMessage('Document')
|
|
26
|
-
}, {
|
|
27
|
-
id: 'selection',
|
|
28
|
-
getLabel: () => formatMessage('Selection')
|
|
29
|
-
}];
|
|
30
|
-
const ROW_LABELS = [['words', () => formatMessage('Words')], ['chars-no-spaces', () => formatMessage('Characters (no spaces)')], ['chars', () => formatMessage('Characters')]];
|
|
31
|
-
export const generateRows = ed => {
|
|
32
|
-
return ROW_LABELS.map(_ref => {
|
|
33
|
-
let [category, getLabel] = _ref;
|
|
34
|
-
return {
|
|
35
|
-
label: getLabel(),
|
|
36
|
-
documentCount: countContent(ed, 'body', category),
|
|
37
|
-
selectionCount: countContent(ed, 'selection', category)
|
|
38
|
-
};
|
|
39
|
-
});
|
|
40
|
-
};
|