@atlaskit/editor-plugin-media
Version:
Media plugin for @atlaskit/editor-core
72 lines (69 loc) • 2.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.trackMediaPaste = exports.showMediaViewer = exports.setAIGenerating = exports.insertMediaAsMediaSingleCommand = exports.hideMediaViewer = exports.clearAIGenerating = void 0;
var _actions = require("../pm-plugins/actions");
var _aiGeneratingDecoration = require("../pm-plugins/ai-generating-decoration");
var _pluginKey = require("../pm-plugins/plugin-key");
var _mediaCommon = require("../pm-plugins/utils/media-common");
var _mediaSingle = require("./utils/media-single");
var showMediaViewer = exports.showMediaViewer = function showMediaViewer(media) {
return function (_ref) {
var tr = _ref.tr;
tr.setMeta(_pluginKey.stateKey, {
type: _actions.ACTIONS.SHOW_MEDIA_VIEWER,
mediaViewerSelectedMedia: media,
isMediaViewerVisible: true
});
return tr;
};
};
var hideMediaViewer = exports.hideMediaViewer = function hideMediaViewer(_ref2) {
var tr = _ref2.tr;
tr.setMeta(_pluginKey.stateKey, {
type: _actions.ACTIONS.HIDE_MEDIA_VIEWER,
mediaViewerSelectedMedia: null,
isMediaViewerVisible: false
});
return tr;
};
var trackMediaPaste = exports.trackMediaPaste = function trackMediaPaste(attrs) {
return function (_ref3) {
var tr = _ref3.tr;
var identifier = (0, _mediaCommon.getIdentifier)(attrs);
tr.setMeta(_pluginKey.stateKey, {
type: _actions.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.
*/
var setAIGenerating = exports.setAIGenerating = function setAIGenerating(mediaId) {
return function (_ref4) {
var tr = _ref4.tr;
return (0, _aiGeneratingDecoration.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.
*/
var clearAIGenerating = exports.clearAIGenerating = function clearAIGenerating(mediaId) {
return function (_ref5) {
var tr = _ref5.tr;
return (0, _aiGeneratingDecoration.clearAIGeneratingMeta)(tr, mediaId);
};
};
var insertMediaAsMediaSingleCommand = exports.insertMediaAsMediaSingleCommand = function insertMediaAsMediaSingleCommand(editorAnalyticsAPI, allowPixelResizing) {
return function (mediaAttrs, inputMethod, insertMediaVia) {
return (0, _mediaSingle.createInsertMediaAsMediaSingleCommand)(mediaAttrs, inputMethod, editorAnalyticsAPI, insertMediaVia, allowPixelResizing);
};
};