@atlaskit/editor-plugin-text-formatting
Version:
Text-formatting plugin for @atlaskit/editor-core
275 lines (274 loc) • 8.8 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.toggleUnderlineWithAnalytics = exports.toggleUnderline = exports.toggleSuperscriptWithAnalytics = exports.toggleSuperscript = exports.toggleSubscriptWithAnalytics = exports.toggleSubscript = exports.toggleStrongWithAnalytics = exports.toggleStrong = exports.toggleStrikeWithAnalytics = exports.toggleStrike = exports.toggleEmWithAnalytics = exports.toggleEm = exports.toggleCodeWithAnalytics = exports.toggleCode = void 0;
var _enums = require("@atlaskit/editor-common/analytics/types/enums");
var _commands = require("@atlaskit/editor-common/mark/commands");
var _fg = require("@atlaskit/platform-feature-flags/fg");
var _marks = require("./utils/marks");
/**
* Toggles a text style mark. Behind `platform_editor_style_around_inline_code` it uses the
* package's own toggle, which can remove a style from a selection that also contains text
* excluding it (such as inline code).
*/
var toggleStyleMark = function toggleStyleMark(markType, attrs) {
if ((0, _fg.fg)('platform_editor_style_around_inline_code')) {
return (0, _marks.nextToggleMark)(markType, undefined, attrs);
}
return (0, _commands.toggleMark)(markType, attrs);
};
var toggleEm = exports.toggleEm = function toggleEm(_ref) {
var tr = _ref.tr;
var em = tr.doc.type.schema.marks.em;
if (!em) {
// No transaction to apply
return null;
}
return toggleStyleMark(em)({
tr: tr
});
};
var toggleEmWithAnalytics = exports.toggleEmWithAnalytics = function toggleEmWithAnalytics(editorAnalyticsApi) {
return function (inputMethod) {
return function (_ref2) {
var tr = _ref2.tr;
var newTr = toggleEm({
tr: tr
});
if (!newTr) {
// No transaction to apply
return null;
}
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent({
action: _enums.ACTION.FORMATTED,
actionSubject: _enums.ACTION_SUBJECT.TEXT,
eventType: _enums.EVENT_TYPE.TRACK,
actionSubjectId: _enums.ACTION_SUBJECT_ID.FORMAT_ITALIC,
attributes: {
inputMethod: inputMethod
}
})(newTr);
return newTr;
};
};
};
var toggleStrike = exports.toggleStrike = function toggleStrike(_ref3) {
var tr = _ref3.tr;
var strike = tr.doc.type.schema.marks.strike;
if (!strike) {
// No transaction to apply
return null;
}
return toggleStyleMark(strike)({
tr: tr
});
};
var toggleStrikeWithAnalytics = exports.toggleStrikeWithAnalytics = function toggleStrikeWithAnalytics(editorAnalyticsApi) {
return function (inputMethod) {
return function (_ref4) {
var tr = _ref4.tr;
var newTr = toggleStrike({
tr: tr
});
if (!newTr) {
// No transaction to apply
return null;
}
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent({
action: _enums.ACTION.FORMATTED,
actionSubject: _enums.ACTION_SUBJECT.TEXT,
eventType: _enums.EVENT_TYPE.TRACK,
actionSubjectId: _enums.ACTION_SUBJECT_ID.FORMAT_STRIKE,
attributes: {
inputMethod: inputMethod
}
})(newTr);
return newTr;
};
};
};
var toggleStrong = exports.toggleStrong = function toggleStrong(_ref5) {
var tr = _ref5.tr;
var strong = tr.doc.type.schema.marks.strong;
if (!strong) {
// No transaction to apply
return null;
}
return toggleStyleMark(strong)({
tr: tr
});
};
var toggleStrongWithAnalytics = exports.toggleStrongWithAnalytics = function toggleStrongWithAnalytics(editorAnalyticsApi) {
return function (inputMethod) {
return function (_ref6) {
var tr = _ref6.tr;
var newTr = toggleStrong({
tr: tr
});
if (!newTr) {
// No transaction to apply
return null;
}
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent({
action: _enums.ACTION.FORMATTED,
actionSubject: _enums.ACTION_SUBJECT.TEXT,
eventType: _enums.EVENT_TYPE.TRACK,
actionSubjectId: _enums.ACTION_SUBJECT_ID.FORMAT_STRONG,
attributes: {
inputMethod: inputMethod
}
})(newTr);
return newTr;
};
};
};
var toggleUnderline = exports.toggleUnderline = function toggleUnderline(_ref7) {
var tr = _ref7.tr;
var underline = tr.doc.type.schema.marks.underline;
if (!underline) {
// No transaction to apply
return null;
}
return toggleStyleMark(underline)({
tr: tr
});
};
var toggleUnderlineWithAnalytics = exports.toggleUnderlineWithAnalytics = function toggleUnderlineWithAnalytics(editorAnalyticsApi) {
return function (inputMethod) {
return function (_ref8) {
var tr = _ref8.tr;
var newTr = toggleUnderline({
tr: tr
});
if (!newTr) {
// No transaction to apply
return null;
}
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent({
action: _enums.ACTION.FORMATTED,
actionSubject: _enums.ACTION_SUBJECT.TEXT,
eventType: _enums.EVENT_TYPE.TRACK,
actionSubjectId: _enums.ACTION_SUBJECT_ID.FORMAT_UNDERLINE,
attributes: {
inputMethod: inputMethod
}
})(newTr);
return newTr;
};
};
};
var toggleSuperscript = exports.toggleSuperscript = function toggleSuperscript(_ref9) {
var tr = _ref9.tr;
var subsup = tr.doc.type.schema.marks.subsup;
if (!subsup) {
// No transaction to apply
return null;
}
return toggleStyleMark(subsup, {
type: 'sup'
})({
tr: tr
});
};
var toggleSuperscriptWithAnalytics = exports.toggleSuperscriptWithAnalytics = function toggleSuperscriptWithAnalytics(editorAnalyticsApi) {
return function (inputMethod) {
return function (_ref0) {
var tr = _ref0.tr;
var newTr = toggleSuperscript({
tr: tr
});
if (!newTr) {
// No transaction to apply
return null;
}
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent({
action: _enums.ACTION.FORMATTED,
actionSubject: _enums.ACTION_SUBJECT.TEXT,
eventType: _enums.EVENT_TYPE.TRACK,
actionSubjectId: _enums.ACTION_SUBJECT_ID.FORMAT_SUPER,
attributes: {
inputMethod: inputMethod
}
})(newTr);
return newTr;
};
};
};
var toggleSubscript = exports.toggleSubscript = function toggleSubscript(_ref1) {
var tr = _ref1.tr;
var subsup = tr.doc.type.schema.marks.subsup;
if (!subsup) {
// No transaction to apply
return null;
}
return toggleStyleMark(subsup, {
type: 'sub'
})({
tr: tr
});
};
var toggleSubscriptWithAnalytics = exports.toggleSubscriptWithAnalytics = function toggleSubscriptWithAnalytics(editorAnalyticsApi) {
return function (inputMethod) {
return function (_ref10) {
var tr = _ref10.tr;
var newTr = toggleSubscript({
tr: tr
});
if (!newTr) {
// No transaction to apply
return null;
}
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent({
action: _enums.ACTION.FORMATTED,
actionSubject: _enums.ACTION_SUBJECT.TEXT,
eventType: _enums.EVENT_TYPE.TRACK,
actionSubjectId: _enums.ACTION_SUBJECT_ID.FORMAT_SUB,
attributes: {
inputMethod: inputMethod
}
})(newTr);
return newTr;
};
};
};
var toggleCode = exports.toggleCode = function toggleCode(_ref11) {
var api = _ref11.api;
return function (_ref12) {
var tr = _ref12.tr;
var code = tr.doc.type.schema.marks.code;
if (!code) {
// No transaction to apply
return null;
}
return (0, _marks.nextToggleMark)(code, api)({
tr: tr
});
};
};
var toggleCodeWithAnalytics = exports.toggleCodeWithAnalytics = function toggleCodeWithAnalytics(editorAnalyticsApi, api) {
return function (inputMethod) {
return function (_ref13) {
var tr = _ref13.tr;
var newTr = toggleCode({
api: api
})({
tr: tr
});
if (!newTr) {
// No transaction to apply
return null;
}
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent({
action: _enums.ACTION.FORMATTED,
actionSubject: _enums.ACTION_SUBJECT.TEXT,
eventType: _enums.EVENT_TYPE.TRACK,
actionSubjectId: _enums.ACTION_SUBJECT_ID.FORMAT_CODE,
attributes: {
inputMethod: inputMethod
}
})(newTr);
return newTr;
};
};
};