@atlaskit/editor-plugin-media
Version:
Media plugin for @atlaskit/editor-core
66 lines (64 loc) • 2.25 kB
JavaScript
import { ACTIONS } from '../pm-plugins/actions';
import { setAIGeneratingMeta, clearAIGeneratingMeta } from '../pm-plugins/ai-generating-decoration';
import { stateKey } from '../pm-plugins/plugin-key';
import { getIdentifier } from '../pm-plugins/utils/media-common';
import { createInsertMediaAsMediaSingleCommand } from './utils/media-single';
export var showMediaViewer = function showMediaViewer(media) {
return function (_ref) {
var tr = _ref.tr;
tr.setMeta(stateKey, {
type: ACTIONS.SHOW_MEDIA_VIEWER,
mediaViewerSelectedMedia: media,
isMediaViewerVisible: true
});
return tr;
};
};
export var hideMediaViewer = function hideMediaViewer(_ref2) {
var tr = _ref2.tr;
tr.setMeta(stateKey, {
type: ACTIONS.HIDE_MEDIA_VIEWER,
mediaViewerSelectedMedia: null,
isMediaViewerVisible: false
});
return tr;
};
export var trackMediaPaste = function trackMediaPaste(attrs) {
return function (_ref3) {
var tr = _ref3.tr;
var identifier = getIdentifier(attrs);
tr.setMeta(stateKey, {
type: ACTIONS.TRACK_MEDIA_PASTE,
identifier: identifier
});
return tr;
};
};
/**
* Sets the AI-generating decoration on a media node identified by `mediaId`.
* The decoration triggers the AI border visual on the media's NodeView.
*
* Decorations live in the view layer only and never affect the document model
* or undo/redo history.
*/
export var setAIGenerating = function setAIGenerating(mediaId) {
return function (_ref4) {
var tr = _ref4.tr;
return setAIGeneratingMeta(tr, mediaId);
};
};
/**
* Clears the AI-generating decoration for a specific media node identified by
* `mediaId`. Removes the AI border visual from that media's NodeView.
*/
export var clearAIGenerating = function clearAIGenerating(mediaId) {
return function (_ref5) {
var tr = _ref5.tr;
return clearAIGeneratingMeta(tr, mediaId);
};
};
export var insertMediaAsMediaSingleCommand = function insertMediaAsMediaSingleCommand(editorAnalyticsAPI, allowPixelResizing) {
return function (mediaAttrs, inputMethod, insertMediaVia) {
return createInsertMediaAsMediaSingleCommand(mediaAttrs, inputMethod, editorAnalyticsAPI, insertMediaVia, allowPixelResizing);
};
};