@instructure/canvas-rce 5.14.0 → 5.14.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 +33 -0
- package/DEVELOPMENT.md +1 -1
- 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/__tests__/sidebar/reducers/all_files.test.js +28 -0
- package/babel.config.js +3 -1
- package/build.sh +7 -7
- package/es/bridge/Bridge.js +8 -56
- package/es/bridge/index.js +1 -0
- package/es/canvasFileBrowser/FileBrowser.js +12 -59
- package/es/canvasFileBrowser/en-US.js +3 -6
- package/es/common/FlashAlert.js +7 -28
- package/es/common/browser.js +4 -2
- package/es/common/fileUrl.js +104 -59
- package/es/common/incremental-loading/LoadMoreButton.js +1 -0
- package/es/common/incremental-loading/LoadingIndicator.js +1 -2
- package/es/common/incremental-loading/LoadingStatus.js +1 -2
- package/es/common/incremental-loading/index.js +1 -0
- package/es/common/incremental-loading/useIncrementalLoading.js +1 -3
- package/es/common/indicate.js +15 -8
- 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 +17 -28
- package/es/enhance-user-content/enhance_user_content.js +28 -60
- package/es/enhance-user-content/external_links.js +5 -8
- package/es/enhance-user-content/index.js +1 -0
- package/es/enhance-user-content/instructure_helper.js +25 -38
- package/es/enhance-user-content/jqueryish_funcs.js +8 -11
- package/es/enhance-user-content/mathml.js +35 -82
- package/es/enhance-user-content/media_comment_thumbnail.js +5 -17
- package/es/format-message.js +3 -4
- package/es/getThemeVars.js +8 -6
- package/es/getTranslations.js +1 -78
- package/es/index.js +3 -1
- package/es/rce/AlertMessageArea.js +1 -1
- package/es/rce/DraggingBlocker.js +4 -2
- package/es/rce/KeyboardShortcutModal.js +1 -0
- package/es/rce/RCE.js +12 -11
- package/es/rce/RCEGlobals.js +12 -10
- package/es/rce/RCEVariants.js +27 -10
- package/es/rce/RCEWrapper.js +167 -386
- package/es/rce/RCEWrapperProps.js +8 -3
- package/es/rce/RceHtmlEditor.js +5 -8
- package/es/rce/ResizeHandle.js +3 -8
- package/es/rce/RestoreAutoSaveModal.js +1 -2
- package/es/rce/ShowOnFocusButton/index.js +0 -6
- package/es/rce/StatusBar.js +8 -37
- package/es/rce/alertHandler.js +1 -4
- package/es/rce/contentInsertion.js +35 -57
- package/es/rce/contentInsertionUtils.js +6 -8
- package/es/rce/contentRendering.js +7 -12
- package/es/rce/customEvents.js +1 -0
- package/es/rce/editorLanguage.js +22 -10
- package/es/rce/indicatorRegion.js +6 -5
- package/es/rce/normalizeLocale.js +5 -3
- package/es/rce/normalizeProps.js +3 -1
- package/es/rce/plugins/instructure-ui-icons/plugin.js +21 -3
- package/es/rce/plugins/instructure_color/clickCallback.js +84 -0
- package/es/rce/plugins/instructure_color/components/ColorPicker.js +299 -0
- package/es/rce/plugins/instructure_color/components/ColorPopup.js +68 -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 +22 -15
- package/es/rce/plugins/instructure_condensed_buttons/ui/subscript-superscript-button.js +1 -2
- 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 +3 -18
- 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 +12 -29
- package/es/rce/plugins/instructure_equation/EquationEditorModal/latexTextareaUtil.js +11 -12
- package/es/rce/plugins/instructure_equation/EquationEditorModal/parseLatex.js +4 -3
- package/es/rce/plugins/instructure_equation/EquationEditorModal/styles.js +4 -2
- package/es/rce/plugins/instructure_equation/EquationEditorToolbar/buttons.js +13 -7
- package/es/rce/plugins/instructure_equation/EquationEditorToolbar/index.js +4 -7
- package/es/rce/plugins/instructure_equation/MathIcon/index.js +1 -1
- 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 +1 -1
- package/es/rce/plugins/instructure_equation/plugin.js +7 -10
- package/es/rce/plugins/instructure_fullscreen/plugin.js +3 -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 +2 -4
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ColorSection.js +1 -2
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/CreateIconMakerForm.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Footer.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Group.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -2
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Course.js +25 -22
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageOptions.js +7 -11
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageSection.js +27 -23
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ModeSelect.js +5 -4
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/index.js +11 -9
- 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 +5 -4
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGThumbnail.js +1 -3
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/index.js +7 -7
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/svg.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Upload.js +27 -20
- 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 +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Preview.js +4 -4
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ShapeSection.js +1 -2
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/TextSection.js +1 -5
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/index.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/IconMakerTray.js +18 -33
- 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 +1 -3
- 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 +69 -83
- package/es/rce/plugins/instructure_icon_maker/svg/index.js +11 -15
- package/es/rce/plugins/instructure_icon_maker/svg/metadata.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/svg/settings.js +32 -39
- package/es/rce/plugins/instructure_icon_maker/svg/shape.js +1 -49
- package/es/rce/plugins/instructure_icon_maker/svg/text.js +7 -92
- package/es/rce/plugins/instructure_icon_maker/svg/utils.js +1 -7
- package/es/rce/plugins/instructure_icon_maker/utils/IconMakerClose.js +2 -6
- 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 +1 -1
- 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 +6 -24
- package/es/rce/plugins/instructure_image/ImageList/Image.js +1 -6
- package/es/rce/plugins/instructure_image/ImageList/index.js +1 -2
- package/es/rce/plugins/instructure_image/ImageOptionsTray/TrayController.js +7 -27
- package/es/rce/plugins/instructure_image/ImageOptionsTray/index.js +3 -16
- 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 +13 -18
- package/es/rce/plugins/instructure_links/clickCallback.js +1 -0
- package/es/rce/plugins/instructure_links/components/AccordionSection.js +1 -0
- package/es/rce/plugins/instructure_links/components/CollectionPanel.js +1 -3
- package/es/rce/plugins/instructure_links/components/Link.js +7 -19
- package/es/rce/plugins/instructure_links/components/LinkOptionsDialog/LinkOptionsDialogController.js +1 -21
- package/es/rce/plugins/instructure_links/components/LinkOptionsDialog/index.js +1 -4
- package/es/rce/plugins/instructure_links/components/LinkOptionsTray/LinkOptionsTrayController.js +3 -20
- package/es/rce/plugins/instructure_links/components/LinkOptionsTray/index.js +1 -12
- package/es/rce/plugins/instructure_links/components/LinkSet.js +4 -20
- package/es/rce/plugins/instructure_links/components/LinksPanel.js +1 -2
- package/es/rce/plugins/instructure_links/components/NavigationPanel.js +7 -9
- package/es/rce/plugins/instructure_links/components/NoResults.js +1 -7
- package/es/rce/plugins/instructure_links/plugin.js +17 -40
- package/es/rce/plugins/instructure_links/validateURL.js +81 -36
- package/es/rce/plugins/instructure_media_embed/clickCallback.js +2 -5
- package/es/rce/plugins/instructure_media_embed/components/Embed.js +1 -0
- 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 +27 -29
- package/es/rce/plugins/instructure_rce_external_tools/ExternalToolsEnv.js +14 -53
- package/es/rce/plugins/instructure_rce_external_tools/RceToolWrapper.js +21 -49
- package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialog.js +11 -42
- 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 +2 -10
- 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 +19 -4
- 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 +130 -136
- package/es/rce/plugins/instructure_rce_external_tools/lti11-content-items/RceLti11ContentItem.js +100 -95
- 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 +2 -19
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/BaseLinkContentItem.js +1 -14
- 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 +18 -10
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/rceLti13ContentItemFromJson.js +4 -4
- package/es/rce/plugins/instructure_rce_external_tools/plugin.js +7 -16
- package/es/rce/plugins/instructure_rce_external_tools/util/addParentFrameContextToUrl.js +1 -1
- package/es/rce/plugins/instructure_record/AudioOptionsTray/TrayController.js +1 -25
- package/es/rce/plugins/instructure_record/AudioOptionsTray/index.js +1 -4
- package/es/rce/plugins/instructure_record/MediaPanel/index.js +1 -9
- package/es/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js +8 -51
- package/es/rce/plugins/instructure_record/VideoOptionsTray/index.js +4 -17
- package/es/rce/plugins/instructure_record/clickCallback.js +7 -15
- 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 +2 -5
- package/es/rce/plugins/instructure_search_and_replace/components/FindReplaceTray.js +20 -35
- package/es/rce/plugins/instructure_search_and_replace/components/FindReplaceTrayController.js +3 -18
- package/es/rce/plugins/instructure_search_and_replace/getSelectionContext.js +2 -9
- package/es/rce/plugins/instructure_search_and_replace/plugin.js +1 -3
- package/es/rce/plugins/instructure_studio_media_options/plugin.js +1 -1
- package/es/rce/plugins/instructure_wordcount/clickCallback.js +2 -5
- package/es/rce/plugins/instructure_wordcount/components/WordCountModal.js +1 -4
- package/es/rce/plugins/instructure_wordcount/plugin.js +1 -0
- package/es/rce/plugins/instructure_wordcount/utils/countContent.js +1 -8
- package/es/rce/plugins/instructure_wordcount/utils/tableContent.js +1 -0
- package/es/rce/plugins/shared/CanvasContentTray.js +43 -63
- package/es/rce/plugins/shared/CheckerboardStyling.js +1 -1
- package/es/rce/plugins/shared/ColorInput.js +5 -14
- package/es/rce/plugins/shared/ConditionalTooltip.js +1 -0
- package/es/rce/plugins/shared/ContentSelection.js +17 -58
- package/es/rce/plugins/shared/DimensionUtils.js +1 -8
- 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 +1 -3
- package/es/rce/plugins/shared/Filter.js +8 -38
- package/es/rce/plugins/shared/FixedContentTray.js +3 -3
- package/es/rce/plugins/shared/ImageCropper/DirectionRegion.js +1 -8
- package/es/rce/plugins/shared/ImageCropper/Modal.js +4 -7
- package/es/rce/plugins/shared/ImageCropper/Preview.js +7 -11
- package/es/rce/plugins/shared/ImageCropper/constants.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/controls/CustomNumberInput.js +2 -5
- package/es/rce/plugins/shared/ImageCropper/controls/ResetControls.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/controls/RotationControls.js +1 -10
- package/es/rce/plugins/shared/ImageCropper/controls/ShapeControls.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/controls/ZoomControls.js +1 -11
- package/es/rce/plugins/shared/ImageCropper/controls/index.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/controls/useDebouncedNumericValue.js +3 -16
- package/es/rce/plugins/shared/ImageCropper/controls/utils.js +1 -2
- package/es/rce/plugins/shared/ImageCropper/imageCropUtils.js +1 -10
- 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 +1 -17
- package/es/rce/plugins/shared/ImageCropper/svg/utils.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/useKeyMouseEvents.js +19 -46
- package/es/rce/plugins/shared/ImageCropper/useMouseWheel.js +8 -10
- package/es/rce/plugins/shared/ImageOptionsForm.js +1 -2
- package/es/rce/plugins/shared/LinkDisplay.js +1 -2
- package/es/rce/plugins/shared/PreviewIcon.js +1 -6
- package/es/rce/plugins/shared/Previewable.js +1 -0
- package/es/rce/plugins/shared/RceFileBrowser.js +5 -7
- package/es/rce/plugins/shared/StoreContext.js +1 -2
- package/es/rce/plugins/shared/StudioLtiSupportUtils.js +10 -6
- package/es/rce/plugins/shared/UnknownFileTypePanel.js +1 -0
- package/es/rce/plugins/shared/Upload/CanvasContentPanel.js +13 -18
- package/es/rce/plugins/shared/Upload/CategoryProcessor.js +1 -1
- package/es/rce/plugins/shared/Upload/ComputerPanel.js +8 -26
- package/es/rce/plugins/shared/Upload/PanelFilter.js +3 -12
- package/es/rce/plugins/shared/Upload/SvgCategoryProcessor.js +4 -3
- package/es/rce/plugins/shared/Upload/UploadFile.js +15 -18
- package/es/rce/plugins/shared/Upload/UploadFileModal.js +9 -25
- package/es/rce/plugins/shared/Upload/UrlPanel.js +1 -0
- package/es/rce/plugins/shared/Upload/UsageRightsSelectBox.js +7 -12
- package/es/rce/plugins/shared/Upload/doFileUpload.js +4 -6
- package/es/rce/plugins/shared/Upload/index.js +1 -0
- package/es/rce/plugins/shared/ai_tools/AIResponseModal.js +1 -3
- package/es/rce/plugins/shared/ai_tools/AIToolsTray.js +6 -24
- package/es/rce/plugins/shared/ai_tools/aiicons.js +1 -0
- 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 +6 -9
- package/es/rce/plugins/shared/compressionUtils.js +1 -8
- 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 +7 -10
- 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 +32 -42
- 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 +1 -0
- package/es/rce/plugins/shared/trayUtils.js +4 -3
- package/es/rce/plugins/shared/useDataUrl.js +9 -9
- package/es/rce/plugins/shared/useFilterSettings.js +3 -3
- package/es/rce/plugins/tinymce-a11y-checker/components/ColorField.js +2 -6
- package/es/rce/plugins/tinymce-a11y-checker/components/checker.js +5 -63
- 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 +1 -6
- package/es/rce/plugins/tinymce-a11y-checker/plugin.js +4 -7
- 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 +1 -5
- 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 +1 -4
- 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 +1 -6
- 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 +1 -26
- package/es/rce/plugins/tinymce-a11y-checker/utils/indicate.js +16 -15
- package/es/rce/plugins/tinymce-a11y-checker/utils/rgb-hex.js +7 -10
- package/es/rce/plugins/tinymce-a11y-checker/utils/strings.js +1 -4
- package/es/rce/root.js +9 -8
- package/es/rce/sanitizePlugins.js +1 -3
- package/es/rce/style.js +1 -4
- package/es/rce/tinyRCE.js +13 -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 +8 -10
- 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 +61 -116
- package/es/rcs/buildError.js +5 -17
- package/es/rcs/fake.js +4 -13
- package/es/sidebar/actions/all_files.js +2 -0
- package/es/sidebar/actions/data.js +4 -7
- package/es/sidebar/actions/documents.js +9 -6
- package/es/sidebar/actions/files.js +3 -6
- package/es/sidebar/actions/filter.js +1 -0
- package/es/sidebar/actions/flickr.js +1 -1
- package/es/sidebar/actions/images.js +12 -11
- package/es/sidebar/actions/links.js +1 -0
- package/es/sidebar/actions/media.js +12 -10
- package/es/sidebar/actions/session.js +1 -3
- package/es/sidebar/actions/ui.js +1 -0
- package/es/sidebar/actions/upload.js +14 -39
- package/es/sidebar/containers/Sidebar.js +1 -2
- package/es/sidebar/containers/sidebarHandlers.js +3 -1
- package/es/sidebar/dragHtml.js +5 -3
- package/es/sidebar/reducers/all_files.js +4 -3
- package/es/sidebar/reducers/collection.js +12 -13
- package/es/sidebar/reducers/collections.js +5 -5
- package/es/sidebar/reducers/documents.js +6 -13
- package/es/sidebar/reducers/files.js +3 -3
- package/es/sidebar/reducers/filter.js +1 -8
- package/es/sidebar/reducers/flickr.js +9 -9
- package/es/sidebar/reducers/folder.js +15 -15
- package/es/sidebar/reducers/folders.js +3 -3
- package/es/sidebar/reducers/images.js +3 -13
- package/es/sidebar/reducers/index.js +3 -1
- package/es/sidebar/reducers/media.js +6 -13
- package/es/sidebar/reducers/newPageLinkExpanded.js +1 -2
- package/es/sidebar/reducers/noop.js +1 -0
- package/es/sidebar/reducers/rootFolderId.js +1 -2
- package/es/sidebar/reducers/session.js +3 -3
- package/es/sidebar/reducers/ui.js +3 -16
- package/es/sidebar/reducers/upload.js +8 -40
- package/es/sidebar/store/configureStore.js +1 -0
- package/es/sidebar/store/initialState.js +13 -24
- package/es/translations/locales/ab.js +1 -0
- package/es/translations/locales/ar.js +67 -9
- package/es/translations/locales/ca.js +67 -9
- package/es/translations/locales/cs.js +1 -0
- package/es/translations/locales/cs_CZ.js +1 -0
- package/es/translations/locales/cy.js +67 -9
- package/es/translations/locales/da-x-k12.js +67 -9
- package/es/translations/locales/da.js +67 -9
- package/es/translations/locales/da_DK.js +1 -0
- package/es/translations/locales/de.js +67 -9
- package/es/translations/locales/el.js +4 -0
- package/es/translations/locales/en-AU-x-unimelb.js +67 -9
- package/es/translations/locales/en-GB-x-ukhe.js +67 -9
- package/es/translations/locales/en.js +72 -8
- package/es/translations/locales/en_AU.js +67 -9
- package/es/translations/locales/en_CA.js +67 -9
- package/es/translations/locales/en_CY.js +67 -9
- package/es/translations/locales/en_GB.js +67 -9
- 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 +67 -9
- package/es/translations/locales/es_ES.js +67 -9
- package/es/translations/locales/es_GT.js +1 -0
- package/es/translations/locales/fa_IR.js +7 -0
- package/es/translations/locales/fi.js +67 -9
- package/es/translations/locales/fr.js +67 -9
- package/es/translations/locales/fr_CA.js +68 -10
- package/es/translations/locales/ga.js +5 -13
- package/es/translations/locales/he.js +7 -0
- package/es/translations/locales/hi.js +67 -9
- package/es/translations/locales/ht.js +67 -9
- 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 +67 -9
- package/es/translations/locales/id_ID.js +1 -0
- package/es/translations/locales/is.js +67 -9
- package/es/translations/locales/it.js +67 -9
- package/es/translations/locales/ja.js +67 -9
- 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 +67 -9
- package/es/translations/locales/mn_MN.js +1 -0
- package/es/translations/locales/ms.js +67 -9
- package/es/translations/locales/nb-x-k12.js +67 -9
- package/es/translations/locales/nb.js +67 -9
- package/es/translations/locales/nl.js +67 -9
- package/es/translations/locales/nl_NL.js +1 -0
- package/es/translations/locales/nn.js +7 -6
- package/es/translations/locales/pl.js +67 -9
- package/es/translations/locales/pt.js +67 -9
- package/es/translations/locales/pt_BR.js +67 -9
- package/es/translations/locales/ro.js +1 -0
- package/es/translations/locales/ru.js +67 -9
- package/es/translations/locales/se.js +1 -0
- package/es/translations/locales/sl.js +67 -9
- package/es/translations/locales/sv-x-k12.js +67 -9
- package/es/translations/locales/sv.js +67 -9
- package/es/translations/locales/sv_SE.js +1 -0
- package/es/translations/locales/tg.js +1 -0
- package/es/translations/locales/th.js +67 -9
- 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 +67 -9
- package/es/translations/locales/vi_VN.js +1 -0
- package/es/translations/locales/zh-Hans.js +67 -9
- package/es/translations/locales/zh-Hant.js +67 -9
- package/es/translations/locales/zh.js +67 -9
- package/es/translations/locales/zh_HK.js +67 -9
- 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/encrypted-storage.js +3 -13
- package/es/util/file-url-util.js +1 -6
- package/es/util/fullscreenHelpers.js +4 -1
- package/es/util/instui-icon-helper.js +4 -3
- package/es/util/loadingPlaceholder.js +38 -39
- package/es/util/simpleCache.js +0 -3
- 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 +16 -25
- package/eslint.config.js +239 -0
- package/jest.config.js +1 -1
- package/package.json +77 -82
- package/scripts/build-canvas +2 -1
- package/scripts/build.js +4 -4
- package/scripts/publish_to_npm.sh +1 -1
- 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 +20 -15
- package/.eslintrc +0 -45
- package/.prettierignore +0 -6
- package/es/common/components/FileTree/File.js +0 -64
- package/es/common/components/FileTree/Folder.js +0 -110
- package/es/common/components/FileTree/index.js +0 -84
- package/es/common/components/FileTree/styles.js +0 -72
- package/es/common/components/Loading.js +0 -83
package/es/rcs/fake.js
CHANGED
|
@@ -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
|
const FAKE_TIMEOUT = process.env.NODE_ENV === 'test' ? 0 : 500;
|
|
19
20
|
const PAGES = {
|
|
20
21
|
// page of announcements
|
|
@@ -283,21 +284,19 @@ export function buildImage(index, name, height, width) {
|
|
|
283
284
|
}
|
|
284
285
|
const imageNames = ['bill_murray', 'bill_is_the_best', 'bill_who?', 'love_this_guy!!11!'];
|
|
285
286
|
const images = [];
|
|
286
|
-
|
|
287
287
|
for (let i = 0; i < 30; i++) {
|
|
288
288
|
const name = imageNames[i % imageNames.length] + i + '.jpeg';
|
|
289
|
+
|
|
289
290
|
/*
|
|
290
291
|
* This is just to get some variety to the example images.
|
|
291
292
|
* We get some Bills, each with unique dimensions following this pattern:
|
|
292
293
|
* 100x200, 201x101, 302x202, 203x303, 304x404, 405x305,
|
|
293
294
|
* 100x206, 201x107, 302x208, 203x309, 304x410, 405x311, etc.
|
|
294
295
|
*/
|
|
295
|
-
|
|
296
296
|
const height = [100, 200, 200, 300, 300, 400][i % 6] + i;
|
|
297
297
|
const width = [200, 100, 300, 200, 400, 300][i % 6] + Math.round(i / 6);
|
|
298
298
|
images.push(buildImage(i, name, height, width));
|
|
299
299
|
}
|
|
300
|
-
|
|
301
300
|
const brokenImage = {
|
|
302
301
|
id: 123000000,
|
|
303
302
|
display_name: 'broken_image.jpeg',
|
|
@@ -346,7 +345,6 @@ const FLICKR_RESULTS = {
|
|
|
346
345
|
title: 'champion chess'
|
|
347
346
|
}]
|
|
348
347
|
};
|
|
349
|
-
|
|
350
348
|
function makeFiles(bookmark_base, extension, content_type) {
|
|
351
349
|
return {
|
|
352
350
|
[`${bookmark_base}1`]: {
|
|
@@ -379,7 +377,6 @@ function makeFiles(bookmark_base, extension, content_type) {
|
|
|
379
377
|
}
|
|
380
378
|
};
|
|
381
379
|
}
|
|
382
|
-
|
|
383
380
|
const DOCUMENTS = makeFiles('documents', 'txt', 'text/plain');
|
|
384
381
|
const MEDIA = makeFiles('media', 'mp3', 'audio/mp3');
|
|
385
382
|
export function getSession() {
|
|
@@ -474,13 +471,11 @@ export function fetchImages(props) {
|
|
|
474
471
|
setTimeout(() => {
|
|
475
472
|
let response;
|
|
476
473
|
const bookmark = props.images[props.contextType] && props.images[props.contextType].bookmark;
|
|
477
|
-
|
|
478
474
|
if (bookmark) {
|
|
479
475
|
response = IMAGE_RESPONSES.find(response => response.bookmarkForThis === props.bookmark);
|
|
480
476
|
} else {
|
|
481
477
|
response = IMAGE_RESPONSES[0];
|
|
482
478
|
}
|
|
483
|
-
|
|
484
479
|
if (response) {
|
|
485
480
|
resolve(response);
|
|
486
481
|
} else {
|
|
@@ -558,7 +553,6 @@ export function fetchDocs(state) {
|
|
|
558
553
|
setTimeout(() => {
|
|
559
554
|
const bookmark = state.documents[state.contextType] && state.documents[state.contextType].bookmark || 'documents1';
|
|
560
555
|
const response = DOCUMENTS[bookmark];
|
|
561
|
-
|
|
562
556
|
if (response) {
|
|
563
557
|
resolve(response);
|
|
564
558
|
} else {
|
|
@@ -572,11 +566,9 @@ export function fetchMedia(state) {
|
|
|
572
566
|
setTimeout(() => {
|
|
573
567
|
let response;
|
|
574
568
|
const bookmark = state.media[state.contextType] && state.media[state.contextType].bookmark || 'media1';
|
|
575
|
-
|
|
576
569
|
if (bookmark) {
|
|
577
570
|
response = MEDIA[bookmark];
|
|
578
571
|
}
|
|
579
|
-
|
|
580
572
|
if (response) {
|
|
581
573
|
resolve(response);
|
|
582
574
|
} else {
|
|
@@ -610,9 +602,8 @@ export function updateMediaObjectFailure() {
|
|
|
610
602
|
}, FAKE_TIMEOUT);
|
|
611
603
|
});
|
|
612
604
|
}
|
|
613
|
-
export function
|
|
614
|
-
|
|
615
|
-
updateClosedCaptions() {
|
|
605
|
+
export function updateClosedCaptions(/* apiProps, {media_object_id, subtitles} */
|
|
606
|
+
) {
|
|
616
607
|
return new Promise(resolve => {
|
|
617
608
|
setTimeout(() => {
|
|
618
609
|
resolve([]);
|
|
@@ -15,11 +15,13 @@
|
|
|
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
|
// This is a temporary patch until the All Files panel
|
|
19
20
|
// is rewritten to use the files actions that query
|
|
20
21
|
// data from the RCS, but still the CanvasContentTray
|
|
21
22
|
// know when the FileBrowser is actively querying
|
|
22
23
|
// so we can disable the search box in the Filter
|
|
24
|
+
|
|
23
25
|
export const ALL_FILES_LOADING = 'ALL_FILES_LOADING';
|
|
24
26
|
export function allFilesLoading(isLoading) {
|
|
25
27
|
return {
|
|
@@ -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
|
export const REQUEST_INITIAL_PAGE = 'REQUEST_INITIAL_PAGE';
|
|
19
20
|
export const REQUEST_PAGE = 'REQUEST_PAGE';
|
|
20
21
|
export const RECEIVE_PAGE = 'RECEIVE_PAGE';
|
|
@@ -52,22 +53,20 @@ export function failPage(key, error) {
|
|
|
52
53
|
key,
|
|
53
54
|
error
|
|
54
55
|
};
|
|
55
|
-
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// dispatches the start of the load, requests a page for the collection from
|
|
56
59
|
// the source, then dispatches the loaded page to the store on success or
|
|
57
60
|
// clears the load on failure
|
|
58
|
-
|
|
59
61
|
export function fetchPage(key, isInitial, searchString) {
|
|
60
62
|
return (dispatch, getState) => {
|
|
61
63
|
let isCancelled = false;
|
|
62
|
-
|
|
63
64
|
const cancel = () => isCancelled = true;
|
|
64
|
-
|
|
65
65
|
if (isInitial) {
|
|
66
66
|
dispatch(requestInitialPage(key, cancel, searchString));
|
|
67
67
|
} else {
|
|
68
68
|
dispatch(requestPage(key, cancel));
|
|
69
69
|
}
|
|
70
|
-
|
|
71
70
|
const state = getState();
|
|
72
71
|
const {
|
|
73
72
|
source
|
|
@@ -85,7 +84,6 @@ export function fetchNextPage(key) {
|
|
|
85
84
|
return (dispatch, getState) => {
|
|
86
85
|
const state = getState();
|
|
87
86
|
const collection = state.collections[key];
|
|
88
|
-
|
|
89
87
|
if (collection) {
|
|
90
88
|
if (collection.cancel) collection.cancel();
|
|
91
89
|
return dispatch(fetchPage(key, false));
|
|
@@ -96,7 +94,6 @@ export function fetchInitialPage(key) {
|
|
|
96
94
|
return (dispatch, getState) => {
|
|
97
95
|
const state = getState();
|
|
98
96
|
const collection = state.collections[key];
|
|
99
|
-
|
|
100
97
|
if (collection && (collection.links.length === 0 || collection.searchString !== state.searchString)) {
|
|
101
98
|
if (collection.cancel) collection.cancel();
|
|
102
99
|
return dispatch(fetchPage(key, true, state.searchString));
|
|
@@ -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
|
export const REQUEST_INITIAL_DOCS = 'REQUEST_INITIAL_DOCS';
|
|
19
20
|
export const REQUEST_DOCS = 'REQUEST_NEXT_DOCS';
|
|
20
21
|
export const RECEIVE_DOCS = 'RECEIVE_DOCS';
|
|
@@ -67,10 +68,11 @@ export function failDocs(_ref2) {
|
|
|
67
68
|
contextType
|
|
68
69
|
}
|
|
69
70
|
};
|
|
70
|
-
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// dispatches the start of the load, requests a page for the collection from
|
|
71
74
|
// the source, then dispatches the loaded page to the store on success or
|
|
72
75
|
// clears the load on failure
|
|
73
|
-
|
|
74
76
|
export function fetchDocs() {
|
|
75
77
|
return (dispatch, getState) => {
|
|
76
78
|
const state = getState();
|
|
@@ -83,21 +85,22 @@ export function fetchDocs() {
|
|
|
83
85
|
contextType: state.contextType
|
|
84
86
|
})));
|
|
85
87
|
};
|
|
86
|
-
}
|
|
87
|
-
// collection is not yet completely loaded
|
|
88
|
+
}
|
|
88
89
|
|
|
90
|
+
// fetches a page only if a page is not already being loaded and the
|
|
91
|
+
// collection is not yet completely loaded
|
|
89
92
|
export function fetchNextDocs() {
|
|
90
93
|
return (dispatch, getState) => {
|
|
91
94
|
const state = getState();
|
|
92
95
|
const documents = state.documents[state.contextType];
|
|
93
|
-
|
|
94
96
|
if (!(documents !== null && documents !== void 0 && documents.isLoading) && documents !== null && documents !== void 0 && documents.hasMore) {
|
|
95
97
|
dispatch(requestDocs(state.contextType));
|
|
96
98
|
return dispatch(fetchDocs());
|
|
97
99
|
}
|
|
98
100
|
};
|
|
99
|
-
}
|
|
101
|
+
}
|
|
100
102
|
|
|
103
|
+
// fetches the first page
|
|
101
104
|
export function fetchInitialDocs() {
|
|
102
105
|
return (dispatch, getState) => {
|
|
103
106
|
const state = getState();
|
|
@@ -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
|
export const ADD_FILE = 'action.files.add_file';
|
|
19
20
|
export const ADD_FOLDER = 'action.files.add_folder';
|
|
20
21
|
export const RECEIVE_FILES = 'action.files.receive_files';
|
|
@@ -80,10 +81,9 @@ export function requestFiles(id, bookmark) {
|
|
|
80
81
|
bookmark
|
|
81
82
|
} = _ref2;
|
|
82
83
|
dispatch(files.map(createAddFile).concat(createReceiveFiles(id, files)));
|
|
83
|
-
|
|
84
84
|
if (bookmark) {
|
|
85
|
-
// Page through all in folder, pagination links
|
|
86
|
-
// weird,
|
|
85
|
+
// Page through all in folder, pagination links of a tree may be
|
|
86
|
+
// weird, especially since files and folders are independent.
|
|
87
87
|
dispatch(requestFiles(id, bookmark));
|
|
88
88
|
}
|
|
89
89
|
});
|
|
@@ -125,7 +125,6 @@ export function requestSubfolders(id, bookmark) {
|
|
|
125
125
|
bookmark
|
|
126
126
|
} = _ref3;
|
|
127
127
|
dispatch(folders.map(createAddFolder).concat(createReceiveSubfolders(id, folders, bookmark)));
|
|
128
|
-
|
|
129
128
|
if (bookmark) {
|
|
130
129
|
// Page through all in folder, pagination links if a tree may be
|
|
131
130
|
// weird, epecially since files and folders are independent.
|
|
@@ -138,7 +137,6 @@ export function toggle(id) {
|
|
|
138
137
|
return (dispatch, getState) => {
|
|
139
138
|
dispatch(createToggle(id));
|
|
140
139
|
const folder = getState().folders[id];
|
|
141
|
-
|
|
142
140
|
if (!folder.requested && folder.expanded) {
|
|
143
141
|
dispatch(requestSubfolders(folder.id));
|
|
144
142
|
dispatch(requestFiles(folder.id));
|
|
@@ -158,7 +156,6 @@ export function init(dispatch, getState) {
|
|
|
158
156
|
folders
|
|
159
157
|
} = _ref4;
|
|
160
158
|
const root = folders[0];
|
|
161
|
-
|
|
162
159
|
if (root) {
|
|
163
160
|
dispatch([createAddFolder(root), createSetRoot(root.id)]);
|
|
164
161
|
dispatch(toggle(root.id));
|
|
@@ -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
|
export const CHANGE_CONTEXT = 'CHANGE_CONTEXT';
|
|
19
20
|
export const CHANGE_CONTEXT_TYPE = 'CHANGE_CONTEXT_TYPE';
|
|
20
21
|
export const CHANGE_CONTEXT_ID = 'CHANGE_CONTEXT_ID';
|
|
@@ -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
|
export const START_FLICKR_SEARCH = 'START_FLICKR_SEARCH';
|
|
19
20
|
export const RECEIVE_FLICKR_RESULTS = 'RECEIVE_FLICKR_RESULTS';
|
|
20
21
|
export const FAIL_FLICKR_SEARCH = 'FAIL_FLICKR_SEARCH';
|
|
@@ -49,7 +50,6 @@ export function searchFlickr(term) {
|
|
|
49
50
|
host,
|
|
50
51
|
flickr
|
|
51
52
|
} = getState();
|
|
52
|
-
|
|
53
53
|
if (flickr && !flickr.searching) {
|
|
54
54
|
dispatch(startFlickrSearch(term));
|
|
55
55
|
return source.searchFlickr(term, {
|
|
@@ -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 { ICON_MAKER_ICONS, ICON_MAKER_ATTRIBUTE, ICON_MAKER_DOWNLOAD_URL_ATTR } from '../../rce/plugins/instructure_icon_maker/svg/constants';
|
|
19
20
|
import buildDownloadUrl from '../../rce/plugins/shared/buildDownloadUrl';
|
|
20
21
|
export const ADD_IMAGE = 'action.images.add_image';
|
|
@@ -95,19 +96,19 @@ export function failImagesLoad(_ref3) {
|
|
|
95
96
|
};
|
|
96
97
|
}
|
|
97
98
|
export const applyAttributes = (file, opts) => {
|
|
98
|
-
const augmentedFile = {
|
|
99
|
+
const augmentedFile = {
|
|
100
|
+
...file
|
|
99
101
|
};
|
|
100
|
-
|
|
101
102
|
if (opts.category === ICON_MAKER_ICONS) {
|
|
102
103
|
augmentedFile[ICON_MAKER_ATTRIBUTE] = true;
|
|
103
104
|
augmentedFile[ICON_MAKER_DOWNLOAD_URL_ATTR] = buildDownloadUrl(file.download_url);
|
|
104
105
|
}
|
|
105
|
-
|
|
106
106
|
return augmentedFile;
|
|
107
|
-
};
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
// dispatches the start of the load, requests a page for the collection from
|
|
108
110
|
// the source, then dispatches the loaded page to the store on success or
|
|
109
111
|
// clears the load on failure
|
|
110
|
-
|
|
111
112
|
export function fetchImages() {
|
|
112
113
|
let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
113
114
|
const {
|
|
@@ -115,7 +116,8 @@ export function fetchImages() {
|
|
|
115
116
|
} = opts;
|
|
116
117
|
return (dispatch, getState) => {
|
|
117
118
|
const state = getState();
|
|
118
|
-
return state.source.fetchImages({
|
|
119
|
+
return state.source.fetchImages({
|
|
120
|
+
...state,
|
|
119
121
|
category
|
|
120
122
|
}).then(response => dispatch(receiveImages({
|
|
121
123
|
response,
|
|
@@ -126,23 +128,22 @@ export function fetchImages() {
|
|
|
126
128
|
contextType: state.contextType
|
|
127
129
|
})));
|
|
128
130
|
};
|
|
129
|
-
}
|
|
131
|
+
}
|
|
132
|
+
// fetches a page only if a page is not already being loaded and the
|
|
130
133
|
// collection is not yet completely loaded
|
|
131
|
-
|
|
132
134
|
export function fetchNextImages() {
|
|
133
135
|
let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
134
136
|
return (dispatch, getState) => {
|
|
135
137
|
const state = getState();
|
|
136
138
|
const images = state.images[state.contextType];
|
|
137
|
-
|
|
138
139
|
if (!(images !== null && images !== void 0 && images.isLoading) && images !== null && images !== void 0 && images.hasMore) {
|
|
139
140
|
dispatch(requestImages(state.contextType));
|
|
140
141
|
return dispatch(fetchImages(opts));
|
|
141
142
|
}
|
|
142
143
|
};
|
|
143
|
-
}
|
|
144
|
+
}
|
|
145
|
+
// fetches the next page (subject to conditions on fetchNextImages) only if the
|
|
144
146
|
// collection is currently empty
|
|
145
|
-
|
|
146
147
|
export function fetchInitialImages() {
|
|
147
148
|
let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
148
149
|
return (dispatch, getState) => {
|
|
@@ -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
|
export const TOGGLE_NEWPAGE_FORM = 'TOGGLE_NEWPAGE_FORM';
|
|
19
20
|
export function openOrCloseNewPageForm() {
|
|
20
21
|
return {
|
|
@@ -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 alertHandler from '../../rce/alertHandler';
|
|
19
20
|
import formatMessage from '../../format-message';
|
|
20
21
|
export const REQUEST_INITIAL_MEDIA = 'REQUEST_INITIAL_MEDIA';
|
|
@@ -67,10 +68,11 @@ export function failMedia(_ref2) {
|
|
|
67
68
|
contextType
|
|
68
69
|
}
|
|
69
70
|
};
|
|
70
|
-
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// dispatches the start of the load, requests a page for the collection from
|
|
71
74
|
// the source, then dispatches the loaded page to the store on success or
|
|
72
75
|
// clears the load on failure
|
|
73
|
-
|
|
74
76
|
export function fetchMedia() {
|
|
75
77
|
return (dispatch, getState) => {
|
|
76
78
|
const state = getState();
|
|
@@ -83,30 +85,32 @@ export function fetchMedia() {
|
|
|
83
85
|
contextType: state.contextType
|
|
84
86
|
})));
|
|
85
87
|
};
|
|
86
|
-
}
|
|
87
|
-
// collection is not yet completely loaded
|
|
88
|
+
}
|
|
88
89
|
|
|
90
|
+
// fetches a page only if a page is not already being loaded and the
|
|
91
|
+
// collection is not yet completely loaded
|
|
89
92
|
export function fetchNextMedia() {
|
|
90
93
|
return (dispatch, getState) => {
|
|
91
94
|
const state = getState();
|
|
92
95
|
const media = state.media[state.contextType];
|
|
93
|
-
|
|
94
96
|
if (!(media !== null && media !== void 0 && media.isLoading) && media !== null && media !== void 0 && media.hasMore) {
|
|
95
97
|
dispatch(requestMedia(state.contextType));
|
|
96
98
|
return dispatch(fetchMedia());
|
|
97
99
|
}
|
|
98
100
|
};
|
|
99
|
-
}
|
|
100
|
-
// collection is currently empty
|
|
101
|
+
}
|
|
101
102
|
|
|
103
|
+
// fetches the next page (subject to conditions on fetchNextMedia) only if the
|
|
104
|
+
// collection is currently empty
|
|
102
105
|
export function fetchInitialMedia() {
|
|
103
106
|
return (dispatch, getState) => {
|
|
104
107
|
const state = getState();
|
|
105
108
|
dispatch(requestInitialMedia(state.contextType));
|
|
106
109
|
return dispatch(fetchMedia());
|
|
107
110
|
};
|
|
108
|
-
}
|
|
111
|
+
}
|
|
109
112
|
|
|
113
|
+
// update the media object.
|
|
110
114
|
export function updateMediaObject(_ref3) {
|
|
111
115
|
let {
|
|
112
116
|
media_object_id,
|
|
@@ -131,11 +135,9 @@ export function updateMediaObject(_ref3) {
|
|
|
131
135
|
media_object_id,
|
|
132
136
|
subtitles
|
|
133
137
|
};
|
|
134
|
-
|
|
135
138
|
if (attachment_id) {
|
|
136
139
|
ccData.attachment_id = attachment_id;
|
|
137
140
|
}
|
|
138
|
-
|
|
139
141
|
const ccUpdate = state.source.updateClosedCaptions(state, ccData);
|
|
140
142
|
return Promise.all([moUpdate, ccUpdate]);
|
|
141
143
|
};
|
|
@@ -15,18 +15,16 @@
|
|
|
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
|
-
export const RECEIVE_SESSION = 'action.session.receive_session';
|
|
19
18
|
|
|
19
|
+
export const RECEIVE_SESSION = 'action.session.receive_session';
|
|
20
20
|
function receiveSession(data) {
|
|
21
21
|
return {
|
|
22
22
|
type: RECEIVE_SESSION,
|
|
23
23
|
data
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
|
|
27
26
|
export function get(dispatch, getState) {
|
|
28
27
|
var _source$getSession;
|
|
29
|
-
|
|
30
28
|
const {
|
|
31
29
|
source
|
|
32
30
|
} = getState();
|
package/es/sidebar/actions/ui.js
CHANGED
|
@@ -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
|
export const CHANGE_TAB = 'CHANGE_TAB';
|
|
19
20
|
export const CHANGE_ACCORDION = 'CHANGE_ACCORDION';
|
|
20
21
|
export const RESET_UI = 'RESET_UI';
|