@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
|
@@ -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 * as actions from '../actions/files';
|
|
19
20
|
const defaultState = {
|
|
20
21
|
id: null,
|
|
@@ -33,59 +34,58 @@ export default function folderReducer() {
|
|
|
33
34
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultState;
|
|
34
35
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
35
36
|
let loadingCount;
|
|
36
|
-
|
|
37
37
|
switch (action.type) {
|
|
38
38
|
case actions.ADD_FOLDER:
|
|
39
|
-
return {
|
|
39
|
+
return {
|
|
40
|
+
...state,
|
|
40
41
|
id: action.id,
|
|
41
42
|
name: action.name,
|
|
42
43
|
parentId: action.parentId,
|
|
43
44
|
filesUrl: action.filesUrl,
|
|
44
45
|
foldersUrl: action.foldersUrl
|
|
45
46
|
};
|
|
46
|
-
|
|
47
47
|
case actions.RECEIVE_FILES:
|
|
48
48
|
loadingCount = state.loadingCount - 1;
|
|
49
|
-
return {
|
|
49
|
+
return {
|
|
50
|
+
...state,
|
|
50
51
|
loadingCount,
|
|
51
52
|
loading: !!loadingCount,
|
|
52
53
|
fileIds: state.fileIds.concat(action.fileIds)
|
|
53
54
|
};
|
|
54
|
-
|
|
55
55
|
case actions.INSERT_FILE:
|
|
56
|
-
return {
|
|
56
|
+
return {
|
|
57
|
+
...state,
|
|
57
58
|
fileIds: state.fileIds.concat(action.fileId)
|
|
58
59
|
};
|
|
59
|
-
|
|
60
60
|
case actions.RECEIVE_SUBFOLDERS:
|
|
61
61
|
loadingCount = state.loadingCount - 1;
|
|
62
|
-
return {
|
|
62
|
+
return {
|
|
63
|
+
...state,
|
|
63
64
|
loadingCount,
|
|
64
65
|
loading: !!loadingCount,
|
|
65
66
|
folderIds: state.folderIds.concat(action.folderIds)
|
|
66
67
|
};
|
|
67
|
-
|
|
68
68
|
case actions.REQUEST_FILES:
|
|
69
69
|
loadingCount = state.loadingCount + 1;
|
|
70
|
-
return {
|
|
70
|
+
return {
|
|
71
|
+
...state,
|
|
71
72
|
requested: true,
|
|
72
73
|
loadingCount,
|
|
73
74
|
loading: !!loadingCount
|
|
74
75
|
};
|
|
75
|
-
|
|
76
76
|
case actions.REQUEST_SUBFOLDERS:
|
|
77
77
|
loadingCount = state.loadingCount + 1;
|
|
78
|
-
return {
|
|
78
|
+
return {
|
|
79
|
+
...state,
|
|
79
80
|
requested: true,
|
|
80
81
|
loadingCount,
|
|
81
82
|
loading: !!loadingCount
|
|
82
83
|
};
|
|
83
|
-
|
|
84
84
|
case actions.TOGGLE:
|
|
85
|
-
return {
|
|
85
|
+
return {
|
|
86
|
+
...state,
|
|
86
87
|
expanded: !state.expanded
|
|
87
88
|
};
|
|
88
|
-
|
|
89
89
|
default:
|
|
90
90
|
return state;
|
|
91
91
|
}
|
|
@@ -15,12 +15,12 @@
|
|
|
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 folder from './folder';
|
|
19
20
|
import * as actions from '../actions/files';
|
|
20
21
|
export default function foldersReducer() {
|
|
21
22
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
22
23
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
23
|
-
|
|
24
24
|
switch (action.type) {
|
|
25
25
|
case actions.ADD_FOLDER:
|
|
26
26
|
case actions.RECEIVE_FILES:
|
|
@@ -29,10 +29,10 @@ export default function foldersReducer() {
|
|
|
29
29
|
case actions.REQUEST_FILES:
|
|
30
30
|
case actions.REQUEST_SUBFOLDERS:
|
|
31
31
|
case actions.TOGGLE:
|
|
32
|
-
return {
|
|
32
|
+
return {
|
|
33
|
+
...state,
|
|
33
34
|
[action.id]: folder(state[action.id], action)
|
|
34
35
|
};
|
|
35
|
-
|
|
36
36
|
default:
|
|
37
37
|
return state;
|
|
38
38
|
}
|
|
@@ -15,15 +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
|
+
|
|
18
19
|
import { ADD_IMAGE, REQUEST_INITIAL_IMAGES, REQUEST_IMAGES, RECEIVE_IMAGES, FAIL_IMAGES_LOAD } from '../actions/images';
|
|
19
20
|
import { CHANGE_CONTEXT, CHANGE_SEARCH_STRING } from '../actions/filter';
|
|
20
21
|
export default function imagesReducer() {
|
|
21
22
|
let prevState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
22
23
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
23
24
|
const ctxt = action.payload && action.payload.contextType;
|
|
24
|
-
const state = {
|
|
25
|
+
const state = {
|
|
26
|
+
...prevState
|
|
25
27
|
};
|
|
26
|
-
|
|
27
28
|
if (ctxt && !state[ctxt]) {
|
|
28
29
|
state[ctxt] = {
|
|
29
30
|
files: [],
|
|
@@ -32,7 +33,6 @@ export default function imagesReducer() {
|
|
|
32
33
|
hasMore: true
|
|
33
34
|
};
|
|
34
35
|
}
|
|
35
|
-
|
|
36
36
|
switch (action.type) {
|
|
37
37
|
case ADD_IMAGE:
|
|
38
38
|
{
|
|
@@ -56,7 +56,6 @@ export default function imagesReducer() {
|
|
|
56
56
|
};
|
|
57
57
|
return state;
|
|
58
58
|
}
|
|
59
|
-
|
|
60
59
|
case REQUEST_INITIAL_IMAGES:
|
|
61
60
|
state[ctxt] = {
|
|
62
61
|
files: [],
|
|
@@ -65,11 +64,9 @@ export default function imagesReducer() {
|
|
|
65
64
|
hasMore: true
|
|
66
65
|
};
|
|
67
66
|
return state;
|
|
68
|
-
|
|
69
67
|
case REQUEST_IMAGES:
|
|
70
68
|
state[ctxt].isLoading = true;
|
|
71
69
|
return state;
|
|
72
|
-
|
|
73
70
|
case RECEIVE_IMAGES:
|
|
74
71
|
// If a request resolved with files but the searchString has since
|
|
75
72
|
// changed, then the files should not be concatenated because this
|
|
@@ -82,33 +79,26 @@ export default function imagesReducer() {
|
|
|
82
79
|
hasMore: !!action.payload.bookmark
|
|
83
80
|
};
|
|
84
81
|
}
|
|
85
|
-
|
|
86
82
|
return state;
|
|
87
|
-
|
|
88
83
|
case FAIL_IMAGES_LOAD:
|
|
89
84
|
state[ctxt] = {
|
|
90
85
|
isLoading: false,
|
|
91
86
|
error: action.payload.error,
|
|
92
87
|
files: []
|
|
93
88
|
};
|
|
94
|
-
|
|
95
89
|
if (action.payload.files && action.payload.files.length === 0) {
|
|
96
90
|
state[ctxt].bookmark = null;
|
|
97
91
|
}
|
|
98
|
-
|
|
99
92
|
return state;
|
|
100
|
-
|
|
101
93
|
case CHANGE_CONTEXT:
|
|
102
94
|
{
|
|
103
95
|
return state;
|
|
104
96
|
}
|
|
105
|
-
|
|
106
97
|
case CHANGE_SEARCH_STRING:
|
|
107
98
|
{
|
|
108
99
|
state.searchString = action.payload;
|
|
109
100
|
return state;
|
|
110
101
|
}
|
|
111
|
-
|
|
112
102
|
default:
|
|
113
103
|
return prevState;
|
|
114
104
|
}
|
|
@@ -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 noop from './noop';
|
|
19
20
|
import uiReducer from './ui';
|
|
20
21
|
import collectionsReducer from './collections';
|
|
@@ -30,8 +31,9 @@ import session from './session';
|
|
|
30
31
|
import newPageLinkReducer from './newPageLinkExpanded';
|
|
31
32
|
import { changeContextType, changeContextId, changeSearchString, changeSortBy } from './filter';
|
|
32
33
|
import { allFilesLoading } from './all_files';
|
|
33
|
-
import { combineReducers } from 'redux';
|
|
34
|
+
import { combineReducers } from 'redux';
|
|
34
35
|
|
|
36
|
+
// combine for root level state.
|
|
35
37
|
export default combineReducers({
|
|
36
38
|
ui: uiReducer,
|
|
37
39
|
source: noop,
|
|
@@ -15,17 +15,19 @@
|
|
|
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 { REQUEST_INITIAL_MEDIA, REQUEST_MEDIA, RECEIVE_MEDIA, FAIL_MEDIA } from '../actions/media';
|
|
19
|
-
import { CHANGE_CONTEXT, CHANGE_SEARCH_STRING } from '../actions/filter';
|
|
20
|
-
// for this collection (see collections.js)
|
|
20
|
+
import { CHANGE_CONTEXT, CHANGE_SEARCH_STRING } from '../actions/filter';
|
|
21
21
|
|
|
22
|
+
// manages the state for a specific collection. assumes the action is intended
|
|
23
|
+
// for this collection (see collections.js)
|
|
22
24
|
export default function mediaReducer() {
|
|
23
25
|
let prevState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
24
26
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
25
27
|
const ctxt = action.payload && action.payload.contextType;
|
|
26
|
-
const state = {
|
|
28
|
+
const state = {
|
|
29
|
+
...prevState
|
|
27
30
|
};
|
|
28
|
-
|
|
29
31
|
if (ctxt && !state[ctxt]) {
|
|
30
32
|
state[ctxt] = {
|
|
31
33
|
files: [],
|
|
@@ -34,7 +36,6 @@ export default function mediaReducer() {
|
|
|
34
36
|
hasMore: true
|
|
35
37
|
};
|
|
36
38
|
}
|
|
37
|
-
|
|
38
39
|
switch (action.type) {
|
|
39
40
|
case REQUEST_INITIAL_MEDIA:
|
|
40
41
|
state[ctxt] = {
|
|
@@ -44,11 +45,9 @@ export default function mediaReducer() {
|
|
|
44
45
|
hasMore: true
|
|
45
46
|
};
|
|
46
47
|
return state;
|
|
47
|
-
|
|
48
48
|
case REQUEST_MEDIA:
|
|
49
49
|
state[ctxt].isLoading = true;
|
|
50
50
|
return state;
|
|
51
|
-
|
|
52
51
|
case RECEIVE_MEDIA:
|
|
53
52
|
state[ctxt] = {
|
|
54
53
|
files: state[ctxt].files.concat(action.payload.files),
|
|
@@ -57,27 +56,21 @@ export default function mediaReducer() {
|
|
|
57
56
|
hasMore: !!action.payload.bookmark
|
|
58
57
|
};
|
|
59
58
|
return state;
|
|
60
|
-
|
|
61
59
|
case FAIL_MEDIA:
|
|
62
60
|
{
|
|
63
61
|
state[ctxt] = {
|
|
64
62
|
isLoading: false,
|
|
65
63
|
error: action.payload.error
|
|
66
64
|
};
|
|
67
|
-
|
|
68
65
|
if (action.payload.files && action.payload.files.length === 0) {
|
|
69
66
|
state[ctxt].bookmark = null;
|
|
70
67
|
}
|
|
71
|
-
|
|
72
68
|
return state;
|
|
73
69
|
}
|
|
74
|
-
|
|
75
70
|
case CHANGE_CONTEXT:
|
|
76
71
|
return state;
|
|
77
|
-
|
|
78
72
|
case CHANGE_SEARCH_STRING:
|
|
79
73
|
return state;
|
|
80
|
-
|
|
81
74
|
default:
|
|
82
75
|
return prevState;
|
|
83
76
|
}
|
|
@@ -15,15 +15,14 @@
|
|
|
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 { TOGGLE_NEWPAGE_FORM } from '../actions/links';
|
|
19
20
|
export default function () {
|
|
20
21
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
21
22
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
22
|
-
|
|
23
23
|
switch (action.type) {
|
|
24
24
|
case TOGGLE_NEWPAGE_FORM:
|
|
25
25
|
return !state;
|
|
26
|
-
|
|
27
26
|
default:
|
|
28
27
|
return state;
|
|
29
28
|
}
|
|
@@ -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 default function () {
|
|
19
20
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
20
21
|
return state;
|
|
@@ -15,15 +15,14 @@
|
|
|
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 { SET_ROOT } from '../actions/files';
|
|
19
20
|
export default function rootFolderIdReducer() {
|
|
20
21
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
21
22
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
22
|
-
|
|
23
23
|
switch (action.type) {
|
|
24
24
|
case SET_ROOT:
|
|
25
25
|
return action.id;
|
|
26
|
-
|
|
27
26
|
default:
|
|
28
27
|
return state;
|
|
29
28
|
}
|
|
@@ -15,18 +15,18 @@
|
|
|
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 { RECEIVE_SESSION } from '../actions/session';
|
|
19
20
|
const defaultState = {};
|
|
20
21
|
export default function sessionReducer() {
|
|
21
22
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultState;
|
|
22
23
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
23
|
-
|
|
24
24
|
switch (action.type) {
|
|
25
25
|
case RECEIVE_SESSION:
|
|
26
|
-
return {
|
|
26
|
+
return {
|
|
27
|
+
...state,
|
|
27
28
|
...action.data
|
|
28
29
|
};
|
|
29
|
-
|
|
30
30
|
default:
|
|
31
31
|
return state;
|
|
32
32
|
}
|
|
@@ -15,71 +15,58 @@
|
|
|
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
21
|
function hidden() {
|
|
22
22
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
23
23
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
24
|
-
|
|
25
24
|
switch (action.type) {
|
|
26
25
|
case HIDE_SIDEBAR:
|
|
27
26
|
return true;
|
|
28
|
-
|
|
29
27
|
case RESET_UI:
|
|
30
28
|
case SHOW_SIDEBAR:
|
|
31
29
|
return false;
|
|
32
|
-
|
|
33
30
|
default:
|
|
34
31
|
return state;
|
|
35
32
|
}
|
|
36
33
|
}
|
|
37
|
-
|
|
38
34
|
function selectedTabIndex() {
|
|
39
35
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
40
36
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
41
|
-
|
|
42
37
|
switch (action.type) {
|
|
43
38
|
case RESET_UI:
|
|
44
39
|
return 0;
|
|
45
|
-
|
|
46
40
|
case CHANGE_TAB:
|
|
47
41
|
return action.index;
|
|
48
|
-
|
|
49
42
|
default:
|
|
50
43
|
return state;
|
|
51
44
|
}
|
|
52
45
|
}
|
|
53
|
-
|
|
54
46
|
function selectedAccordionIndex() {
|
|
55
47
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
56
48
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
57
|
-
|
|
58
49
|
switch (action.type) {
|
|
59
50
|
case RESET_UI:
|
|
60
51
|
return '';
|
|
61
|
-
|
|
62
52
|
case CHANGE_TAB:
|
|
63
53
|
// switch links panel accordion tab back to first tab any time we
|
|
64
54
|
// switch _back to_ links panel
|
|
65
55
|
return '';
|
|
66
|
-
|
|
67
56
|
case CHANGE_ACCORDION:
|
|
68
57
|
try {
|
|
69
58
|
if (action.index !== window.sessionStorage.getItem('canvas_rce_links_accordion_index')) {
|
|
70
59
|
window.sessionStorage.setItem('canvas_rce_links_accordion_index', action.index);
|
|
71
60
|
}
|
|
72
|
-
} catch (err) {
|
|
61
|
+
} catch (err) {
|
|
62
|
+
// If there is an error accessing session storage, just ignore it.
|
|
73
63
|
// We are likely in a test environment
|
|
74
64
|
}
|
|
75
|
-
|
|
76
65
|
return action.index;
|
|
77
|
-
|
|
78
66
|
default:
|
|
79
67
|
return state;
|
|
80
68
|
}
|
|
81
69
|
}
|
|
82
|
-
|
|
83
70
|
export default combineReducers({
|
|
84
71
|
hidden,
|
|
85
72
|
selectedTabIndex,
|
|
@@ -15,85 +15,71 @@
|
|
|
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
21
|
function uploading() {
|
|
22
22
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
23
23
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
24
|
-
|
|
25
24
|
switch (action.type) {
|
|
26
25
|
case START_FILE_UPLOAD:
|
|
27
26
|
return true;
|
|
28
|
-
|
|
29
27
|
case FAIL_FILE_UPLOAD:
|
|
30
28
|
case COMPLETE_FILE_UPLOAD:
|
|
31
29
|
case QUOTA_EXCEEDED_UPLOAD:
|
|
32
30
|
return false;
|
|
33
|
-
|
|
34
31
|
default:
|
|
35
32
|
return state;
|
|
36
33
|
}
|
|
37
34
|
}
|
|
38
|
-
|
|
39
35
|
function error() {
|
|
40
36
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
41
37
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
42
|
-
|
|
43
38
|
switch (action.type) {
|
|
44
39
|
case COMPLETE_FILE_UPLOAD:
|
|
45
40
|
return {};
|
|
46
|
-
|
|
47
41
|
case QUOTA_EXCEEDED_UPLOAD:
|
|
48
|
-
return {
|
|
42
|
+
return {
|
|
43
|
+
...state,
|
|
49
44
|
type: action.type
|
|
50
45
|
};
|
|
51
|
-
|
|
52
46
|
default:
|
|
53
47
|
return state;
|
|
54
48
|
}
|
|
55
49
|
}
|
|
56
|
-
|
|
57
50
|
function formExpanded() {
|
|
58
51
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
59
52
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
60
|
-
|
|
61
53
|
switch (action.type) {
|
|
62
54
|
case COMPLETE_FILE_UPLOAD:
|
|
63
55
|
return false;
|
|
64
|
-
|
|
65
56
|
case TOGGLE_UPLOAD_FORM:
|
|
66
57
|
return !state;
|
|
67
|
-
|
|
68
58
|
default:
|
|
69
59
|
return state;
|
|
70
60
|
}
|
|
71
61
|
}
|
|
72
|
-
|
|
73
62
|
function folders() {
|
|
74
63
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
75
64
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
76
|
-
|
|
77
65
|
switch (action.type) {
|
|
78
66
|
case RECEIVE_FOLDER:
|
|
79
|
-
return {
|
|
67
|
+
return {
|
|
68
|
+
...state,
|
|
80
69
|
[action.id]: {
|
|
81
70
|
id: action.id,
|
|
82
71
|
name: action.name,
|
|
83
72
|
parentId: action.parentId
|
|
84
73
|
}
|
|
85
74
|
};
|
|
86
|
-
|
|
87
75
|
case FAIL_FOLDERS_LOAD:
|
|
88
76
|
default:
|
|
89
77
|
return state;
|
|
90
78
|
}
|
|
91
79
|
}
|
|
92
|
-
|
|
93
80
|
function rootFolderId() {
|
|
94
81
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
95
82
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
96
|
-
|
|
97
83
|
switch (action.type) {
|
|
98
84
|
case RECEIVE_FOLDER:
|
|
99
85
|
if (action.parentId === null) {
|
|
@@ -101,72 +87,58 @@ function rootFolderId() {
|
|
|
101
87
|
} else {
|
|
102
88
|
return state;
|
|
103
89
|
}
|
|
104
|
-
|
|
105
90
|
default:
|
|
106
91
|
return state;
|
|
107
92
|
}
|
|
108
|
-
}
|
|
109
|
-
// with the children sorted alphabetically by name.
|
|
110
|
-
|
|
93
|
+
}
|
|
111
94
|
|
|
95
|
+
// Returns an mapping of folder id -> list of children ids,
|
|
96
|
+
// with the children sorted alphabetically by name.
|
|
112
97
|
function folderTree() {
|
|
113
98
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
114
99
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
115
|
-
|
|
116
100
|
switch (action.type) {
|
|
117
101
|
case PROCESSED_FOLDER_BATCH:
|
|
118
102
|
{
|
|
119
103
|
const folders = action.folders;
|
|
120
104
|
const tree = {};
|
|
121
|
-
|
|
122
105
|
for (const folderId in folders) {
|
|
123
106
|
const folder = folders[folderId];
|
|
124
107
|
tree[folder.id] = tree[folder.id] || [];
|
|
125
|
-
|
|
126
108
|
if (folder.parentId) {
|
|
127
109
|
tree[folder.parentId] = tree[folder.parentId] || [];
|
|
128
110
|
tree[folder.parentId].push(folder.id);
|
|
129
111
|
}
|
|
130
112
|
}
|
|
131
|
-
|
|
132
113
|
for (const parentFolderId in tree) {
|
|
133
114
|
const children = tree[parentFolderId];
|
|
134
115
|
children.sort((a, b) => folders[a].name.localeCompare(folders[b].name));
|
|
135
116
|
}
|
|
136
|
-
|
|
137
117
|
return tree;
|
|
138
118
|
}
|
|
139
|
-
|
|
140
119
|
default:
|
|
141
120
|
return state;
|
|
142
121
|
}
|
|
143
122
|
}
|
|
144
|
-
|
|
145
123
|
function loadingFolders() {
|
|
146
124
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
147
125
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
148
|
-
|
|
149
126
|
switch (action.type) {
|
|
150
127
|
case START_LOADING:
|
|
151
128
|
return true;
|
|
152
|
-
|
|
153
129
|
case STOP_LOADING:
|
|
154
130
|
return false;
|
|
155
|
-
|
|
156
131
|
case FAIL_FOLDERS_LOAD:
|
|
157
132
|
{
|
|
158
133
|
return false;
|
|
159
134
|
}
|
|
160
|
-
|
|
161
135
|
default:
|
|
162
136
|
return state;
|
|
163
137
|
}
|
|
164
138
|
}
|
|
165
|
-
|
|
166
139
|
function uploadingMediaStatus() {
|
|
167
140
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
168
141
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
169
|
-
|
|
170
142
|
switch (action.type) {
|
|
171
143
|
case START_LOADING:
|
|
172
144
|
return {
|
|
@@ -174,26 +146,22 @@ function uploadingMediaStatus() {
|
|
|
174
146
|
uploaded: false,
|
|
175
147
|
error: false
|
|
176
148
|
};
|
|
177
|
-
|
|
178
149
|
case FAIL_MEDIA_UPLOAD:
|
|
179
150
|
return {
|
|
180
151
|
loading: false,
|
|
181
152
|
uploaded: false,
|
|
182
153
|
error: true
|
|
183
154
|
};
|
|
184
|
-
|
|
185
155
|
case MEDIA_UPLOAD_SUCCESS:
|
|
186
156
|
return {
|
|
187
157
|
loading: false,
|
|
188
158
|
uploaded: true,
|
|
189
159
|
error: false
|
|
190
160
|
};
|
|
191
|
-
|
|
192
161
|
default:
|
|
193
162
|
return state;
|
|
194
163
|
}
|
|
195
164
|
}
|
|
196
|
-
|
|
197
165
|
export default combineReducers({
|
|
198
166
|
uploading,
|
|
199
167
|
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';
|