@atlaskit/editor-plugin-media 0.2.0 → 0.3.1
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 +17 -0
- package/dist/cjs/commands/captions.js +59 -0
- package/dist/cjs/commands/helpers.js +127 -0
- package/dist/cjs/commands/index.js +24 -0
- package/dist/cjs/commands/linking.js +181 -0
- package/dist/cjs/index.js +8 -1
- package/dist/cjs/media-plugin-options.js +5 -0
- package/dist/cjs/next-plugin-type.js +5 -0
- package/dist/cjs/nodeviews/mediaGroup.js +376 -0
- package/dist/cjs/nodeviews/mediaInline.js +288 -0
- package/dist/cjs/nodeviews/mediaNodeUpdater.js +739 -0
- package/dist/cjs/nodeviews/mediaNodeView/index.js +177 -0
- package/dist/cjs/nodeviews/mediaNodeView/media.js +242 -0
- package/dist/cjs/nodeviews/mediaSingle.js +629 -0
- package/dist/cjs/nodeviews/messages.js +14 -0
- package/dist/cjs/nodeviews/styles.js +46 -0
- package/dist/cjs/nodeviews/types.js +5 -0
- package/dist/cjs/picker-facade.js +192 -0
- package/dist/cjs/plugin.js +293 -0
- package/dist/cjs/pm-plugins/alt-text/actions.js +5 -0
- package/dist/cjs/pm-plugins/alt-text/commands.js +59 -0
- package/dist/cjs/pm-plugins/alt-text/index.js +36 -0
- package/dist/cjs/pm-plugins/alt-text/keymap.js +15 -0
- package/dist/cjs/pm-plugins/alt-text/messages.js +44 -0
- package/dist/cjs/pm-plugins/alt-text/reducer.js +32 -0
- package/dist/cjs/pm-plugins/alt-text/types.js +5 -0
- package/dist/cjs/pm-plugins/alt-text/ui/AltTextEdit.js +209 -0
- package/dist/cjs/pm-plugins/keymap-media-single.js +163 -0
- package/dist/cjs/pm-plugins/keymap.js +88 -0
- package/dist/cjs/pm-plugins/linking/actions.js +13 -0
- package/dist/cjs/pm-plugins/linking/index.js +65 -0
- package/dist/cjs/pm-plugins/linking/keymap.js +14 -0
- package/dist/cjs/pm-plugins/linking/reducer.js +43 -0
- package/dist/cjs/pm-plugins/linking/types.js +5 -0
- package/dist/cjs/pm-plugins/main.js +813 -0
- package/dist/cjs/pm-plugins/media-editor-plugin-factory.js +8 -0
- package/dist/cjs/pm-plugins/mediaTaskManager.js +101 -0
- package/dist/cjs/pm-plugins/plugin-key.js +8 -0
- package/dist/cjs/pm-plugins/types.js +5 -0
- package/dist/cjs/toolbar/alt-text.js +80 -0
- package/dist/cjs/toolbar/commands.js +236 -0
- package/dist/cjs/toolbar/filePreviewItem.js +66 -0
- package/dist/cjs/toolbar/imageBorder.js +20 -0
- package/dist/cjs/toolbar/index.js +523 -0
- package/dist/cjs/toolbar/linking-toolbar-appearance.js +100 -0
- package/dist/cjs/toolbar/linking.js +96 -0
- package/dist/cjs/toolbar/utils.js +110 -0
- package/dist/cjs/ui/CaptionPlaceholder/index.js +27 -0
- package/dist/cjs/ui/CaptionPlaceholder/messages.js +14 -0
- package/dist/cjs/ui/ImageBorder/index.js +226 -0
- package/dist/cjs/ui/ImageBorder/messages.js +49 -0
- package/dist/cjs/ui/ImageBorder/styles.js +52 -0
- package/dist/cjs/ui/Media/DropPlaceholder.js +38 -0
- package/dist/cjs/ui/Media/drop-placeholder-messages.js +14 -0
- package/dist/cjs/ui/MediaLinkingToolbar.js +196 -0
- package/dist/cjs/ui/MediaPicker/BrowserWrapper.js +40 -0
- package/dist/cjs/ui/MediaPicker/ClipboardWrapper.js +39 -0
- package/dist/cjs/ui/MediaPicker/DropzoneWrapper.js +51 -0
- package/dist/cjs/ui/MediaPicker/PickerFacadeProvider.js +151 -0
- package/dist/cjs/ui/MediaPicker/index.js +103 -0
- package/dist/cjs/ui/PixelEntry/constants.js +7 -0
- package/dist/cjs/ui/PixelEntry/index.js +185 -0
- package/dist/cjs/ui/PixelEntry/messages.js +54 -0
- package/dist/cjs/ui/PixelEntry/styles.js +19 -0
- package/dist/cjs/ui/PixelEntry/types.js +5 -0
- package/dist/cjs/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.js +16 -0
- package/dist/cjs/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +541 -0
- package/dist/cjs/ui/ResizableMediaSingle/index.js +422 -0
- package/dist/cjs/ui/ResizableMediaSingle/styled.js +14 -0
- package/dist/cjs/ui/ResizableMediaSingle/styles.js +17 -0
- package/dist/cjs/ui/ResizableMediaSingle/types.js +5 -0
- package/dist/cjs/ui/ToolbarMedia/index.js +42 -0
- package/dist/cjs/ui/ToolbarMedia/toolbar-media-messages.js +14 -0
- package/dist/cjs/ui/media-linking-toolbar-messages.js +14 -0
- package/dist/cjs/utils/analytics.js +53 -0
- package/dist/cjs/utils/check-media-type.js +56 -0
- package/dist/cjs/utils/current-media-node.js +41 -0
- package/dist/cjs/utils/is-image.js +9 -0
- package/dist/cjs/utils/media-common.js +181 -0
- package/dist/cjs/utils/media-files.js +297 -0
- package/dist/cjs/utils/media-single.js +181 -0
- package/dist/es2019/commands/captions.js +47 -0
- package/dist/es2019/commands/helpers.js +113 -0
- package/dist/es2019/commands/index.js +1 -0
- package/dist/es2019/commands/linking.js +169 -0
- package/dist/es2019/index.js +1 -1
- package/dist/es2019/media-plugin-options.js +1 -0
- package/dist/es2019/next-plugin-type.js +1 -0
- package/dist/es2019/nodeviews/mediaGroup.js +314 -0
- package/dist/es2019/nodeviews/mediaInline.js +201 -0
- package/dist/es2019/nodeviews/mediaNodeUpdater.js +384 -0
- package/dist/es2019/nodeviews/mediaNodeView/index.js +149 -0
- package/dist/es2019/nodeviews/mediaNodeView/media.js +182 -0
- package/dist/es2019/nodeviews/mediaSingle.js +511 -0
- package/dist/es2019/nodeviews/messages.js +8 -0
- package/dist/es2019/nodeviews/styles.js +46 -0
- package/dist/es2019/nodeviews/types.js +1 -0
- package/dist/es2019/picker-facade.js +146 -0
- package/dist/es2019/plugin.js +284 -0
- package/dist/es2019/pm-plugins/alt-text/actions.js +1 -0
- package/dist/es2019/pm-plugins/alt-text/commands.js +42 -0
- package/dist/es2019/pm-plugins/alt-text/index.js +33 -0
- package/dist/es2019/pm-plugins/alt-text/keymap.js +9 -0
- package/dist/es2019/pm-plugins/alt-text/messages.js +38 -0
- package/dist/es2019/pm-plugins/alt-text/reducer.js +26 -0
- package/dist/es2019/pm-plugins/alt-text/types.js +1 -0
- package/dist/es2019/pm-plugins/alt-text/ui/AltTextEdit.js +228 -0
- package/dist/es2019/pm-plugins/keymap-media-single.js +172 -0
- package/dist/es2019/pm-plugins/keymap.js +84 -0
- package/dist/es2019/pm-plugins/linking/actions.js +7 -0
- package/dist/es2019/pm-plugins/linking/index.js +56 -0
- package/dist/es2019/pm-plugins/linking/keymap.js +8 -0
- package/dist/es2019/pm-plugins/linking/reducer.js +37 -0
- package/dist/es2019/pm-plugins/linking/types.js +1 -0
- package/dist/es2019/pm-plugins/main.js +695 -0
- package/dist/es2019/pm-plugins/media-editor-plugin-factory.js +2 -0
- package/dist/es2019/pm-plugins/mediaTaskManager.js +64 -0
- package/dist/es2019/pm-plugins/plugin-key.js +2 -0
- package/dist/es2019/pm-plugins/types.js +1 -0
- package/dist/es2019/toolbar/alt-text.js +72 -0
- package/dist/es2019/toolbar/commands.js +212 -0
- package/dist/es2019/toolbar/filePreviewItem.js +54 -0
- package/dist/es2019/toolbar/imageBorder.js +15 -0
- package/dist/es2019/toolbar/index.js +538 -0
- package/dist/es2019/toolbar/linking-toolbar-appearance.js +90 -0
- package/dist/es2019/toolbar/linking.js +98 -0
- package/dist/es2019/toolbar/utils.js +86 -0
- package/dist/es2019/ui/CaptionPlaceholder/index.js +25 -0
- package/dist/es2019/ui/CaptionPlaceholder/messages.js +8 -0
- package/dist/es2019/ui/ImageBorder/index.js +213 -0
- package/dist/es2019/ui/ImageBorder/messages.js +43 -0
- package/dist/es2019/ui/ImageBorder/styles.js +126 -0
- package/dist/es2019/ui/Media/DropPlaceholder.js +47 -0
- package/dist/es2019/ui/Media/drop-placeholder-messages.js +8 -0
- package/dist/es2019/ui/MediaLinkingToolbar.js +190 -0
- package/dist/es2019/ui/MediaPicker/BrowserWrapper.js +31 -0
- package/dist/es2019/ui/MediaPicker/ClipboardWrapper.js +32 -0
- package/dist/es2019/ui/MediaPicker/DropzoneWrapper.js +42 -0
- package/dist/es2019/ui/MediaPicker/PickerFacadeProvider.js +85 -0
- package/dist/es2019/ui/MediaPicker/index.js +82 -0
- package/dist/es2019/ui/PixelEntry/constants.js +1 -0
- package/dist/es2019/ui/PixelEntry/index.js +170 -0
- package/dist/es2019/ui/PixelEntry/messages.js +48 -0
- package/dist/es2019/ui/PixelEntry/styles.js +51 -0
- package/dist/es2019/ui/PixelEntry/types.js +1 -0
- package/dist/es2019/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.js +9 -0
- package/dist/es2019/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +454 -0
- package/dist/es2019/ui/ResizableMediaSingle/index.js +344 -0
- package/dist/es2019/ui/ResizableMediaSingle/styled.js +9 -0
- package/dist/es2019/ui/ResizableMediaSingle/styles.js +14 -0
- package/dist/es2019/ui/ResizableMediaSingle/types.js +1 -0
- package/dist/es2019/ui/ToolbarMedia/index.js +37 -0
- package/dist/es2019/ui/ToolbarMedia/toolbar-media-messages.js +8 -0
- package/dist/es2019/ui/media-linking-toolbar-messages.js +8 -0
- package/dist/es2019/utils/analytics.js +51 -0
- package/dist/es2019/utils/check-media-type.js +19 -0
- package/dist/es2019/utils/current-media-node.js +35 -0
- package/dist/es2019/utils/is-image.js +3 -0
- package/dist/es2019/utils/media-common.js +189 -0
- package/dist/es2019/utils/media-files.js +321 -0
- package/dist/es2019/utils/media-single.js +176 -0
- package/dist/esm/commands/captions.js +53 -0
- package/dist/esm/commands/helpers.js +120 -0
- package/dist/esm/commands/index.js +1 -0
- package/dist/esm/commands/linking.js +174 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/media-plugin-options.js +1 -0
- package/dist/esm/next-plugin-type.js +1 -0
- package/dist/esm/nodeviews/mediaGroup.js +369 -0
- package/dist/esm/nodeviews/mediaInline.js +278 -0
- package/dist/esm/nodeviews/mediaNodeUpdater.js +732 -0
- package/dist/esm/nodeviews/mediaNodeView/index.js +170 -0
- package/dist/esm/nodeviews/mediaNodeView/media.js +233 -0
- package/dist/esm/nodeviews/mediaSingle.js +622 -0
- package/dist/esm/nodeviews/messages.js +8 -0
- package/dist/esm/nodeviews/styles.js +39 -0
- package/dist/esm/nodeviews/types.js +1 -0
- package/dist/esm/picker-facade.js +186 -0
- package/dist/esm/plugin.js +282 -0
- package/dist/esm/pm-plugins/alt-text/actions.js +1 -0
- package/dist/esm/pm-plugins/alt-text/commands.js +52 -0
- package/dist/esm/pm-plugins/alt-text/index.js +31 -0
- package/dist/esm/pm-plugins/alt-text/keymap.js +9 -0
- package/dist/esm/pm-plugins/alt-text/messages.js +38 -0
- package/dist/esm/pm-plugins/alt-text/reducer.js +25 -0
- package/dist/esm/pm-plugins/alt-text/types.js +1 -0
- package/dist/esm/pm-plugins/alt-text/ui/AltTextEdit.js +206 -0
- package/dist/esm/pm-plugins/keymap-media-single.js +158 -0
- package/dist/esm/pm-plugins/keymap.js +81 -0
- package/dist/esm/pm-plugins/linking/actions.js +7 -0
- package/dist/esm/pm-plugins/linking/index.js +59 -0
- package/dist/esm/pm-plugins/linking/keymap.js +8 -0
- package/dist/esm/pm-plugins/linking/reducer.js +36 -0
- package/dist/esm/pm-plugins/linking/types.js +1 -0
- package/dist/esm/pm-plugins/main.js +798 -0
- package/dist/esm/pm-plugins/media-editor-plugin-factory.js +2 -0
- package/dist/esm/pm-plugins/mediaTaskManager.js +94 -0
- package/dist/esm/pm-plugins/plugin-key.js +2 -0
- package/dist/esm/pm-plugins/types.js +1 -0
- package/dist/esm/toolbar/alt-text.js +70 -0
- package/dist/esm/toolbar/commands.js +229 -0
- package/dist/esm/toolbar/filePreviewItem.js +56 -0
- package/dist/esm/toolbar/imageBorder.js +14 -0
- package/dist/esm/toolbar/index.js +513 -0
- package/dist/esm/toolbar/linking-toolbar-appearance.js +91 -0
- package/dist/esm/toolbar/linking.js +88 -0
- package/dist/esm/toolbar/utils.js +103 -0
- package/dist/esm/ui/CaptionPlaceholder/index.js +20 -0
- package/dist/esm/ui/CaptionPlaceholder/messages.js +8 -0
- package/dist/esm/ui/ImageBorder/index.js +218 -0
- package/dist/esm/ui/ImageBorder/messages.js +43 -0
- package/dist/esm/ui/ImageBorder/styles.js +42 -0
- package/dist/esm/ui/Media/DropPlaceholder.js +31 -0
- package/dist/esm/ui/Media/drop-placeholder-messages.js +8 -0
- package/dist/esm/ui/MediaLinkingToolbar.js +188 -0
- package/dist/esm/ui/MediaPicker/BrowserWrapper.js +33 -0
- package/dist/esm/ui/MediaPicker/ClipboardWrapper.js +32 -0
- package/dist/esm/ui/MediaPicker/DropzoneWrapper.js +44 -0
- package/dist/esm/ui/MediaPicker/PickerFacadeProvider.js +145 -0
- package/dist/esm/ui/MediaPicker/index.js +96 -0
- package/dist/esm/ui/PixelEntry/constants.js +1 -0
- package/dist/esm/ui/PixelEntry/index.js +174 -0
- package/dist/esm/ui/PixelEntry/messages.js +48 -0
- package/dist/esm/ui/PixelEntry/styles.js +12 -0
- package/dist/esm/ui/PixelEntry/types.js +1 -0
- package/dist/esm/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.js +9 -0
- package/dist/esm/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +535 -0
- package/dist/esm/ui/ResizableMediaSingle/index.js +417 -0
- package/dist/esm/ui/ResizableMediaSingle/styled.js +7 -0
- package/dist/esm/ui/ResizableMediaSingle/styles.js +7 -0
- package/dist/esm/ui/ResizableMediaSingle/types.js +1 -0
- package/dist/esm/ui/ToolbarMedia/index.js +35 -0
- package/dist/esm/ui/ToolbarMedia/toolbar-media-messages.js +8 -0
- package/dist/esm/ui/media-linking-toolbar-messages.js +8 -0
- package/dist/esm/utils/analytics.js +47 -0
- package/dist/esm/utils/check-media-type.js +49 -0
- package/dist/esm/utils/current-media-node.js +35 -0
- package/dist/esm/utils/is-image.js +3 -0
- package/dist/esm/utils/media-common.js +175 -0
- package/dist/esm/utils/media-files.js +291 -0
- package/dist/esm/utils/media-single.js +172 -0
- package/dist/types/commands/captions.d.ts +5 -0
- package/dist/types/commands/helpers.d.ts +15 -0
- package/dist/types/commands/index.d.ts +1 -0
- package/dist/types/commands/linking.d.ts +9 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/media-plugin-options.d.ts +17 -0
- package/dist/types/next-plugin-type.d.ts +33 -0
- package/dist/types/nodeviews/__mocks__/mediaNodeUpdater.d.ts +24 -0
- package/dist/types/nodeviews/mediaGroup.d.ts +33 -0
- package/dist/types/nodeviews/mediaInline.d.ts +50 -0
- package/dist/types/nodeviews/mediaNodeUpdater.d.ts +45 -0
- package/dist/types/nodeviews/mediaNodeView/index.d.ts +28 -0
- package/dist/types/nodeviews/mediaNodeView/media.d.ts +44 -0
- package/dist/types/nodeviews/mediaSingle.d.ts +62 -0
- package/dist/types/nodeviews/messages.d.ts +7 -0
- package/dist/types/nodeviews/styles.d.ts +16 -0
- package/dist/types/nodeviews/types.d.ts +42 -0
- package/dist/types/picker-facade.d.ts +44 -0
- package/dist/types/plugin.d.ts +7 -0
- package/dist/types/pm-plugins/alt-text/actions.d.ts +10 -0
- package/dist/types/pm-plugins/alt-text/commands.d.ts +4 -0
- package/dist/types/pm-plugins/alt-text/index.d.ts +7 -0
- package/dist/types/pm-plugins/alt-text/keymap.d.ts +4 -0
- package/dist/types/pm-plugins/alt-text/messages.d.ts +37 -0
- package/dist/types/pm-plugins/alt-text/reducer.d.ts +4 -0
- package/dist/types/pm-plugins/alt-text/types.d.ts +3 -0
- package/dist/types/pm-plugins/alt-text/ui/AltTextEdit.d.ts +41 -0
- package/dist/types/pm-plugins/keymap-media-single.d.ts +3 -0
- package/dist/types/pm-plugins/keymap.d.ts +6 -0
- package/dist/types/pm-plugins/linking/actions.d.ts +20 -0
- package/dist/types/pm-plugins/linking/index.d.ts +10 -0
- package/dist/types/pm-plugins/linking/keymap.d.ts +3 -0
- package/dist/types/pm-plugins/linking/reducer.d.ts +4 -0
- package/dist/types/pm-plugins/linking/types.d.ts +12 -0
- package/dist/types/pm-plugins/main.d.ts +120 -0
- package/dist/types/pm-plugins/media-editor-plugin-factory.d.ts +3 -0
- package/dist/types/pm-plugins/mediaTaskManager.d.ts +9 -0
- package/dist/types/pm-plugins/plugin-key.d.ts +3 -0
- package/dist/types/pm-plugins/types.d.ts +65 -0
- package/dist/types/toolbar/alt-text.d.ts +13 -0
- package/dist/types/toolbar/commands.d.ts +12 -0
- package/dist/types/toolbar/filePreviewItem.d.ts +9 -0
- package/dist/types/toolbar/imageBorder.d.ts +2 -0
- package/dist/types/toolbar/index.d.ts +6 -0
- package/dist/types/toolbar/linking-toolbar-appearance.d.ts +14 -0
- package/dist/types/toolbar/linking.d.ts +10 -0
- package/dist/types/toolbar/utils.d.ts +11 -0
- package/dist/types/types.d.ts +2 -1
- package/dist/types/ui/CaptionPlaceholder/index.d.ts +6 -0
- package/dist/types/ui/CaptionPlaceholder/messages.d.ts +7 -0
- package/dist/types/ui/ImageBorder/index.d.ts +11 -0
- package/dist/types/ui/ImageBorder/messages.d.ts +42 -0
- package/dist/types/ui/ImageBorder/styles.d.ts +15 -0
- package/dist/types/ui/Media/DropPlaceholder.d.ts +8 -0
- package/dist/types/ui/Media/drop-placeholder-messages.d.ts +7 -0
- package/dist/types/ui/MediaLinkingToolbar.d.ts +35 -0
- package/dist/types/ui/MediaPicker/BrowserWrapper.d.ts +11 -0
- package/dist/types/ui/MediaPicker/ClipboardWrapper.d.ts +10 -0
- package/dist/types/ui/MediaPicker/DropzoneWrapper.d.ts +13 -0
- package/dist/types/ui/MediaPicker/PickerFacadeProvider.d.ts +28 -0
- package/dist/types/ui/MediaPicker/index.d.ts +23 -0
- package/dist/types/ui/PixelEntry/constants.d.ts +1 -0
- package/dist/types/ui/PixelEntry/index.d.ts +8 -0
- package/dist/types/ui/PixelEntry/messages.d.ts +47 -0
- package/dist/types/ui/PixelEntry/styles.d.ts +8 -0
- package/dist/types/ui/PixelEntry/types.d.ts +58 -0
- package/dist/types/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.d.ts +3 -0
- package/dist/types/ui/ResizableMediaSingle/ResizableMediaSingleNext.d.ts +59 -0
- package/dist/types/ui/ResizableMediaSingle/index.d.ts +45 -0
- package/dist/types/ui/ResizableMediaSingle/styled.d.ts +2 -0
- package/dist/types/ui/ResizableMediaSingle/styles.d.ts +1 -0
- package/dist/types/ui/ResizableMediaSingle/types.d.ts +27 -0
- package/dist/types/ui/ToolbarMedia/index.d.ts +13 -0
- package/dist/types/ui/ToolbarMedia/toolbar-media-messages.d.ts +7 -0
- package/dist/types/ui/media-linking-toolbar-messages.d.ts +7 -0
- package/dist/types/utils/analytics.d.ts +3 -0
- package/dist/types/utils/check-media-type.d.ts +4 -0
- package/dist/types/utils/current-media-node.d.ts +9 -0
- package/dist/types/utils/is-image.d.ts +1 -0
- package/dist/types/utils/media-common.d.ts +20 -0
- package/dist/types/utils/media-files.d.ts +30 -0
- package/dist/types/utils/media-single.d.ts +20 -0
- package/package.json +32 -20
- package/report.api.md +430 -0
- package/dist/types-ts4.5/index.d.ts +0 -1
- package/dist/types-ts4.5/types.d.ts +0 -118
- package/tmp/api-report-tmp.d.ts +0 -9
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
2
|
+
import { setTextSelection } from '@atlaskit/editor-prosemirror/utils';
|
|
3
|
+
export var selectCaptionFromMediaSinglePos = function selectCaptionFromMediaSinglePos(mediaSingleNodePos, mediaSingleNode) {
|
|
4
|
+
return function (state, dispatch) {
|
|
5
|
+
// node should have two children, media and caption
|
|
6
|
+
if (mediaSingleNode.childCount !== 2) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
if (dispatch) {
|
|
10
|
+
var media = mediaSingleNode.child(0);
|
|
11
|
+
var caption = mediaSingleNode.child(1);
|
|
12
|
+
var tr = state.tr;
|
|
13
|
+
tr = setSelectionAtEndOfCaption(tr, mediaSingleNodePos, media.nodeSize, caption.nodeSize);
|
|
14
|
+
tr.setMeta('scrollIntoView', false);
|
|
15
|
+
dispatch(tr);
|
|
16
|
+
}
|
|
17
|
+
return true;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export var insertAndSelectCaptionFromMediaSinglePos = function insertAndSelectCaptionFromMediaSinglePos(editorAnalyticsAPI) {
|
|
21
|
+
return function (mediaSingleNodePos, mediaSingleNode) {
|
|
22
|
+
return function (state, dispatch) {
|
|
23
|
+
if (typeof mediaSingleNodePos !== 'number') {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
var tr = state.tr;
|
|
27
|
+
|
|
28
|
+
// node should have one child, media
|
|
29
|
+
if (mediaSingleNode.childCount !== 1) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
if (dispatch) {
|
|
33
|
+
var schema = state.schema;
|
|
34
|
+
var media = mediaSingleNode.child(0);
|
|
35
|
+
var caption = schema.nodes.caption.create();
|
|
36
|
+
tr = state.tr.insert(mediaSingleNodePos + media.nodeSize + 1, caption);
|
|
37
|
+
tr = setSelectionAtEndOfCaption(tr, mediaSingleNodePos, media.nodeSize, caption.nodeSize);
|
|
38
|
+
tr.setMeta('scrollIntoView', false);
|
|
39
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
40
|
+
action: ACTION.ADDED,
|
|
41
|
+
eventType: EVENT_TYPE.TRACK,
|
|
42
|
+
actionSubject: ACTION_SUBJECT.MEDIA_SINGLE,
|
|
43
|
+
actionSubjectId: ACTION_SUBJECT_ID.CAPTION
|
|
44
|
+
})(tr);
|
|
45
|
+
dispatch(tr);
|
|
46
|
+
}
|
|
47
|
+
return true;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
var setSelectionAtEndOfCaption = function setSelectionAtEndOfCaption(tr, mediaSingleNodePos, mediaNodeSize, captionNodeSize) {
|
|
52
|
+
return setTextSelection(mediaSingleNodePos + mediaNodeSize + captionNodeSize)(tr);
|
|
53
|
+
};
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import { SetAttrsStep } from '@atlaskit/adf-schema/steps';
|
|
5
|
+
import { stateKey as mediaPluginKey } from '../pm-plugins/plugin-key';
|
|
6
|
+
/**
|
|
7
|
+
* Note that Media Inline is inserted like a media single node into the media plugin state.
|
|
8
|
+
* Though it is not of type mediaSingle, it shares the same `findMediaSingleNode` method
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
export var findMediaSingleNode = function findMediaSingleNode(mediaPluginState, id) {
|
|
12
|
+
var mediaNodes = mediaPluginState.mediaNodes;
|
|
13
|
+
|
|
14
|
+
// Array#find... no IE support
|
|
15
|
+
return mediaNodes.reduce(function (memo, nodeWithPos) {
|
|
16
|
+
if (memo) {
|
|
17
|
+
return memo;
|
|
18
|
+
}
|
|
19
|
+
var node = nodeWithPos.node;
|
|
20
|
+
if (node.attrs.id === id) {
|
|
21
|
+
return nodeWithPos;
|
|
22
|
+
}
|
|
23
|
+
return memo;
|
|
24
|
+
}, null);
|
|
25
|
+
};
|
|
26
|
+
export var findAllMediaSingleNodes = function findAllMediaSingleNodes(mediaPluginState, id) {
|
|
27
|
+
var mediaNodes = mediaPluginState.mediaNodes;
|
|
28
|
+
return mediaNodes.filter(function (nodeWithHandler) {
|
|
29
|
+
return nodeWithHandler.node.attrs.id === id;
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
export var isMediaNode = function isMediaNode(pos, state) {
|
|
33
|
+
var node = state.doc.nodeAt(pos);
|
|
34
|
+
return node && ['media', 'mediaInline'].includes(node.type.name);
|
|
35
|
+
};
|
|
36
|
+
export var updateAllMediaSingleNodesAttrs = function updateAllMediaSingleNodesAttrs(id, attrs) {
|
|
37
|
+
return function (state, dispatch) {
|
|
38
|
+
var mediaPluginState = mediaPluginKey.getState(state);
|
|
39
|
+
if (!mediaPluginState) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
var mediaNodes;
|
|
43
|
+
mediaNodes = findAllMediaSingleNodes(mediaPluginState, id);
|
|
44
|
+
var validMediaNodePositions = mediaNodes.reduce(function (acc, _ref) {
|
|
45
|
+
var getPos = _ref.getPos;
|
|
46
|
+
var pos = getPos();
|
|
47
|
+
if (typeof pos !== 'number' || isNaN(pos) || typeof pos === 'number' && !isMediaNode(pos, state)) {
|
|
48
|
+
return acc;
|
|
49
|
+
}
|
|
50
|
+
acc.push(pos);
|
|
51
|
+
return acc;
|
|
52
|
+
}, []);
|
|
53
|
+
if (validMediaNodePositions.length === 0) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
var tr = state.tr;
|
|
57
|
+
validMediaNodePositions.forEach(function (pos) {
|
|
58
|
+
return tr.step(new SetAttrsStep(pos, attrs));
|
|
59
|
+
});
|
|
60
|
+
tr.setMeta('addToHistory', false);
|
|
61
|
+
if (dispatch) {
|
|
62
|
+
dispatch(tr);
|
|
63
|
+
}
|
|
64
|
+
return true;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
export var updateCurrentMediaNodeAttrs = function updateCurrentMediaNodeAttrs(attrs, mediaNode) {
|
|
68
|
+
return function (state, dispatch) {
|
|
69
|
+
var pos = mediaNode.getPos();
|
|
70
|
+
if (typeof pos !== 'number' || isNaN(pos) || typeof pos === 'number' && !isMediaNode(pos, state)) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
var tr = state.tr;
|
|
74
|
+
tr.step(new SetAttrsStep(pos, attrs));
|
|
75
|
+
tr.setMeta('addToHistory', false);
|
|
76
|
+
if (dispatch) {
|
|
77
|
+
dispatch(tr);
|
|
78
|
+
}
|
|
79
|
+
return true;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
export var updateMediaSingleNodeAttrs = function updateMediaSingleNodeAttrs(id, attrs) {
|
|
83
|
+
return function (state, dispatch) {
|
|
84
|
+
var mediaPluginState = mediaPluginKey.getState(state);
|
|
85
|
+
if (!mediaPluginState) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
var mediaNodeWithPos = findMediaSingleNode(mediaPluginState, id);
|
|
89
|
+
if (!mediaNodeWithPos) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
var tr = state.tr;
|
|
93
|
+
var pos = mediaNodeWithPos.getPos();
|
|
94
|
+
if (typeof pos !== 'number' || !isMediaNode(pos, state)) {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
tr.step(new SetAttrsStep(pos, attrs)).setMeta('addToHistory', false);
|
|
98
|
+
if (dispatch) {
|
|
99
|
+
dispatch(tr);
|
|
100
|
+
}
|
|
101
|
+
return true;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
export var replaceExternalMedia = function replaceExternalMedia(pos, attrs) {
|
|
105
|
+
return function (state, dispatch) {
|
|
106
|
+
var tr = state.tr;
|
|
107
|
+
var node = tr.doc.nodeAt(pos);
|
|
108
|
+
if (!node || node.type.name !== 'media') {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
tr.step(new SetAttrsStep(pos, _objectSpread({
|
|
112
|
+
type: 'file',
|
|
113
|
+
url: null
|
|
114
|
+
}, attrs))).setMeta('addToHistory', false);
|
|
115
|
+
if (dispatch) {
|
|
116
|
+
dispatch(tr);
|
|
117
|
+
}
|
|
118
|
+
return true;
|
|
119
|
+
};
|
|
120
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { updateMediaSingleNodeAttrs, updateAllMediaSingleNodesAttrs, replaceExternalMedia } from './helpers';
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
5
|
+
import { createToggleBlockMarkOnRange } from '@atlaskit/editor-common/commands';
|
|
6
|
+
import { normalizeUrl } from '@atlaskit/editor-common/utils';
|
|
7
|
+
import { createMediaLinkingCommand, getMediaLinkingState, mediaLinkingPluginKey } from '../pm-plugins/linking';
|
|
8
|
+
import { MediaLinkingActionsTypes } from '../pm-plugins/linking/actions';
|
|
9
|
+
import { getMediaPluginState } from '../pm-plugins/main';
|
|
10
|
+
import { checkMediaType } from '../utils/check-media-type';
|
|
11
|
+
import { currentMediaNode } from '../utils/current-media-node';
|
|
12
|
+
export var showLinkingToolbar = createMediaLinkingCommand(function (state) {
|
|
13
|
+
var mediaLinkingState = getMediaLinkingState(state);
|
|
14
|
+
if (mediaLinkingState && mediaLinkingState.mediaPos !== null) {
|
|
15
|
+
var mediaSingle = state.doc.nodeAt(mediaLinkingState.mediaPos);
|
|
16
|
+
if (mediaSingle) {
|
|
17
|
+
return {
|
|
18
|
+
type: MediaLinkingActionsTypes.showToolbar
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
});
|
|
24
|
+
export var showLinkingToolbarWithMediaTypeCheck = function showLinkingToolbarWithMediaTypeCheck(editorState, dispatch, editorView) {
|
|
25
|
+
if (dispatch && editorView) {
|
|
26
|
+
var mediaNode = currentMediaNode(editorState);
|
|
27
|
+
if (!mediaNode) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
var _getMediaPluginState = getMediaPluginState(editorState),
|
|
31
|
+
mediaClientConfig = _getMediaPluginState.mediaClientConfig;
|
|
32
|
+
if (!mediaClientConfig) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
checkMediaType(mediaNode, mediaClientConfig).then(function (mediaType) {
|
|
36
|
+
if ((mediaType === 'external' || mediaType === 'image') &&
|
|
37
|
+
// We make sure the selection and the node hasn't changed.
|
|
38
|
+
currentMediaNode(editorView.state) === mediaNode) {
|
|
39
|
+
dispatch(editorView.state.tr.setMeta(mediaLinkingPluginKey, {
|
|
40
|
+
type: MediaLinkingActionsTypes.showToolbar
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return true;
|
|
46
|
+
};
|
|
47
|
+
var hideLinkingToolbarCommand = createMediaLinkingCommand({
|
|
48
|
+
type: MediaLinkingActionsTypes.hideToolbar
|
|
49
|
+
});
|
|
50
|
+
export var hideLinkingToolbar = function hideLinkingToolbar(state, dispatch, view, focusFloatingToolbar) {
|
|
51
|
+
hideLinkingToolbarCommand(state, dispatch, view);
|
|
52
|
+
|
|
53
|
+
// restore focus on the editor so keyboard shortcuts aren't lost to the browser
|
|
54
|
+
if (view && !focusFloatingToolbar) {
|
|
55
|
+
view.focus();
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
function getCurrentUrl(state) {
|
|
59
|
+
var linkType = state.schema.marks.link;
|
|
60
|
+
var mediaLinkingState = getMediaLinkingState(state);
|
|
61
|
+
if (!mediaLinkingState || mediaLinkingState.mediaPos === null) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
var $pos = state.doc.resolve(mediaLinkingState.mediaPos);
|
|
65
|
+
var node = state.doc.nodeAt($pos.pos);
|
|
66
|
+
if (!node) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
var hasLink = linkType.isInSet(node.marks);
|
|
70
|
+
if (!hasLink) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
var link = node.marks.find(function (mark) {
|
|
74
|
+
return mark.type === linkType;
|
|
75
|
+
}); // Already check exist
|
|
76
|
+
var url = link.attrs.href;
|
|
77
|
+
return url;
|
|
78
|
+
}
|
|
79
|
+
function toggleLinkMark(tr, state, _ref) {
|
|
80
|
+
var _ref$forceRemove = _ref.forceRemove,
|
|
81
|
+
forceRemove = _ref$forceRemove === void 0 ? false : _ref$forceRemove,
|
|
82
|
+
url = _ref.url;
|
|
83
|
+
var mediaLinkingState = getMediaLinkingState(state);
|
|
84
|
+
if (!mediaLinkingState || mediaLinkingState.mediaPos === null) {
|
|
85
|
+
return tr;
|
|
86
|
+
}
|
|
87
|
+
var $pos = state.doc.resolve(mediaLinkingState.mediaPos);
|
|
88
|
+
var node = state.doc.nodeAt($pos.pos);
|
|
89
|
+
if (!node) {
|
|
90
|
+
return tr;
|
|
91
|
+
}
|
|
92
|
+
var linkMark = state.schema.marks.link;
|
|
93
|
+
var media = state.schema.nodes.media;
|
|
94
|
+
var toggleBlockLinkMark = createToggleBlockMarkOnRange(linkMark, function (prevAttrs, node) {
|
|
95
|
+
// Only add mark to media
|
|
96
|
+
if (!node || node.type !== media) {
|
|
97
|
+
return; //No op
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (forceRemove) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
var href = normalizeUrl(url);
|
|
104
|
+
if (prevAttrs && prevAttrs.href === href) {
|
|
105
|
+
return; //No op
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (href.trim() === '') {
|
|
109
|
+
return false; // remove
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return _objectSpread(_objectSpread({}, prevAttrs), {}, {
|
|
113
|
+
href: href
|
|
114
|
+
});
|
|
115
|
+
}, [media]);
|
|
116
|
+
toggleBlockLinkMark($pos.pos, $pos.pos + node.nodeSize, tr, state);
|
|
117
|
+
return tr;
|
|
118
|
+
}
|
|
119
|
+
var fireAnalyticForMediaLink = function fireAnalyticForMediaLink(tr, action) {
|
|
120
|
+
var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
121
|
+
var editorAnalyticsAPI = arguments.length > 3 ? arguments[3] : undefined;
|
|
122
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
123
|
+
action: action,
|
|
124
|
+
eventType: EVENT_TYPE.TRACK,
|
|
125
|
+
actionSubject: ACTION_SUBJECT.MEDIA,
|
|
126
|
+
actionSubjectId: ACTION_SUBJECT_ID.LINK,
|
|
127
|
+
attributes: attributes
|
|
128
|
+
})(tr);
|
|
129
|
+
return tr;
|
|
130
|
+
};
|
|
131
|
+
export var unlink = function unlink(editorAnalyticsAPI) {
|
|
132
|
+
return createMediaLinkingCommand({
|
|
133
|
+
type: MediaLinkingActionsTypes.unlink
|
|
134
|
+
}, function (tr, state) {
|
|
135
|
+
var transaction = toggleLinkMark(tr, state, {
|
|
136
|
+
forceRemove: true
|
|
137
|
+
});
|
|
138
|
+
return fireAnalyticForMediaLink(transaction, ACTION.DELETED, undefined, editorAnalyticsAPI);
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
var getAction = function getAction(newUrl, state) {
|
|
142
|
+
var currentUrl = getCurrentUrl(state);
|
|
143
|
+
if (!currentUrl) {
|
|
144
|
+
return ACTION.ADDED;
|
|
145
|
+
} else if (newUrl !== currentUrl) {
|
|
146
|
+
return ACTION.EDITED;
|
|
147
|
+
}
|
|
148
|
+
return undefined;
|
|
149
|
+
};
|
|
150
|
+
export var setUrlToMedia = function setUrlToMedia(url, inputMethod, editorAnalyticsAPI) {
|
|
151
|
+
return createMediaLinkingCommand({
|
|
152
|
+
type: MediaLinkingActionsTypes.setUrl,
|
|
153
|
+
payload: normalizeUrl(url)
|
|
154
|
+
}, function (tr, state) {
|
|
155
|
+
var action = getAction(url, state);
|
|
156
|
+
if (!action) {
|
|
157
|
+
return tr;
|
|
158
|
+
}
|
|
159
|
+
try {
|
|
160
|
+
var toggleLinkMarkResult = toggleLinkMark(tr, state, {
|
|
161
|
+
url: url
|
|
162
|
+
});
|
|
163
|
+
fireAnalyticForMediaLink(tr, action, action === ACTION.ADDED ? {
|
|
164
|
+
inputMethod: inputMethod
|
|
165
|
+
} : undefined, editorAnalyticsAPI);
|
|
166
|
+
return toggleLinkMarkResult;
|
|
167
|
+
} catch (e) {
|
|
168
|
+
fireAnalyticForMediaLink(tr, ACTION.ERRORED, {
|
|
169
|
+
action: action
|
|
170
|
+
}, editorAnalyticsAPI);
|
|
171
|
+
throw e;
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
};
|
package/dist/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export { mediaPlugin } from './plugin';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|