@instructure/canvas-rce 5.14.1 → 5.15.0
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 +15 -0
- package/DEVELOPMENT.md +2 -2
- package/README.md +0 -8
- package/__tests__/common/indicate.test.js +84 -0
- package/__tests__/common/mimeClass.test.js +85 -0
- package/__tests__/module/contentInsertionUtils.test.js +52 -0
- package/__tests__/module/indicatorRegion.test.js +75 -0
- package/__tests__/module/normalizeLocale.test.js +46 -0
- package/__tests__/module/normalizeProps.test.js +51 -0
- package/__tests__/module/sanitizePlugins.test.js +48 -0
- package/__tests__/module/wrapInitCb.test.js +56 -0
- package/__tests__/rcs/api.test.js +819 -0
- package/{mocha-reporter-config.js → __tests__/sidebar/actions/all_files.test.js} +10 -9
- package/__tests__/sidebar/actions/data.test.js +196 -0
- package/__tests__/sidebar/actions/utils.js +44 -0
- package/{es/rce/__mocks__/_mockStudioPlayer.js → __tests__/sidebar/reducers/all_files.test.js} +12 -4
- package/babel.config.js +3 -1
- package/es/bridge/Bridge.js +18 -73
- package/es/bridge/index.js +1 -0
- package/es/canvasFileBrowser/FileBrowser.js +21 -77
- package/es/canvasFileBrowser/en-US.js +3 -6
- package/es/common/FlashAlert.js +15 -39
- package/es/common/browser.js +4 -2
- package/es/common/fileUrl.js +105 -64
- package/es/common/incremental-loading/LoadMoreButton.js +4 -4
- package/es/common/incremental-loading/LoadingIndicator.js +1 -2
- package/es/common/incremental-loading/LoadingStatus.js +5 -13
- package/es/common/incremental-loading/index.js +1 -0
- package/es/common/incremental-loading/useIncrementalLoading.js +1 -3
- package/es/common/indicate.js +16 -10
- package/es/common/mimeClass.js +3 -4
- package/es/common/natcompare.js +1 -4
- package/es/defaultTinymceConfig.js +5 -3
- package/es/elementDenylist.js +1 -0
- package/es/enhance-user-content/doc_previews.js +24 -35
- package/es/enhance-user-content/enhance_user_content.js +32 -67
- package/es/enhance-user-content/external_links.js +6 -9
- package/es/enhance-user-content/index.js +1 -0
- package/es/enhance-user-content/instructure_helper.js +22 -50
- package/es/enhance-user-content/jqueryish_funcs.js +8 -11
- package/es/enhance-user-content/mathml.js +48 -107
- package/es/enhance-user-content/media_comment_thumbnail.js +6 -25
- package/es/format-message.js +4 -5
- package/es/getThemeVars.js +8 -6
- package/es/getTranslations.js +1 -78
- package/es/index.d.ts +59 -0
- package/es/index.js +6 -6
- package/es/rce/AlertMessageArea.js +15 -16
- package/es/rce/DraggingBlocker.js +4 -2
- package/es/rce/KeyboardShortcutModal.js +3 -2
- package/es/rce/RCE.js +16 -17
- package/es/rce/RCEGlobals.js +12 -10
- package/es/rce/RCEVariants.js +29 -14
- package/es/rce/RCEWrapper.js +530 -641
- package/es/rce/RCEWrapper.utils.js +131 -0
- package/es/rce/RCEWrapperProps.js +9 -5
- package/es/rce/RceHtmlEditor.js +17 -19
- package/es/rce/ResizeHandle.js +4 -10
- package/es/rce/RestoreAutoSaveModal.js +1 -2
- package/es/rce/ShowOnFocusButton/index.js +2 -8
- package/es/rce/StatusBar.js +10 -44
- package/es/rce/alertHandler.js +1 -4
- package/es/rce/contentInsertion.js +36 -59
- package/es/rce/contentInsertionUtils.js +6 -8
- package/es/rce/contentRendering.js +13 -17
- package/es/rce/customEvents.js +1 -0
- package/es/rce/editorLanguage.js +23 -11
- package/es/rce/indicatorRegion.js +7 -7
- package/es/rce/normalizeLocale.js +5 -3
- package/es/rce/normalizeProps.js +7 -5
- package/es/rce/plugins/instructure-ui-icons/plugin.js +21 -3
- package/es/rce/plugins/instructure_color/clickCallback.js +82 -0
- package/es/rce/plugins/instructure_color/components/ColorPicker.js +294 -0
- package/es/rce/plugins/instructure_color/components/ColorPopup.js +67 -0
- package/es/rce/plugins/instructure_color/components/colorUtils.js +60 -0
- package/es/rce/plugins/instructure_color/plugin.js +40 -0
- package/es/rce/plugins/instructure_condensed_buttons/core/ListUtils.js +10 -3
- package/es/rce/plugins/instructure_condensed_buttons/plugin.js +1 -0
- package/es/rce/plugins/instructure_condensed_buttons/ui/alignment-button.js +1 -2
- package/es/rce/plugins/instructure_condensed_buttons/ui/directionality-button.js +3 -2
- package/es/rce/plugins/instructure_condensed_buttons/ui/indent-outdent-button.js +1 -0
- package/es/rce/plugins/instructure_condensed_buttons/ui/list-button.js +26 -25
- package/es/rce/plugins/instructure_condensed_buttons/ui/subscript-superscript-button.js +2 -3
- package/es/rce/plugins/instructure_documents/clickCallback.js +1 -0
- package/es/rce/plugins/instructure_documents/components/DocumentsPanel.js +1 -9
- package/es/rce/plugins/instructure_documents/components/Link.js +4 -20
- package/es/rce/plugins/instructure_documents/plugin.js +7 -14
- package/es/rce/plugins/instructure_equation/EquationEditorModal/advancedOnlySyntax.js +4 -2
- package/es/rce/plugins/instructure_equation/EquationEditorModal/advancedPreference.js +1 -2
- package/es/rce/plugins/instructure_equation/EquationEditorModal/index.js +17 -37
- package/es/rce/plugins/instructure_equation/EquationEditorModal/latexTextareaUtil.js +14 -15
- package/es/rce/plugins/instructure_equation/EquationEditorModal/parseLatex.js +6 -5
- package/es/rce/plugins/instructure_equation/EquationEditorModal/styles.js +4 -2
- package/es/rce/plugins/instructure_equation/EquationEditorToolbar/buttons.js +14 -8
- package/es/rce/plugins/instructure_equation/EquationEditorToolbar/index.js +13 -18
- package/es/rce/plugins/instructure_equation/MathIcon/index.js +4 -5
- package/es/rce/plugins/instructure_equation/MathIcon/svgs.js +1 -1
- package/es/rce/plugins/instructure_equation/clickCallback.js +2 -5
- package/es/rce/plugins/instructure_equation/mathlive/index.js +167 -16
- package/es/rce/plugins/instructure_equation/plugin.js +7 -10
- package/es/rce/plugins/instructure_fullscreen/plugin.js +1 -6
- package/es/rce/plugins/instructure_html_view/clickCallback.js +1 -0
- package/es/rce/plugins/instructure_html_view/plugin.js +5 -4
- package/es/rce/plugins/instructure_icon_maker/clickCallback.js +5 -8
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ColorSection.js +47 -51
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/CreateIconMakerForm.js +10 -10
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Footer.js +11 -11
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Group.js +6 -6
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +8 -10
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Course.js +32 -31
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageOptions.js +24 -35
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageSection.js +32 -32
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ModeSelect.js +11 -11
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/index.js +16 -15
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/svg.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGList.js +11 -11
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGThumbnail.js +9 -13
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/index.js +12 -13
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/svg.js +33 -80
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Upload.js +34 -28
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/index.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/propTypes.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/utils.js +5 -5
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Preview.js +7 -8
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ShapeSection.js +5 -7
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/TextSection.js +5 -10
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/index.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/IconMakerTray.js +38 -60
- package/es/rce/plugins/instructure_icon_maker/components/SavedIconMakerList.js +4 -4
- package/es/rce/plugins/instructure_icon_maker/plugin.js +10 -14
- package/es/rce/plugins/instructure_icon_maker/reducers/imageSection.js +37 -38
- package/es/rce/plugins/instructure_icon_maker/reducers/svgSettings.js +24 -24
- package/es/rce/plugins/instructure_icon_maker/registerEditToolbar.js +2 -4
- package/es/rce/plugins/instructure_icon_maker/svg/constants.js +4 -3
- package/es/rce/plugins/instructure_icon_maker/svg/font.js +3 -1
- package/es/rce/plugins/instructure_icon_maker/svg/image.js +74 -90
- package/es/rce/plugins/instructure_icon_maker/svg/index.js +17 -24
- package/es/rce/plugins/instructure_icon_maker/svg/metadata.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/svg/settings.js +48 -58
- package/es/rce/plugins/instructure_icon_maker/svg/shape.js +5 -54
- package/es/rce/plugins/instructure_icon_maker/svg/text.js +35 -124
- package/es/rce/plugins/instructure_icon_maker/svg/utils.js +3 -11
- package/es/rce/plugins/instructure_icon_maker/utils/IconMakerClose.js +4 -9
- package/es/rce/plugins/instructure_icon_maker/utils/IconMakerFormHasChanges.js +1 -15
- package/es/rce/plugins/instructure_icon_maker/utils/addIconMakerAttributes.js +3 -4
- package/es/rce/plugins/instructure_icon_maker/utils/iconValidation.js +2 -3
- package/es/rce/plugins/instructure_icon_maker/utils/iconsLabels.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/utils/useDebouncedValue.js +12 -13
- package/es/rce/plugins/instructure_image/ImageEmbedOptions.js +9 -31
- package/es/rce/plugins/instructure_image/ImageList/Image.js +8 -14
- package/es/rce/plugins/instructure_image/ImageList/index.js +8 -10
- package/es/rce/plugins/instructure_image/ImageOptionsTray/TrayController.js +9 -31
- package/es/rce/plugins/instructure_image/ImageOptionsTray/index.js +6 -19
- package/es/rce/plugins/instructure_image/Images/index.js +1 -3
- package/es/rce/plugins/instructure_image/clickCallback.js +1 -0
- package/es/rce/plugins/instructure_image/plugin.js +14 -20
- package/es/rce/plugins/instructure_links/clickCallback.js +1 -0
- package/es/rce/plugins/instructure_links/components/AccordionSection.js +8 -8
- package/es/rce/plugins/instructure_links/components/CollectionPanel.js +1 -3
- package/es/rce/plugins/instructure_links/components/Link.js +68 -84
- package/es/rce/plugins/instructure_links/components/LinkOptionsDialog/LinkOptionsDialogController.js +2 -23
- package/es/rce/plugins/instructure_links/components/LinkOptionsDialog/index.js +3 -6
- package/es/rce/plugins/instructure_links/components/LinkOptionsTray/LinkOptionsTrayController.js +3 -20
- package/es/rce/plugins/instructure_links/components/LinkOptionsTray/index.js +3 -14
- package/es/rce/plugins/instructure_links/components/LinkSet.js +32 -57
- package/es/rce/plugins/instructure_links/components/LinksPanel.js +22 -10
- package/es/rce/plugins/instructure_links/components/NavigationPanel.js +7 -9
- package/es/rce/plugins/instructure_links/components/NoResults.js +7 -14
- package/es/rce/plugins/instructure_links/plugin.js +23 -49
- package/es/rce/plugins/instructure_links/validateURL.js +81 -36
- package/es/rce/plugins/instructure_media_embed/clickCallback.js +5 -9
- package/es/rce/plugins/instructure_media_embed/components/Embed.js +7 -7
- package/es/rce/plugins/instructure_media_embed/plugin.js +7 -3
- package/es/rce/plugins/instructure_paste/pasteMenuCommand.js +1 -5
- package/es/rce/plugins/instructure_paste/plugin.js +29 -33
- package/es/rce/plugins/instructure_rce_external_tools/ExternalToolsEnv.js +31 -79
- package/es/rce/plugins/instructure_rce_external_tools/RceToolWrapper.js +24 -83
- package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialog.js +39 -69
- package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogModal.js +1 -2
- package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogTray.js +1 -1
- package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionDialog.js +5 -14
- package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionItem.js +1 -2
- package/es/rce/plugins/instructure_rce_external_tools/components/util/ExpandoText.js +1 -0
- package/es/rce/plugins/instructure_rce_external_tools/components/util/ToolLaunchIframe.js +2 -1
- package/es/rce/plugins/instructure_rce_external_tools/constants.js +28 -0
- package/es/rce/plugins/instructure_rce_external_tools/dialog-helper.js +20 -6
- package/es/rce/plugins/instructure_rce_external_tools/helpers/tags.js +0 -2
- package/es/rce/plugins/instructure_rce_external_tools/jquery/jquery.dropdownList.js +129 -136
- package/es/rce/plugins/instructure_rce_external_tools/lti11-content-items/RceLti11ContentItem.js +110 -112
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/Lti13ContentItemJson.js +1 -0
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/RceLti13ContentItem.js +4 -21
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/BaseLinkContentItem.js +5 -19
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/HtmlFragmentContentItem.js +1 -6
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ImageContentItem.js +1 -9
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/LinkContentItem.js +1 -1
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ResourceLinkContentItem.js +3 -5
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/processEditorContentItems.js +23 -16
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/rceLti13ContentItemFromJson.js +3 -4
- package/es/rce/plugins/instructure_rce_external_tools/plugin.js +11 -20
- package/es/rce/plugins/instructure_rce_external_tools/util/addParentFrameContextToUrl.js +1 -1
- package/es/rce/plugins/instructure_rce_external_tools/util/externalToolsForToolbar.js +42 -0
- package/es/rce/plugins/instructure_record/AudioOptionsTray/TrayController.js +6 -35
- package/es/rce/plugins/instructure_record/AudioOptionsTray/index.js +13 -17
- package/es/rce/plugins/instructure_record/MediaPanel/index.js +1 -9
- package/es/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js +16 -66
- package/es/rce/plugins/instructure_record/VideoOptionsTray/index.js +21 -35
- package/es/rce/plugins/instructure_record/clickCallback.js +32 -44
- package/es/rce/plugins/instructure_record/mediaTranslations.js +1 -0
- package/es/rce/plugins/instructure_record/plugin.js +11 -18
- package/es/rce/plugins/instructure_search_and_replace/clickCallback.js +4 -8
- package/es/rce/plugins/instructure_search_and_replace/components/FindReplaceTray.js +34 -51
- package/es/rce/plugins/instructure_search_and_replace/components/FindReplaceTrayController.js +12 -30
- package/es/rce/plugins/instructure_search_and_replace/getSelectionContext.js +2 -9
- package/es/rce/plugins/instructure_search_and_replace/plugin.js +2 -5
- package/es/rce/plugins/instructure_studio_media_options/plugin.js +1 -1
- package/es/rce/plugins/instructure_wordcount/clickCallback.js +5 -9
- package/es/rce/plugins/instructure_wordcount/components/WordCountModal.js +27 -37
- package/es/rce/plugins/instructure_wordcount/plugin.js +1 -0
- package/es/rce/plugins/instructure_wordcount/utils/countContent.js +4 -11
- package/es/rce/plugins/instructure_wordcount/utils/tableContent.js +6 -8
- package/es/rce/plugins/shared/CanvasContentTray.js +29 -63
- package/es/rce/plugins/shared/CheckerboardStyling.js +1 -1
- package/es/rce/plugins/shared/ColorInput.js +27 -39
- package/es/rce/plugins/shared/ConditionalTooltip.js +6 -6
- package/es/rce/plugins/shared/ContentSelection.js +29 -78
- package/es/rce/plugins/shared/DimensionUtils.js +3 -12
- package/es/rce/plugins/shared/DimensionsInput/DimensionInput.js +6 -6
- package/es/rce/plugins/shared/DimensionsInput/index.js +37 -15
- package/es/rce/plugins/shared/DimensionsInput/useDimensionsState.js +5 -29
- package/es/rce/plugins/shared/ErrorBoundary.js +2 -5
- package/es/rce/plugins/shared/EventUtils.js +2 -4
- package/es/rce/plugins/shared/Filter.js +8 -38
- package/es/rce/plugins/shared/FixedContentTray.js +16 -17
- package/es/rce/plugins/shared/ImageCropper/DirectionRegion.js +4 -12
- package/es/rce/plugins/shared/ImageCropper/Modal.js +16 -20
- package/es/rce/plugins/shared/ImageCropper/Preview.js +18 -24
- package/es/rce/plugins/shared/ImageCropper/constants.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/controls/CustomNumberInput.js +10 -14
- package/es/rce/plugins/shared/ImageCropper/controls/ResetControls.js +4 -4
- package/es/rce/plugins/shared/ImageCropper/controls/RotationControls.js +5 -15
- package/es/rce/plugins/shared/ImageCropper/controls/ShapeControls.js +8 -11
- package/es/rce/plugins/shared/ImageCropper/controls/ZoomControls.js +5 -16
- package/es/rce/plugins/shared/ImageCropper/controls/index.js +5 -5
- package/es/rce/plugins/shared/ImageCropper/controls/useDebouncedNumericValue.js +16 -31
- package/es/rce/plugins/shared/ImageCropper/controls/utils.js +1 -2
- package/es/rce/plugins/shared/ImageCropper/imageCropUtils.js +19 -31
- package/es/rce/plugins/shared/ImageCropper/index.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/propTypes.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/reducers/imageCropper.js +15 -14
- package/es/rce/plugins/shared/ImageCropper/shape.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/svg/index.js +1 -2
- package/es/rce/plugins/shared/ImageCropper/svg/shape.js +5 -22
- package/es/rce/plugins/shared/ImageCropper/svg/utils.js +3 -4
- package/es/rce/plugins/shared/ImageCropper/useKeyMouseEvents.js +20 -50
- package/es/rce/plugins/shared/ImageCropper/useMouseWheel.js +8 -10
- package/es/rce/plugins/shared/ImageOptionsForm.js +18 -20
- package/es/rce/plugins/shared/LinkDisplay.js +9 -11
- package/es/rce/plugins/shared/PreviewIcon.js +9 -15
- package/es/rce/plugins/shared/Previewable.js +1 -0
- package/es/rce/plugins/shared/RceFileBrowser.js +7 -10
- package/es/rce/plugins/shared/StoreContext.js +9 -12
- package/es/rce/plugins/shared/StudioLtiSupportUtils.js +15 -12
- package/es/rce/plugins/shared/UnknownFileTypePanel.js +1 -0
- package/es/rce/plugins/shared/Upload/CanvasContentPanel.js +19 -25
- package/es/rce/plugins/shared/Upload/CategoryProcessor.js +2 -3
- package/es/rce/plugins/shared/Upload/ComputerPanel.js +19 -40
- package/es/rce/plugins/shared/Upload/PanelFilter.js +10 -20
- package/es/rce/plugins/shared/Upload/SvgCategoryProcessor.js +4 -3
- package/es/rce/plugins/shared/Upload/UploadFile.js +32 -38
- package/es/rce/plugins/shared/Upload/UploadFileModal.js +37 -59
- package/es/rce/plugins/shared/Upload/UrlPanel.js +5 -5
- package/es/rce/plugins/shared/Upload/UsageRightsSelectBox.js +25 -36
- package/es/rce/plugins/shared/Upload/doFileUpload.js +10 -13
- package/es/rce/plugins/shared/Upload/index.js +1 -0
- package/es/rce/plugins/shared/ai_tools/AIResponseModal.js +8 -11
- package/es/rce/plugins/shared/ai_tools/AIToolsTray.js +19 -40
- package/es/rce/plugins/shared/ai_tools/aiicons.js +3 -2
- package/es/rce/plugins/shared/ai_tools/index.js +1 -0
- package/es/rce/plugins/shared/buildDownloadUrl.js +0 -2
- package/es/rce/plugins/shared/canvasContentUtils.js +7 -11
- package/es/rce/plugins/shared/compressionUtils.js +18 -28
- package/es/rce/plugins/shared/dateUtils.js +1 -1
- package/es/rce/plugins/shared/do-fetch-api-effect/defaultFetchOptions.js +4 -2
- package/es/rce/plugins/shared/do-fetch-api-effect/doFetchApi.js +18 -24
- package/es/rce/plugins/shared/do-fetch-api-effect/get-cookie.js +1 -1
- package/es/rce/plugins/shared/do-fetch-api-effect/index.js +1 -0
- package/es/rce/plugins/shared/do-fetch-api-effect/parse-link-header.js +6 -20
- package/es/rce/plugins/shared/do-fetch-api-effect/query-string-encoding.js +5 -3
- package/es/rce/plugins/shared/fileShape.js +4 -9
- package/es/rce/plugins/shared/fileTypeUtils.js +34 -47
- package/es/rce/plugins/shared/fileUtils.js +1 -2
- package/es/rce/plugins/shared/linkUtils.js +1 -16
- package/es/rce/plugins/shared/round.js +2 -2
- package/es/rce/plugins/shared/trayUtils.js +7 -3
- package/es/rce/plugins/shared/useDataUrl.js +13 -14
- package/es/rce/plugins/shared/useFilterSettings.js +3 -3
- package/es/rce/plugins/tinymce-a11y-checker/components/ColorField.js +4 -8
- package/es/rce/plugins/tinymce-a11y-checker/components/checker.js +12 -72
- package/es/rce/plugins/tinymce-a11y-checker/components/color-picker.js +1 -2
- package/es/rce/plugins/tinymce-a11y-checker/components/placeholder-svg.js +1 -0
- package/es/rce/plugins/tinymce-a11y-checker/components/pointer.js +1 -0
- package/es/rce/plugins/tinymce-a11y-checker/node-checker.js +2 -9
- package/es/rce/plugins/tinymce-a11y-checker/plugin.js +18 -24
- package/es/rce/plugins/tinymce-a11y-checker/rules/adjacent-links.js +3 -26
- package/es/rce/plugins/tinymce-a11y-checker/rules/headings-sequence.js +9 -38
- package/es/rce/plugins/tinymce-a11y-checker/rules/headings-start-at-h2.js +2 -7
- package/es/rce/plugins/tinymce-a11y-checker/rules/img-alt-filename.js +1 -2
- package/es/rce/plugins/tinymce-a11y-checker/rules/img-alt-length.js +1 -1
- package/es/rce/plugins/tinymce-a11y-checker/rules/img-alt.js +1 -2
- package/es/rce/plugins/tinymce-a11y-checker/rules/index.js +1 -0
- package/es/rce/plugins/tinymce-a11y-checker/rules/large-text-contrast.js +2 -6
- package/es/rce/plugins/tinymce-a11y-checker/rules/list-structure.js +5 -24
- package/es/rce/plugins/tinymce-a11y-checker/rules/paragraphs-for-headings.js +1 -3
- package/es/rce/plugins/tinymce-a11y-checker/rules/small-text-contrast.js +2 -8
- package/es/rce/plugins/tinymce-a11y-checker/rules/table-caption.js +1 -3
- package/es/rce/plugins/tinymce-a11y-checker/rules/table-header-scope.js +1 -2
- package/es/rce/plugins/tinymce-a11y-checker/rules/table-header.js +1 -9
- package/es/rce/plugins/tinymce-a11y-checker/utils/colors.js +1 -0
- package/es/rce/plugins/tinymce-a11y-checker/utils/describe.js +1 -7
- package/es/rce/plugins/tinymce-a11y-checker/utils/dom.js +3 -30
- package/es/rce/plugins/tinymce-a11y-checker/utils/indicate.js +18 -18
- package/es/rce/plugins/tinymce-a11y-checker/utils/rgb-hex.js +6 -12
- package/es/rce/plugins/tinymce-a11y-checker/utils/strings.js +1 -4
- package/es/rce/root.js +17 -16
- package/es/rce/sanitizePlugins.js +1 -3
- package/es/rce/style.js +1 -4
- package/es/rce/tinyRCE.js +14 -9
- package/es/rce/tinymce.oxide.content.min.css.js +1 -0
- package/es/rce/tinymce.oxide.skin.min.css.js +1 -0
- package/es/rce/transformContent.js +9 -11
- package/es/rce/types.js +1 -0
- package/es/rce/userOS.js +1 -1
- package/es/rce/wrapInitCb.js +50 -43
- package/es/rcs/api.js +100 -171
- package/es/rcs/buildError.js +8 -20
- package/es/rcs/fake.js +9 -20
- package/es/sidebar/actions/all_files.js +2 -0
- package/es/sidebar/actions/data.js +4 -7
- package/es/sidebar/actions/documents.js +19 -18
- package/es/sidebar/actions/files.js +21 -28
- package/es/sidebar/actions/filter.js +5 -5
- package/es/sidebar/actions/flickr.js +1 -1
- package/es/sidebar/actions/images.js +32 -37
- package/es/sidebar/actions/links.js +1 -0
- package/es/sidebar/actions/media.js +27 -28
- package/es/sidebar/actions/session.js +2 -5
- package/es/sidebar/actions/ui.js +1 -0
- package/es/sidebar/actions/upload.js +38 -74
- package/es/sidebar/containers/Sidebar.js +1 -2
- package/es/sidebar/containers/sidebarHandlers.js +9 -13
- package/es/sidebar/dragHtml.js +11 -5
- package/es/sidebar/reducers/all_files.js +5 -6
- package/es/sidebar/reducers/collection.js +12 -15
- package/es/sidebar/reducers/collections.js +6 -8
- package/es/sidebar/reducers/documents.js +7 -16
- package/es/sidebar/reducers/files.js +4 -6
- package/es/sidebar/reducers/filter.js +8 -23
- package/es/sidebar/reducers/flickr.js +10 -12
- package/es/sidebar/reducers/folder.js +16 -18
- package/es/sidebar/reducers/folders.js +4 -6
- package/es/sidebar/reducers/images.js +4 -16
- package/es/sidebar/reducers/index.js +3 -1
- package/es/sidebar/reducers/media.js +7 -16
- package/es/sidebar/reducers/newPageLinkExpanded.js +2 -5
- package/es/sidebar/reducers/noop.js +2 -2
- package/es/sidebar/reducers/rootFolderId.js +2 -5
- package/es/sidebar/reducers/session.js +4 -6
- package/es/sidebar/reducers/ui.js +6 -25
- package/es/sidebar/reducers/upload.js +16 -64
- package/es/sidebar/store/configureStore.js +1 -0
- package/es/sidebar/store/initialState.js +14 -26
- package/es/translations/locales/ab.js +1 -0
- package/es/translations/locales/ar.js +72 -8
- package/es/translations/locales/ca.js +72 -8
- package/es/translations/locales/cs.js +1 -0
- package/es/translations/locales/cs_CZ.js +1 -0
- package/es/translations/locales/cy.js +72 -8
- package/es/translations/locales/da-x-k12.js +72 -8
- package/es/translations/locales/da.js +72 -8
- package/es/translations/locales/da_DK.js +1 -0
- package/es/translations/locales/de.js +72 -8
- package/es/translations/locales/el.js +4 -0
- package/es/translations/locales/en-AU-x-unimelb.js +72 -8
- package/es/translations/locales/en-GB-x-ukhe.js +72 -8
- package/es/translations/locales/en.js +72 -8
- package/es/translations/locales/en_AU.js +72 -8
- package/es/translations/locales/en_CA.js +72 -8
- package/es/translations/locales/en_CY.js +72 -8
- package/es/translations/locales/en_GB.js +72 -8
- package/es/translations/locales/en_NZ.js +1 -0
- package/es/translations/locales/en_SE.js +1 -0
- package/es/translations/locales/en_US.js +1 -0
- package/es/translations/locales/es.js +72 -8
- package/es/translations/locales/es_ES.js +72 -8
- package/es/translations/locales/es_GT.js +1 -0
- package/es/translations/locales/fa_IR.js +7 -0
- package/es/translations/locales/fi.js +72 -8
- package/es/translations/locales/fr.js +72 -8
- package/es/translations/locales/fr_CA.js +73 -9
- package/es/translations/locales/ga.js +5 -13
- package/es/translations/locales/he.js +7 -0
- package/es/translations/locales/hi.js +72 -8
- package/es/translations/locales/ht.js +72 -8
- package/es/translations/locales/hu.js +7 -6
- package/es/translations/locales/hu_HU.js +1 -0
- package/es/translations/locales/hy.js +1 -0
- package/es/translations/locales/id.js +72 -8
- package/es/translations/locales/id_ID.js +1 -0
- package/es/translations/locales/is.js +72 -8
- package/es/translations/locales/it.js +72 -8
- package/es/translations/locales/ja.js +72 -8
- package/es/translations/locales/ko.js +1 -0
- package/es/translations/locales/ko_KR.js +1 -0
- package/es/translations/locales/lt.js +1 -0
- package/es/translations/locales/lt_LT.js +1 -0
- package/es/translations/locales/mi.js +72 -8
- package/es/translations/locales/mn_MN.js +1 -0
- package/es/translations/locales/ms.js +72 -8
- package/es/translations/locales/nb-x-k12.js +72 -8
- package/es/translations/locales/nb.js +72 -8
- package/es/translations/locales/nl.js +72 -8
- package/es/translations/locales/nl_NL.js +1 -0
- package/es/translations/locales/nn.js +7 -6
- package/es/translations/locales/pl.js +72 -8
- package/es/translations/locales/pt.js +72 -8
- package/es/translations/locales/pt_BR.js +72 -8
- package/es/translations/locales/ro.js +1 -0
- package/es/translations/locales/ru.js +72 -8
- package/es/translations/locales/se.js +1 -0
- package/es/translations/locales/sl.js +72 -8
- package/es/translations/locales/sv-x-k12.js +72 -8
- package/es/translations/locales/sv.js +72 -8
- package/es/translations/locales/sv_SE.js +1 -0
- package/es/translations/locales/tg.js +1 -0
- package/es/translations/locales/th.js +72 -8
- package/es/translations/locales/th_TH.js +1 -0
- package/es/translations/locales/tl_PH.js +1 -0
- package/es/translations/locales/tr.js +7 -0
- package/es/translations/locales/uk_UA.js +7 -0
- package/es/translations/locales/vi.js +72 -8
- package/es/translations/locales/vi_VN.js +1 -0
- package/es/translations/locales/zh-Hans.js +72 -8
- package/es/translations/locales/zh-Hant.js +72 -8
- package/es/translations/locales/zh.js +72 -8
- package/es/translations/locales/zh_HK.js +72 -8
- package/es/translations/locales/zh_TW.Big5.js +1 -0
- package/es/translations/locales/zh_TW.js +1 -0
- package/es/translations/tinymce/ar_SA.js +1 -0
- package/es/translations/tinymce/fi.js +1 -0
- package/es/translations/tinymce/ga.js +1 -0
- package/es/translations/tinymce/id.js +1 -0
- package/es/translations/tinymce/ru.js +1 -0
- package/es/translations/tinymce/ru_RU.js +1 -0
- package/es/translations/tinymce/sl.js +1 -0
- package/es/translations/tinymce/sr.js +1 -0
- package/es/translations/tinymce/th.js +1 -0
- package/es/translations/tinymce/uk_UA.js +1 -0
- package/es/translations/tinymce/vi_VN.js +1 -0
- package/es/util/TypedDict.js +4 -2
- package/es/util/elem-util.js +1 -1
- package/es/util/encrypted-storage.js +3 -13
- package/es/util/file-url-util.js +2 -7
- package/es/util/fullscreenHelpers.js +9 -9
- package/es/util/instui-icon-helper.js +4 -3
- package/es/util/loadingPlaceholder.js +39 -41
- package/es/util/simpleCache.js +1 -5
- package/es/util/string-util.js +1 -1
- package/es/util/textarea-editing-util.js +3 -7
- package/es/util/tinymce-plugin-util.js +0 -5
- package/es/util/url-util.js +20 -29
- package/eslint.config.js +250 -0
- package/jest.config.js +1 -1
- package/locales/en.json +190 -10
- package/package.json +78 -82
- package/scripts/build-canvas +2 -1
- package/scripts/build.js +4 -4
- package/scripts/installTranslations.js +7 -8
- package/testcafe/RCEWrapper.test.js +0 -1
- package/testcafe/StatusBar.test.js +0 -1
- package/testcafe/axe.test.js +3 -4
- package/testcafe/enhanceUserContent.test.js +0 -1
- package/tsconfig.json +21 -16
- package/{es/rce/__mocks__/styleMock.js → types/format-message-generate-id.d.ts} +6 -2
- package/{es/rce/plugins/shared/__mocks__/screenfull.js → types/js-beautify.d.ts} +4 -7
- package/.eslintrc +0 -45
- package/.prettierignore +0 -6
- package/es/rce/__mocks__/_mockCryptoEs.js +0 -124
- package/es/rce/__mocks__/tinymceReact.js +0 -55
- package/es/rce/plugins/tinymce-a11y-checker/rules/__mocks__/index.js +0 -53
|
@@ -15,71 +15,52 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License along
|
|
16
16
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
+
|
|
18
19
|
import { CHANGE_TAB, CHANGE_ACCORDION, RESET_UI, HIDE_SIDEBAR, SHOW_SIDEBAR } from '../actions/ui';
|
|
19
20
|
import { combineReducers } from 'redux';
|
|
20
|
-
|
|
21
|
-
function hidden() {
|
|
22
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
23
|
-
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
24
|
-
|
|
21
|
+
function hidden(state = false, action) {
|
|
25
22
|
switch (action.type) {
|
|
26
23
|
case HIDE_SIDEBAR:
|
|
27
24
|
return true;
|
|
28
|
-
|
|
29
25
|
case RESET_UI:
|
|
30
26
|
case SHOW_SIDEBAR:
|
|
31
27
|
return false;
|
|
32
|
-
|
|
33
28
|
default:
|
|
34
29
|
return state;
|
|
35
30
|
}
|
|
36
31
|
}
|
|
37
|
-
|
|
38
|
-
function selectedTabIndex() {
|
|
39
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
40
|
-
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
41
|
-
|
|
32
|
+
function selectedTabIndex(state = 0, action) {
|
|
42
33
|
switch (action.type) {
|
|
43
34
|
case RESET_UI:
|
|
44
35
|
return 0;
|
|
45
|
-
|
|
46
36
|
case CHANGE_TAB:
|
|
47
37
|
return action.index;
|
|
48
|
-
|
|
49
38
|
default:
|
|
50
39
|
return state;
|
|
51
40
|
}
|
|
52
41
|
}
|
|
53
|
-
|
|
54
|
-
function selectedAccordionIndex() {
|
|
55
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
56
|
-
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
57
|
-
|
|
42
|
+
function selectedAccordionIndex(state = '', action) {
|
|
58
43
|
switch (action.type) {
|
|
59
44
|
case RESET_UI:
|
|
60
45
|
return '';
|
|
61
|
-
|
|
62
46
|
case CHANGE_TAB:
|
|
63
47
|
// switch links panel accordion tab back to first tab any time we
|
|
64
48
|
// switch _back to_ links panel
|
|
65
49
|
return '';
|
|
66
|
-
|
|
67
50
|
case CHANGE_ACCORDION:
|
|
68
51
|
try {
|
|
69
52
|
if (action.index !== window.sessionStorage.getItem('canvas_rce_links_accordion_index')) {
|
|
70
53
|
window.sessionStorage.setItem('canvas_rce_links_accordion_index', action.index);
|
|
71
54
|
}
|
|
72
|
-
} catch (err) {
|
|
55
|
+
} catch (err) {
|
|
56
|
+
// If there is an error accessing session storage, just ignore it.
|
|
73
57
|
// We are likely in a test environment
|
|
74
58
|
}
|
|
75
|
-
|
|
76
59
|
return action.index;
|
|
77
|
-
|
|
78
60
|
default:
|
|
79
61
|
return state;
|
|
80
62
|
}
|
|
81
63
|
}
|
|
82
|
-
|
|
83
64
|
export default combineReducers({
|
|
84
65
|
hidden,
|
|
85
66
|
selectedTabIndex,
|
|
@@ -15,85 +15,61 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License along
|
|
16
16
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
+
|
|
18
19
|
import { START_FILE_UPLOAD, FAIL_FILE_UPLOAD, FAIL_MEDIA_UPLOAD, MEDIA_UPLOAD_SUCCESS, TOGGLE_UPLOAD_FORM, COMPLETE_FILE_UPLOAD, RECEIVE_FOLDER, FAIL_FOLDERS_LOAD, PROCESSED_FOLDER_BATCH, QUOTA_EXCEEDED_UPLOAD, START_LOADING, STOP_LOADING } from '../actions/upload';
|
|
19
20
|
import { combineReducers } from 'redux';
|
|
20
|
-
|
|
21
|
-
function uploading() {
|
|
22
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
23
|
-
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
24
|
-
|
|
21
|
+
function uploading(state = false, action) {
|
|
25
22
|
switch (action.type) {
|
|
26
23
|
case START_FILE_UPLOAD:
|
|
27
24
|
return true;
|
|
28
|
-
|
|
29
25
|
case FAIL_FILE_UPLOAD:
|
|
30
26
|
case COMPLETE_FILE_UPLOAD:
|
|
31
27
|
case QUOTA_EXCEEDED_UPLOAD:
|
|
32
28
|
return false;
|
|
33
|
-
|
|
34
29
|
default:
|
|
35
30
|
return state;
|
|
36
31
|
}
|
|
37
32
|
}
|
|
38
|
-
|
|
39
|
-
function error() {
|
|
40
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
41
|
-
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
42
|
-
|
|
33
|
+
function error(state = {}, action) {
|
|
43
34
|
switch (action.type) {
|
|
44
35
|
case COMPLETE_FILE_UPLOAD:
|
|
45
36
|
return {};
|
|
46
|
-
|
|
47
37
|
case QUOTA_EXCEEDED_UPLOAD:
|
|
48
|
-
return {
|
|
38
|
+
return {
|
|
39
|
+
...state,
|
|
49
40
|
type: action.type
|
|
50
41
|
};
|
|
51
|
-
|
|
52
42
|
default:
|
|
53
43
|
return state;
|
|
54
44
|
}
|
|
55
45
|
}
|
|
56
|
-
|
|
57
|
-
function formExpanded() {
|
|
58
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
59
|
-
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
60
|
-
|
|
46
|
+
function formExpanded(state = false, action) {
|
|
61
47
|
switch (action.type) {
|
|
62
48
|
case COMPLETE_FILE_UPLOAD:
|
|
63
49
|
return false;
|
|
64
|
-
|
|
65
50
|
case TOGGLE_UPLOAD_FORM:
|
|
66
51
|
return !state;
|
|
67
|
-
|
|
68
52
|
default:
|
|
69
53
|
return state;
|
|
70
54
|
}
|
|
71
55
|
}
|
|
72
|
-
|
|
73
|
-
function folders() {
|
|
74
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
75
|
-
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
76
|
-
|
|
56
|
+
function folders(state = {}, action) {
|
|
77
57
|
switch (action.type) {
|
|
78
58
|
case RECEIVE_FOLDER:
|
|
79
|
-
return {
|
|
59
|
+
return {
|
|
60
|
+
...state,
|
|
80
61
|
[action.id]: {
|
|
81
62
|
id: action.id,
|
|
82
63
|
name: action.name,
|
|
83
64
|
parentId: action.parentId
|
|
84
65
|
}
|
|
85
66
|
};
|
|
86
|
-
|
|
87
67
|
case FAIL_FOLDERS_LOAD:
|
|
88
68
|
default:
|
|
89
69
|
return state;
|
|
90
70
|
}
|
|
91
71
|
}
|
|
92
|
-
|
|
93
|
-
function rootFolderId() {
|
|
94
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
95
|
-
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
96
|
-
|
|
72
|
+
function rootFolderId(state = null, action) {
|
|
97
73
|
switch (action.type) {
|
|
98
74
|
case RECEIVE_FOLDER:
|
|
99
75
|
if (action.parentId === null) {
|
|
@@ -101,72 +77,52 @@ function rootFolderId() {
|
|
|
101
77
|
} else {
|
|
102
78
|
return state;
|
|
103
79
|
}
|
|
104
|
-
|
|
105
80
|
default:
|
|
106
81
|
return state;
|
|
107
82
|
}
|
|
108
|
-
}
|
|
109
|
-
// with the children sorted alphabetically by name.
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
function folderTree() {
|
|
113
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
114
|
-
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
83
|
+
}
|
|
115
84
|
|
|
85
|
+
// Returns an mapping of folder id -> list of children ids,
|
|
86
|
+
// with the children sorted alphabetically by name.
|
|
87
|
+
function folderTree(state = {}, action) {
|
|
116
88
|
switch (action.type) {
|
|
117
89
|
case PROCESSED_FOLDER_BATCH:
|
|
118
90
|
{
|
|
119
91
|
const folders = action.folders;
|
|
120
92
|
const tree = {};
|
|
121
|
-
|
|
122
93
|
for (const folderId in folders) {
|
|
123
94
|
const folder = folders[folderId];
|
|
124
95
|
tree[folder.id] = tree[folder.id] || [];
|
|
125
|
-
|
|
126
96
|
if (folder.parentId) {
|
|
127
97
|
tree[folder.parentId] = tree[folder.parentId] || [];
|
|
128
98
|
tree[folder.parentId].push(folder.id);
|
|
129
99
|
}
|
|
130
100
|
}
|
|
131
|
-
|
|
132
101
|
for (const parentFolderId in tree) {
|
|
133
102
|
const children = tree[parentFolderId];
|
|
134
103
|
children.sort((a, b) => folders[a].name.localeCompare(folders[b].name));
|
|
135
104
|
}
|
|
136
|
-
|
|
137
105
|
return tree;
|
|
138
106
|
}
|
|
139
|
-
|
|
140
107
|
default:
|
|
141
108
|
return state;
|
|
142
109
|
}
|
|
143
110
|
}
|
|
144
|
-
|
|
145
|
-
function loadingFolders() {
|
|
146
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
147
|
-
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
148
|
-
|
|
111
|
+
function loadingFolders(state = false, action) {
|
|
149
112
|
switch (action.type) {
|
|
150
113
|
case START_LOADING:
|
|
151
114
|
return true;
|
|
152
|
-
|
|
153
115
|
case STOP_LOADING:
|
|
154
116
|
return false;
|
|
155
|
-
|
|
156
117
|
case FAIL_FOLDERS_LOAD:
|
|
157
118
|
{
|
|
158
119
|
return false;
|
|
159
120
|
}
|
|
160
|
-
|
|
161
121
|
default:
|
|
162
122
|
return state;
|
|
163
123
|
}
|
|
164
124
|
}
|
|
165
|
-
|
|
166
|
-
function uploadingMediaStatus() {
|
|
167
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
168
|
-
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
169
|
-
|
|
125
|
+
function uploadingMediaStatus(state = false, action) {
|
|
170
126
|
switch (action.type) {
|
|
171
127
|
case START_LOADING:
|
|
172
128
|
return {
|
|
@@ -174,26 +130,22 @@ function uploadingMediaStatus() {
|
|
|
174
130
|
uploaded: false,
|
|
175
131
|
error: false
|
|
176
132
|
};
|
|
177
|
-
|
|
178
133
|
case FAIL_MEDIA_UPLOAD:
|
|
179
134
|
return {
|
|
180
135
|
loading: false,
|
|
181
136
|
uploaded: false,
|
|
182
137
|
error: true
|
|
183
138
|
};
|
|
184
|
-
|
|
185
139
|
case MEDIA_UPLOAD_SUCCESS:
|
|
186
140
|
return {
|
|
187
141
|
loading: false,
|
|
188
142
|
uploaded: true,
|
|
189
143
|
error: false
|
|
190
144
|
};
|
|
191
|
-
|
|
192
145
|
default:
|
|
193
146
|
return state;
|
|
194
147
|
}
|
|
195
148
|
}
|
|
196
|
-
|
|
197
149
|
export default combineReducers({
|
|
198
150
|
uploading,
|
|
199
151
|
formExpanded,
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License along
|
|
16
16
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
+
|
|
18
19
|
import { createStore, applyMiddleware } from 'redux';
|
|
19
20
|
import rootReducer from '../reducers';
|
|
20
21
|
import initialState from './initialState';
|
|
@@ -15,32 +15,29 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License along
|
|
16
16
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import RceApiSource from '../../rcs/api'; // normalize contextType. e.g. accept either of 'course' or 'courses', but
|
|
19
|
-
// only store 'course'
|
|
20
18
|
|
|
19
|
+
import RceApiSource from '../../rcs/api';
|
|
20
|
+
|
|
21
|
+
// normalize contextType. e.g. accept either of 'course' or 'courses', but
|
|
22
|
+
// only store 'course'
|
|
21
23
|
function normalizeContextType(contextType) {
|
|
22
24
|
switch (contextType) {
|
|
23
25
|
case 'course':
|
|
24
26
|
case 'courses':
|
|
25
27
|
return 'course';
|
|
26
|
-
|
|
27
28
|
case 'group':
|
|
28
29
|
case 'groups':
|
|
29
30
|
return 'group';
|
|
30
|
-
|
|
31
31
|
case 'user':
|
|
32
32
|
case 'users':
|
|
33
33
|
return 'user';
|
|
34
|
-
|
|
35
34
|
default:
|
|
36
35
|
return undefined;
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
|
-
/* eslint-disable prefer-const */
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
export default function () {
|
|
43
|
-
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
39
|
+
/* eslint-disable prefer-const */
|
|
40
|
+
export default function (props = {}) {
|
|
44
41
|
let {
|
|
45
42
|
source,
|
|
46
43
|
jwt,
|
|
@@ -67,31 +64,30 @@ export default function () {
|
|
|
67
64
|
|
|
68
65
|
if (!canvasOrigin) {
|
|
69
66
|
canvasOrigin = canvasUrl;
|
|
70
|
-
}
|
|
71
|
-
|
|
67
|
+
}
|
|
72
68
|
|
|
69
|
+
// normalize contextType (including in props)
|
|
73
70
|
contextType = normalizeContextType(contextType);
|
|
74
|
-
props = {
|
|
71
|
+
props = {
|
|
72
|
+
...props,
|
|
75
73
|
contextType
|
|
76
74
|
};
|
|
77
|
-
|
|
78
75
|
if (searchString === undefined) {
|
|
79
76
|
searchString = '';
|
|
80
77
|
}
|
|
81
|
-
|
|
82
78
|
if (all_files === undefined) {
|
|
83
79
|
all_files = {
|
|
84
80
|
isLoading: false
|
|
85
81
|
};
|
|
86
82
|
}
|
|
87
|
-
|
|
88
83
|
if (!sortBy) sortBy = {};
|
|
89
84
|
sortBy = {
|
|
90
85
|
sort: 'date_added',
|
|
91
86
|
dir: 'desc',
|
|
92
87
|
...sortBy
|
|
93
|
-
};
|
|
88
|
+
};
|
|
94
89
|
|
|
90
|
+
// default to API source
|
|
95
91
|
if (source == null) {
|
|
96
92
|
source = new RceApiSource({
|
|
97
93
|
jwt,
|
|
@@ -99,9 +95,9 @@ export default function () {
|
|
|
99
95
|
host,
|
|
100
96
|
canvasOrigin
|
|
101
97
|
});
|
|
102
|
-
}
|
|
103
|
-
|
|
98
|
+
}
|
|
104
99
|
|
|
100
|
+
// create collections in default state if none provided
|
|
105
101
|
if (collections === undefined) {
|
|
106
102
|
collections = {
|
|
107
103
|
announcements: source.initializeCollection('announcements', props),
|
|
@@ -112,31 +108,24 @@ export default function () {
|
|
|
112
108
|
wikiPages: source.initializeCollection('wikiPages', props)
|
|
113
109
|
};
|
|
114
110
|
}
|
|
115
|
-
|
|
116
111
|
if (upload === undefined) {
|
|
117
112
|
upload = source.initializeUpload(props);
|
|
118
113
|
}
|
|
119
|
-
|
|
120
114
|
if (flickr === undefined) {
|
|
121
115
|
flickr = source.initializeFlickr(props);
|
|
122
116
|
}
|
|
123
|
-
|
|
124
117
|
if (images === undefined) {
|
|
125
118
|
images = source.initializeImages(props);
|
|
126
119
|
}
|
|
127
|
-
|
|
128
120
|
if (documents === undefined) {
|
|
129
121
|
documents = source.initializeDocuments(props);
|
|
130
122
|
}
|
|
131
|
-
|
|
132
123
|
if (media === undefined) {
|
|
133
124
|
media = source.initializeMedia(props);
|
|
134
125
|
}
|
|
135
|
-
|
|
136
126
|
if (newPageLinkExpanded === undefined) {
|
|
137
127
|
newPageLinkExpanded = false;
|
|
138
128
|
}
|
|
139
|
-
|
|
140
129
|
function getAccordionIndex() {
|
|
141
130
|
try {
|
|
142
131
|
return window.sessionStorage.getItem('canvas_rce_links_accordion_index');
|
|
@@ -146,7 +135,6 @@ export default function () {
|
|
|
146
135
|
return undefined;
|
|
147
136
|
}
|
|
148
137
|
}
|
|
149
|
-
|
|
150
138
|
const ui = {
|
|
151
139
|
selectedAccordionIndex: getAccordionIndex()
|
|
152
140
|
};
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License along
|
|
16
16
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
+
|
|
18
19
|
import formatMessage from '../../format-message';
|
|
19
20
|
const locale = {
|
|
20
21
|
"count_plural_one_item_loaded_other_items_loaded_857023b7": {
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License along
|
|
16
16
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
+
|
|
18
19
|
import formatMessage from '../../format-message';
|
|
19
20
|
import '../tinymce/ar_SA';
|
|
20
21
|
const locale = {
|
|
@@ -174,6 +175,9 @@ const locale = {
|
|
|
174
175
|
"available_folders_694d0436": {
|
|
175
176
|
"message": "المجلدات المتاحة"
|
|
176
177
|
},
|
|
178
|
+
"background_1bc88842": {
|
|
179
|
+
"message": "الخلفية"
|
|
180
|
+
},
|
|
177
181
|
"backslash_b2d5442d": {
|
|
178
182
|
"message": "شرطة مائلة للخلف"
|
|
179
183
|
},
|
|
@@ -204,6 +208,9 @@ const locale = {
|
|
|
204
208
|
"blue_daf8fea9": {
|
|
205
209
|
"message": "أزرق"
|
|
206
210
|
},
|
|
211
|
+
"border_5b08b06d": {
|
|
212
|
+
"message": "الحد"
|
|
213
|
+
},
|
|
207
214
|
"bottom_15a2a9be": {
|
|
208
215
|
"message": "أسفل"
|
|
209
216
|
},
|
|
@@ -327,12 +334,24 @@ const locale = {
|
|
|
327
334
|
"collapse_to_hide_types_1ab46d2e": {
|
|
328
335
|
"message": "الطي لإخفاء { types }"
|
|
329
336
|
},
|
|
337
|
+
"color_a363e1b0": {
|
|
338
|
+
"message": "اللون"
|
|
339
|
+
},
|
|
340
|
+
"color_contrast_4c418add": {
|
|
341
|
+
"message": "تباين الألوان"
|
|
342
|
+
},
|
|
343
|
+
"color_contrast_ratio_687782f0": {
|
|
344
|
+
"message": "نسبة تباين الألوان"
|
|
345
|
+
},
|
|
330
346
|
"color_picker_6b359edf": {
|
|
331
347
|
"message": "أداة انتقاء اللون"
|
|
332
348
|
},
|
|
333
349
|
"color_picker_colorname_selected_ad4cf400": {
|
|
334
350
|
"message": "أداة انتقاء اللون (تم تحديد { colorName })"
|
|
335
351
|
},
|
|
352
|
+
"color_popup_af39810f": {
|
|
353
|
+
"message": "نافذة منبثقة ملونة"
|
|
354
|
+
},
|
|
336
355
|
"column_e1ae5c64": {
|
|
337
356
|
"message": "عمود"
|
|
338
357
|
},
|
|
@@ -471,6 +490,9 @@ const locale = {
|
|
|
471
490
|
"deep_purple_bb3e2907": {
|
|
472
491
|
"message": "أرجواني داكن"
|
|
473
492
|
},
|
|
493
|
+
"default_9db103d": {
|
|
494
|
+
"message": "افتراضي"
|
|
495
|
+
},
|
|
474
496
|
"default_bulleted_unordered_list_47079da8": {
|
|
475
497
|
"message": "قائمة افتراضية غير مرتبة بتعداد نقطي"
|
|
476
498
|
},
|
|
@@ -738,6 +760,9 @@ const locale = {
|
|
|
738
760
|
"f_function_fe422d65": {
|
|
739
761
|
"message": "F (دالة)"
|
|
740
762
|
},
|
|
763
|
+
"fail_544e5dde": {
|
|
764
|
+
"message": "فشل"
|
|
765
|
+
},
|
|
741
766
|
"failed_getting_file_contents_e9ea19f4": {
|
|
742
767
|
"message": "تعذر الحصول على محتويات الملف"
|
|
743
768
|
},
|
|
@@ -837,6 +862,9 @@ const locale = {
|
|
|
837
862
|
"grades_a61eba0a": {
|
|
838
863
|
"message": "الدرجات"
|
|
839
864
|
},
|
|
865
|
+
"graphics_text_bc9568bc": {
|
|
866
|
+
"message": "نص الرسومات"
|
|
867
|
+
},
|
|
840
868
|
"greater_than_e98af662": {
|
|
841
869
|
"message": "أكبر من"
|
|
842
870
|
},
|
|
@@ -1044,6 +1072,18 @@ const locale = {
|
|
|
1044
1072
|
"infinity_7a10f206": {
|
|
1045
1073
|
"message": "ما لا نهاية"
|
|
1046
1074
|
},
|
|
1075
|
+
"input_field_for_alpha_678265fd": {
|
|
1076
|
+
"message": "حقل الإدخال لألفا"
|
|
1077
|
+
},
|
|
1078
|
+
"input_field_for_blue_561e020a": {
|
|
1079
|
+
"message": "حقل الإدخال للون الأزرق"
|
|
1080
|
+
},
|
|
1081
|
+
"input_field_for_green_67f8b2b6": {
|
|
1082
|
+
"message": "حقل الإدخال للون الأخضر"
|
|
1083
|
+
},
|
|
1084
|
+
"input_field_for_red_86a84615": {
|
|
1085
|
+
"message": "حقل الإدخال للون الأحمر"
|
|
1086
|
+
},
|
|
1047
1087
|
"insert_593145ef": {
|
|
1048
1088
|
"message": "إدخال"
|
|
1049
1089
|
},
|
|
@@ -1101,6 +1141,9 @@ const locale = {
|
|
|
1101
1141
|
"large_9c5e80e7": {
|
|
1102
1142
|
"message": "كبير"
|
|
1103
1143
|
},
|
|
1144
|
+
"large_text_e7ba08cd": {
|
|
1145
|
+
"message": "نص كبير"
|
|
1146
|
+
},
|
|
1104
1147
|
"learn_more_about_adjacent_links_2cb9762c": {
|
|
1105
1148
|
"message": "معرفة المزيد عن الارتباطات المتجاورة"
|
|
1106
1149
|
},
|
|
@@ -1335,12 +1378,6 @@ const locale = {
|
|
|
1335
1378
|
"music_icon_4db5c972": {
|
|
1336
1379
|
"message": "أيقونة الموسيقى"
|
|
1337
1380
|
},
|
|
1338
|
-
"must_be_at_least_percentage_22e373b6": {
|
|
1339
|
-
"message": "يجب أن يكون { percentage }% على الأقل"
|
|
1340
|
-
},
|
|
1341
|
-
"must_be_at_least_width_x_height_px_41dc825e": {
|
|
1342
|
-
"message": "يجب أن تكون { width } x { height } بكسل على الأقل."
|
|
1343
|
-
},
|
|
1344
1381
|
"my_files_2f621040": {
|
|
1345
1382
|
"message": "ملفاتي"
|
|
1346
1383
|
},
|
|
@@ -1455,6 +1492,9 @@ const locale = {
|
|
|
1455
1492
|
"none_selected_b93d56d2": {
|
|
1456
1493
|
"message": "لم يتم تحديد شيء"
|
|
1457
1494
|
},
|
|
1495
|
+
"normal_text_7b03da48": {
|
|
1496
|
+
"message": "نص عادي"
|
|
1497
|
+
},
|
|
1458
1498
|
"not_equal_6e2980e6": {
|
|
1459
1499
|
"message": "لا يساوي"
|
|
1460
1500
|
},
|
|
@@ -1524,8 +1564,8 @@ const locale = {
|
|
|
1524
1564
|
"outline_size_a6059a21": {
|
|
1525
1565
|
"message": "حجم المخطط التفصيلي"
|
|
1526
1566
|
},
|
|
1527
|
-
"
|
|
1528
|
-
"message": "{ p } ليس بروتوكولاً
|
|
1567
|
+
"p_is_not_a_valid_protocol_b1c4efaa": {
|
|
1568
|
+
"message": "{ p } ليس بروتوكولاً صالحًا."
|
|
1529
1569
|
},
|
|
1530
1570
|
"page_50c4823d": {
|
|
1531
1571
|
"message": "صفحة"
|
|
@@ -1545,6 +1585,9 @@ const locale = {
|
|
|
1545
1585
|
"partial_derivative_4a9159df": {
|
|
1546
1586
|
"message": "جزئي (مشتق)"
|
|
1547
1587
|
},
|
|
1588
|
+
"pass_1c19a2b3": {
|
|
1589
|
+
"message": "نجاح"
|
|
1590
|
+
},
|
|
1548
1591
|
"paste_5963d1c1": {
|
|
1549
1592
|
"message": "لصق"
|
|
1550
1593
|
},
|
|
@@ -1563,6 +1606,9 @@ const locale = {
|
|
|
1563
1606
|
"percentage_must_be_a_number_8033c341": {
|
|
1564
1607
|
"message": "يجب أن تكون النسبة المئوية رقمًا"
|
|
1565
1608
|
},
|
|
1609
|
+
"percentage_must_be_at_least_percentage_a98ca8fc": {
|
|
1610
|
+
"message": "يجب أن تكون النسبة المئوية { percentage }% بحد أدنى"
|
|
1611
|
+
},
|
|
1566
1612
|
"performing_arts_icon_f3497486": {
|
|
1567
1613
|
"message": "أيقونة الفنون التعبيرية"
|
|
1568
1614
|
},
|
|
@@ -1584,12 +1630,18 @@ const locale = {
|
|
|
1584
1630
|
"pi_variant_10f5f520": {
|
|
1585
1631
|
"message": "Pi (متغير)"
|
|
1586
1632
|
},
|
|
1633
|
+
"pick_a_color_557abfb0": {
|
|
1634
|
+
"message": "اختر لونًا"
|
|
1635
|
+
},
|
|
1587
1636
|
"pink_68ad45cb": {
|
|
1588
1637
|
"message": "وردي"
|
|
1589
1638
|
},
|
|
1590
1639
|
"pixels_52ece7d1": {
|
|
1591
1640
|
"message": "بكسل"
|
|
1592
1641
|
},
|
|
1642
|
+
"pixels_must_be_at_least_width_x_height_px_e965edd5": {
|
|
1643
|
+
"message": "يجب أن تكون البكسلات { width } x { height } بكسل بحد أدنى"
|
|
1644
|
+
},
|
|
1593
1645
|
"play_1a47eaa7": {
|
|
1594
1646
|
"message": "تشغيل"
|
|
1595
1647
|
},
|
|
@@ -1650,6 +1702,9 @@ const locale = {
|
|
|
1650
1702
|
"previous_findtext_8dfbfd30": {
|
|
1651
1703
|
"message": "{ findText } السابق"
|
|
1652
1704
|
},
|
|
1705
|
+
"previously_chosen_colors_f1338315": {
|
|
1706
|
+
"message": "الألوان المختار سابقًا"
|
|
1707
|
+
},
|
|
1653
1708
|
"prime_917ea60e": {
|
|
1654
1709
|
"message": "Prime"
|
|
1655
1710
|
},
|
|
@@ -2502,6 +2557,15 @@ const locale = {
|
|
|
2502
2557
|
"yes_dde87d5": {
|
|
2503
2558
|
"message": "نعم"
|
|
2504
2559
|
},
|
|
2560
|
+
"you_are_on_a_color_palette_to_navigate_on_the_pale_227fc3a6": {
|
|
2561
|
+
"message": "أنت على لوحة ألوان. للتنقل في اللوحة لأعلى ويسارًا ولأسفل ويمينًا، استخدام الأزرار \"W\" و\"A\" و\"S\" و\"D\" بالترتيب"
|
|
2562
|
+
},
|
|
2563
|
+
"you_are_on_a_color_slider_to_navigate_the_slider_l_e800f68a": {
|
|
2564
|
+
"message": "أنت على شريط تمرير ألوان. للتنقل يسار ويمين شريط التمرير، استخدم الزرين \"A\" و\"D\" بالترتيب"
|
|
2565
|
+
},
|
|
2566
|
+
"you_are_on_an_alpha_slider_to_navigate_the_slider__3a014dc5": {
|
|
2567
|
+
"message": "أنت على شريط تمرير ألفا. للتنقل يسار ويمين شريط التمرير، استخدم الزرين \"A\" و\"D\" بالترتيب"
|
|
2568
|
+
},
|
|
2505
2569
|
"you_have_unsaved_changes_in_the_icon_maker_tray_do_e8cf5f1b": {
|
|
2506
2570
|
"message": "لديك تغييرات غير محفوظة في علبة صانع الأيقونات. هل ترغب في المتابعة بدون حفظ هذه التغييرات؟"
|
|
2507
2571
|
},
|