@atlaskit/editor-plugin-table
Version:
Table plugin for the @atlaskit/editor
565 lines (564 loc) • 28.4 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.wrapTableInExpandWithAnalytics = exports.toggleNumberColumnWithAnalytics = exports.toggleHeaderRowWithAnalytics = exports.toggleHeaderColumnWithAnalytics = exports.toggleFixedColumnWidthsOptionAnalytics = exports.splitCellWithAnalytics = exports.sortColumnWithAnalytics = exports.setTableAlignmentWithTableContentWithPosWithAnalytics = exports.setTableAlignmentWithAnalytics = exports.setColorWithAnalytics = exports.mergeCellsWithAnalytics = exports.insertRowWithAnalytics = exports.insertColumnWithAnalytics = exports.emptyMultipleCellsWithAnalytics = exports.distributeColumnsWidthsWithAnalytics = exports.deleteTableWithAnalytics = exports.deleteTableIfSelectedWithAnalytics = exports.deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = exports.deleteRowsWithAnalytics = exports.deleteColumnsWithAnalytics = exports.changeColumnWidthByStepWithAnalytics = exports.addRowAroundSelection = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _adfSchema = require("@atlaskit/adf-schema");
var _analytics = require("@atlaskit/editor-common/analytics");
var _preset = require("@atlaskit/editor-common/preset");
var _cellSelection = require("@atlaskit/editor-tables/cell-selection");
var _tableMap = require("@atlaskit/editor-tables/table-map");
var _utils = require("@atlaskit/editor-tables/utils");
var _pluginFactory = require("../plugin-factory");
var _commands = require("../table-resizing/commands");
var _deleteRows = require("../transforms/delete-rows");
var _merge = require("../transforms/merge");
var _analytics2 = require("../utils/analytics");
var _nodes = require("../utils/nodes");
var _clear = require("./clear");
var _collapse = require("./collapse");
var _columnResize = require("./column-resize");
var _delete = require("./delete");
var _displayMode = require("./display-mode");
var _insert = require("./insert");
var _misc = require("./misc");
var _sort = require("./sort");
var _splitCell = require("./split-cell");
var _toggle = require("./toggle");
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; }
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) { (0, _defineProperty2.default)(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; }
// #region Analytics wrappers
var emptyMultipleCellsWithAnalytics = exports.emptyMultipleCellsWithAnalytics = function emptyMultipleCellsWithAnalytics(editorAnalyticsAPI) {
return function (inputMethod, targetCellPosition) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (_ref) {
var selection = _ref.selection;
var _getSelectedCellInfo = (0, _analytics2.getSelectedCellInfo)(selection),
horizontalCells = _getSelectedCellInfo.horizontalCells,
verticalCells = _getSelectedCellInfo.verticalCells,
totalRowCount = _getSelectedCellInfo.totalRowCount,
totalColumnCount = _getSelectedCellInfo.totalColumnCount;
return {
action: _analytics.TABLE_ACTION.CLEARED,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
attributes: {
inputMethod: inputMethod,
horizontalCells: horizontalCells,
verticalCells: verticalCells,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)((0, _clear.clearMultipleCells)(targetCellPosition));
};
};
var mergeCellsWithAnalytics = exports.mergeCellsWithAnalytics = function mergeCellsWithAnalytics(editorAnalyticsAPI) {
return function (inputMethod) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (_ref2) {
var selection = _ref2.selection;
var _getSelectedCellInfo2 = (0, _analytics2.getSelectedCellInfo)(selection),
horizontalCells = _getSelectedCellInfo2.horizontalCells,
verticalCells = _getSelectedCellInfo2.verticalCells,
totalCells = _getSelectedCellInfo2.totalCells,
totalRowCount = _getSelectedCellInfo2.totalRowCount,
totalColumnCount = _getSelectedCellInfo2.totalColumnCount;
return {
action: _analytics.TABLE_ACTION.MERGED,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
attributes: {
inputMethod: inputMethod,
horizontalCells: horizontalCells,
verticalCells: verticalCells,
totalCells: totalCells,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)(function (state, dispatch) {
if (dispatch) {
dispatch((0, _merge.mergeCells)(state.tr));
}
return true;
});
};
};
var splitCellWithAnalytics = exports.splitCellWithAnalytics = function splitCellWithAnalytics(editorAnalyticsAPI) {
return function (inputMethod) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (_ref3) {
var selection = _ref3.selection;
var _getSelectedCellInfo3 = (0, _analytics2.getSelectedCellInfo)(selection),
totalRowCount = _getSelectedCellInfo3.totalRowCount,
totalColumnCount = _getSelectedCellInfo3.totalColumnCount;
var cell = (0, _utils.findCellClosestToPos)(selection.$anchor);
if (cell) {
var _cell$node$attrs = cell.node.attrs,
verticalCells = _cell$node$attrs.rowspan,
horizontalCells = _cell$node$attrs.colspan;
return {
action: _analytics.TABLE_ACTION.SPLIT,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
attributes: {
inputMethod: inputMethod,
horizontalCells: horizontalCells,
verticalCells: verticalCells,
totalCells: horizontalCells * verticalCells,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
}
return;
})(editorAnalyticsAPI)(_splitCell.splitCell);
};
};
var setColorWithAnalytics = exports.setColorWithAnalytics = function setColorWithAnalytics(editorAnalyticsAPI) {
return function (inputMethod, cellColor, editorView) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (_ref4) {
var selection = _ref4.selection;
var _getSelectedCellInfo4 = (0, _analytics2.getSelectedCellInfo)(selection),
horizontalCells = _getSelectedCellInfo4.horizontalCells,
verticalCells = _getSelectedCellInfo4.verticalCells,
totalCells = _getSelectedCellInfo4.totalCells,
totalRowCount = _getSelectedCellInfo4.totalRowCount,
totalColumnCount = _getSelectedCellInfo4.totalColumnCount;
return {
action: _analytics.TABLE_ACTION.COLORED,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
attributes: {
inputMethod: inputMethod,
cellColor: (_adfSchema.tableBackgroundColorPalette.get(cellColor.toLowerCase()) || cellColor).toLowerCase(),
horizontalCells: horizontalCells,
verticalCells: verticalCells,
totalCells: totalCells,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)((0, _misc.setMultipleCellAttrs)({
background: cellColor
}, editorView));
};
};
var addRowAroundSelection = exports.addRowAroundSelection = function addRowAroundSelection(editorAnalyticsAPI) {
return function (side) {
return function (state, dispatch) {
var selection = state.selection;
var isCellSelection = selection instanceof _cellSelection.CellSelection;
var rect = isCellSelection ? (0, _utils.getSelectionRect)(selection) : (0, _utils.findCellRectClosestToPos)(selection.$from);
if (!rect) {
return false;
}
var position = isCellSelection && side === 'TOP' ? rect.top : rect.bottom - 1;
var offset = side === 'BOTTOM' ? 1 : 0;
return insertRowWithAnalytics(editorAnalyticsAPI)(_analytics.INPUT_METHOD.SHORTCUT, {
index: position + offset,
moveCursorToInsertedRow: false
})(state, dispatch);
};
};
};
var insertRowWithAnalytics = exports.insertRowWithAnalytics = function insertRowWithAnalytics(editorAnalyticsAPI) {
return function (inputMethod, options) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
var _getSelectedTableInfo = (0, _analytics2.getSelectedTableInfo)(state.selection),
totalRowCount = _getSelectedTableInfo.totalRowCount,
totalColumnCount = _getSelectedTableInfo.totalColumnCount;
return {
action: _analytics.TABLE_ACTION.ADDED_ROW,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
attributes: {
inputMethod: inputMethod,
position: options.index,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)((0, _insert.insertRow)(options.index, options.moveCursorToInsertedRow));
};
};
var changeColumnWidthByStepWithAnalytics = exports.changeColumnWidthByStepWithAnalytics = function changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI, api) {
return function (stepSize, getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, isCommentEditor, inputMethod, ariaNotify, getIntl) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
var _getSelectedTableInfo2 = (0, _analytics2.getSelectedTableInfo)(state.selection),
table = _getSelectedTableInfo2.table,
totalRowCount = _getSelectedTableInfo2.totalRowCount,
totalColumnCount = _getSelectedTableInfo2.totalColumnCount;
var _getPluginState = (0, _pluginFactory.getPluginState)(state),
colIndex = _getPluginState.hoveredCell.colIndex;
return {
action: _analytics.TABLE_ACTION.COLUMN_RESIZED,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
eventType: _analytics.EVENT_TYPE.TRACK,
attributes: {
colIndex: colIndex,
resizedDelta: stepSize,
isLastColumn: colIndex === totalColumnCount - 1,
tableWidth: table === null || table === void 0 ? void 0 : table.node.attrs.width,
inputMethod: inputMethod,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
}
};
})(editorAnalyticsAPI)((0, _columnResize.changeColumnWidthByStep)({
stepSize: stepSize,
getEditorContainerWidth: getEditorContainerWidth,
isTableScalingEnabled: isTableScalingEnabled,
isTableFixedColumnWidthsOptionEnabled: isTableFixedColumnWidthsOptionEnabled,
isCommentEditor: isCommentEditor,
ariaNotify: ariaNotify,
getIntl: getIntl,
api: api
}));
};
};
var insertColumnWithAnalytics = exports.insertColumnWithAnalytics = function insertColumnWithAnalytics(api, editorAnalyticsAPI) {
var isTableScalingEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var isTableFixedColumnWidthsOptionEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
var shouldUseIncreasedScalingPercent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
var isCommentEditor = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
return function (inputMethod, position) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
var _getSelectedTableInfo3 = (0, _analytics2.getSelectedTableInfo)(state.selection),
totalRowCount = _getSelectedTableInfo3.totalRowCount,
totalColumnCount = _getSelectedTableInfo3.totalColumnCount;
return {
action: _analytics.TABLE_ACTION.ADDED_COLUMN,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
attributes: {
inputMethod: inputMethod,
position: position,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)((0, _insert.insertColumn)(api, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent, isCommentEditor)(position));
};
};
var deleteRowsWithAnalytics = exports.deleteRowsWithAnalytics = function deleteRowsWithAnalytics(editorAnalyticsAPI) {
return function (inputMethod, rect, isHeaderRowRequired) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (_ref5) {
var selection = _ref5.selection;
var _getSelectedTableInfo4 = (0, _analytics2.getSelectedTableInfo)(selection),
totalRowCount = _getSelectedTableInfo4.totalRowCount,
totalColumnCount = _getSelectedTableInfo4.totalColumnCount;
return {
action: _analytics.TABLE_ACTION.DELETED_ROW,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
attributes: {
inputMethod: inputMethod,
position: rect.top,
count: rect.bottom - rect.top,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)(function (state, dispatch) {
if (dispatch) {
dispatch((0, _deleteRows.deleteRows)(rect, isHeaderRowRequired)(state.tr));
}
return true;
});
};
};
var deleteColumnsWithAnalytics = exports.deleteColumnsWithAnalytics = function deleteColumnsWithAnalytics(editorAnalyticsAPI, api) {
var isTableScalingEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var isTableFixedColumnWidthsOptionEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
var shouldUseIncreasedScalingPercent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
var isCommentEditor = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
return function (inputMethod, rect) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (_ref6) {
var selection = _ref6.selection;
var _getSelectedTableInfo5 = (0, _analytics2.getSelectedTableInfo)(selection),
totalRowCount = _getSelectedTableInfo5.totalRowCount,
totalColumnCount = _getSelectedTableInfo5.totalColumnCount;
return {
action: _analytics.TABLE_ACTION.DELETED_COLUMN,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
attributes: {
inputMethod: inputMethod,
position: rect.left,
count: rect.right - rect.left,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)((0, _delete.deleteColumnsCommand)(rect, api, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent, isCommentEditor));
};
};
var deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = exports.deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = function deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI, api, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent) {
return function (state, dispatch) {
var selection = state.selection;
var isCellSelection = selection instanceof _cellSelection.CellSelection;
if (!isCellSelection) {
return false;
}
var rect = (0, _utils.getSelectionRect)(selection);
if (!rect) {
return false;
}
var selectionType = (0, _misc.getTableSelectionType)(selection);
if (selectionType === 'row') {
var _getPluginState2 = (0, _pluginFactory.getPluginState)(state),
pluginConfig = _getPluginState2.pluginConfig;
var isHeaderRowRequired = pluginConfig.isHeaderRowRequired || false;
return deleteRowsWithAnalytics(editorAnalyticsAPI)(_analytics.INPUT_METHOD.SHORTCUT, rect, isHeaderRowRequired)(state, dispatch);
} else if (selectionType === 'column') {
return deleteColumnsWithAnalytics(editorAnalyticsAPI, api, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.SHORTCUT, rect)(state, dispatch);
} else {
return false;
}
};
};
var getTableDeletedAnalytics = function getTableDeletedAnalytics(selection, inputMethod) {
var _getSelectedTableInfo6 = (0, _analytics2.getSelectedTableInfo)(selection),
totalRowCount = _getSelectedTableInfo6.totalRowCount,
totalColumnCount = _getSelectedTableInfo6.totalColumnCount;
return {
action: _analytics.TABLE_ACTION.DELETED,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
attributes: {
inputMethod: inputMethod,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
};
var deleteTableWithAnalytics = exports.deleteTableWithAnalytics = function deleteTableWithAnalytics(editorAnalyticsAPI) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (_ref7) {
var selection = _ref7.selection;
return getTableDeletedAnalytics(selection, _analytics.INPUT_METHOD.FLOATING_TB);
})(editorAnalyticsAPI)(_misc.deleteTable);
};
var deleteTableIfSelectedWithAnalytics = exports.deleteTableIfSelectedWithAnalytics = function deleteTableIfSelectedWithAnalytics(editorAnalyticsAPI) {
return function (inputMethod) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (_ref8) {
var selection = _ref8.selection;
return getTableDeletedAnalytics(selection, inputMethod);
})(editorAnalyticsAPI)(_misc.deleteTableIfSelected);
};
};
var toggleHeaderRowWithAnalytics = exports.toggleHeaderRowWithAnalytics = function toggleHeaderRowWithAnalytics(editorAnalyticsAPI) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
var _getSelectedTableInfo7 = (0, _analytics2.getSelectedTableInfo)(state.selection),
totalRowCount = _getSelectedTableInfo7.totalRowCount,
totalColumnCount = _getSelectedTableInfo7.totalColumnCount;
var _getPluginState3 = (0, _pluginFactory.getPluginState)(state),
isHeaderRowEnabled = _getPluginState3.isHeaderRowEnabled;
return {
action: _analytics.TABLE_ACTION.TOGGLED_HEADER_ROW,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
attributes: {
newState: !isHeaderRowEnabled,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)(_toggle.toggleHeaderRow);
};
var toggleHeaderColumnWithAnalytics = exports.toggleHeaderColumnWithAnalytics = function toggleHeaderColumnWithAnalytics(editorAnalyticsAPI) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
var _getSelectedTableInfo8 = (0, _analytics2.getSelectedTableInfo)(state.selection),
totalRowCount = _getSelectedTableInfo8.totalRowCount,
totalColumnCount = _getSelectedTableInfo8.totalColumnCount;
var _getPluginState4 = (0, _pluginFactory.getPluginState)(state),
isHeaderColumnEnabled = _getPluginState4.isHeaderColumnEnabled;
return {
action: _analytics.TABLE_ACTION.TOGGLED_HEADER_COLUMN,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
attributes: {
newState: !isHeaderColumnEnabled,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)(_toggle.toggleHeaderColumn);
};
var toggleNumberColumnWithAnalytics = exports.toggleNumberColumnWithAnalytics = function toggleNumberColumnWithAnalytics(editorAnalyticsAPI) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
var _getSelectedTableInfo9 = (0, _analytics2.getSelectedTableInfo)(state.selection),
totalRowCount = _getSelectedTableInfo9.totalRowCount,
totalColumnCount = _getSelectedTableInfo9.totalColumnCount;
return {
action: _analytics.TABLE_ACTION.TOGGLED_NUMBER_COLUMN,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
attributes: {
newState: !(0, _nodes.checkIfNumberColumnEnabled)(state.selection),
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)(_toggle.toggleNumberColumn);
};
var sortColumnWithAnalytics = exports.sortColumnWithAnalytics = function sortColumnWithAnalytics(editorAnalyticsAPI) {
return function (inputMethod, columnIndex, sortOrder) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
var _getSelectedTableInfo0 = (0, _analytics2.getSelectedTableInfo)(state.selection),
totalRowCount = _getSelectedTableInfo0.totalRowCount,
totalColumnCount = _getSelectedTableInfo0.totalColumnCount;
return {
action: _analytics.TABLE_ACTION.SORTED_COLUMN,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
attributes: {
inputMethod: inputMethod,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount,
position: columnIndex,
sortOrder: sortOrder,
mode: 'editor'
},
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)((0, _sort.sortByColumn)(columnIndex, sortOrder));
};
};
var distributeColumnsWidthsWithAnalytics = exports.distributeColumnsWidthsWithAnalytics = function distributeColumnsWidthsWithAnalytics(editorAnalyticsAPI, api) {
return function (inputMethod, _ref9) {
var resizeState = _ref9.resizeState,
table = _ref9.table,
attributes = _ref9.attributes;
return (0, _analytics2.withEditorAnalyticsAPI)(function () {
return {
action: _analytics.TABLE_ACTION.DISTRIBUTED_COLUMNS_WIDTHS,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
attributes: _objectSpread({
inputMethod: inputMethod
}, attributes),
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)(function (state, dispatch) {
if (dispatch) {
(0, _commands.distributeColumnsWidths)(resizeState, table, api)(state, dispatch);
}
return true;
});
};
};
var wrapTableInExpandWithAnalytics = exports.wrapTableInExpandWithAnalytics = function wrapTableInExpandWithAnalytics(editorAnalyticsAPI) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
var _getSelectedTableInfo1 = (0, _analytics2.getSelectedTableInfo)(state.selection),
totalRowCount = _getSelectedTableInfo1.totalRowCount,
totalColumnCount = _getSelectedTableInfo1.totalColumnCount;
return {
action: _analytics.TABLE_ACTION.COLLAPSED,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
attributes: {
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)(_collapse.wrapTableInExpand);
};
var toggleFixedColumnWidthsOptionAnalytics = exports.toggleFixedColumnWidthsOptionAnalytics = function toggleFixedColumnWidthsOptionAnalytics(editorAnalyticsAPI, inputMethod) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
var _getSelectedTableInfo10 = (0, _analytics2.getSelectedTableInfo)(state.selection),
table = _getSelectedTableInfo10.table,
totalRowCount = _getSelectedTableInfo10.totalRowCount,
totalColumnCount = _getSelectedTableInfo10.totalColumnCount;
var previousDisplayMode;
var newDisplayMode;
switch (table === null || table === void 0 ? void 0 : table.node.attrs.displayMode) {
case 'fixed':
previousDisplayMode = _analytics.TABLE_DISPLAY_MODE.FIXED;
newDisplayMode = _analytics.TABLE_DISPLAY_MODE.DEFAULT;
break;
case 'default':
previousDisplayMode = _analytics.TABLE_DISPLAY_MODE.DEFAULT;
newDisplayMode = _analytics.TABLE_DISPLAY_MODE.FIXED;
break;
case null:
default:
previousDisplayMode = _analytics.TABLE_DISPLAY_MODE.INITIAL;
newDisplayMode = _analytics.TABLE_DISPLAY_MODE.FIXED;
}
return {
action: _analytics.TABLE_ACTION.CHANGED_DISPLAY_MODE,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
attributes: {
inputMethod: inputMethod,
previousDisplayMode: previousDisplayMode,
newDisplayMode: newDisplayMode,
tableWidth: table === null || table === void 0 ? void 0 : table.node.attrs.width,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount
},
eventType: _analytics.EVENT_TYPE.TRACK
};
})(editorAnalyticsAPI)((0, _preset.editorCommandToPMCommand)(_displayMode.setTableDisplayMode));
};
var setTableAlignmentWithAnalytics = exports.setTableAlignmentWithAnalytics = function setTableAlignmentWithAnalytics(editorAnalyticsAPI, isCommentEditor) {
return function (newAlignment, previousAlignment, inputMethod, reason) {
return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
var _getSelectedTableInfo11 = (0, _analytics2.getSelectedTableInfo)(state.selection),
table = _getSelectedTableInfo11.table,
totalRowCount = _getSelectedTableInfo11.totalRowCount,
totalColumnCount = _getSelectedTableInfo11.totalColumnCount;
return {
action: _analytics.TABLE_ACTION.CHANGED_ALIGNMENT,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
eventType: _analytics.EVENT_TYPE.TRACK,
attributes: {
tableWidth: table === null || table === void 0 ? void 0 : table.node.attrs.width,
newAlignment: newAlignment,
previousAlignment: previousAlignment === 'center' || previousAlignment === 'align-start' ? previousAlignment : null,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount,
inputMethod: inputMethod,
reason: reason
}
};
})(editorAnalyticsAPI)((0, _preset.editorCommandToPMCommand)((0, _misc.setTableAlignment)(newAlignment, isCommentEditor)));
};
};
var setTableAlignmentWithTableContentWithPosWithAnalytics = exports.setTableAlignmentWithTableContentWithPosWithAnalytics = function setTableAlignmentWithTableContentWithPosWithAnalytics(editorAnalyticsAPI) {
return function (newAlignment, previousAlignment, tableNodeWithPos, inputMethod, reason) {
return (0, _analytics2.withEditorAnalyticsAPI)(function () {
var map = _tableMap.TableMap.get(tableNodeWithPos.node);
var totalRowCount = map.height;
var totalColumnCount = map.width;
var attributes = {
tableWidth: tableNodeWithPos.node.attrs.width,
newAlignment: newAlignment,
previousAlignment: previousAlignment,
totalRowCount: totalRowCount,
totalColumnCount: totalColumnCount,
inputMethod: inputMethod,
reason: reason
};
return {
action: _analytics.TABLE_ACTION.CHANGED_ALIGNMENT,
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
actionSubjectId: null,
eventType: _analytics.EVENT_TYPE.TRACK,
attributes: attributes
};
})(editorAnalyticsAPI)((0, _preset.editorCommandToPMCommand)((0, _misc.setTableAlignmentWithTableContentWithPos)(newAlignment, tableNodeWithPos)));
};
};