@atlaskit/editor-core 172.1.2 → 172.2.0
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 +24 -0
- package/dist/cjs/analytics-api/api.js +38 -0
- package/dist/cjs/analytics-api/attach-payload-into-transaction.js +36 -0
- package/dist/cjs/analytics-api/editor-state-context.js +96 -0
- package/dist/cjs/analytics-api/map-attributes.js +30 -0
- package/dist/cjs/create-editor/ReactEditorView.js +47 -6
- package/dist/cjs/create-editor/ReactEditorViewContext.js +2 -6
- package/dist/cjs/create-editor/create-plugins-list.js +12 -3
- package/dist/cjs/event-dispatcher/index.js +12 -81
- package/dist/cjs/insert-api/api.js +48 -0
- package/dist/cjs/insert-api/insert-content-handlers.js +101 -0
- package/dist/cjs/insert-api/insert-node-helpers.js +157 -0
- package/dist/cjs/{plugins/analytics/types/avatar.js → insert-api/types.js} +0 -0
- package/dist/cjs/keymaps/index.js +437 -288
- package/dist/cjs/messages.js +8 -125
- package/dist/cjs/plugins/analytics/index.js +26 -26
- package/dist/cjs/plugins/analytics/types/enums.js +49 -344
- package/dist/cjs/plugins/analytics/types/extension-events.js +19 -26
- package/dist/cjs/plugins/analytics/types/general-events.js +25 -34
- package/dist/cjs/plugins/analytics/types/index.js +10 -56
- package/dist/cjs/plugins/analytics/types/inline-comment-events.js +7 -8
- package/dist/cjs/plugins/analytics/types/node-events.js +13 -20
- package/dist/cjs/plugins/analytics/types/smart-links.js +8 -14
- package/dist/cjs/plugins/analytics/types/toolbar-button.js +7 -20
- package/dist/cjs/plugins/analytics/utils.js +37 -127
- package/dist/cjs/plugins/expand/utils.js +18 -45
- package/dist/cjs/plugins/extension/actions.js +10 -30
- package/dist/cjs/plugins/extension/ui/Extension/styles.js +18 -8
- package/dist/cjs/plugins/insert-block/index.js +1 -0
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +31 -22
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +6 -170
- package/dist/cjs/plugins/layout/styles.js +14 -6
- package/dist/cjs/plugins/layout/utils.js +25 -66
- package/dist/cjs/plugins/paste/handlers.js +19 -15
- package/dist/cjs/plugins/paste/util/index.js +30 -1
- package/dist/cjs/plugins/selection/gap-cursor/selection.js +23 -188
- package/dist/cjs/plugins/selection/gap-cursor/utils/is-ignored.js +7 -8
- package/dist/cjs/plugins/selection/gap-cursor/utils/is-valid-target-node.js +7 -8
- package/dist/cjs/plugins/selection/gap-cursor/utils.js +6 -6
- package/dist/cjs/plugins/selection/gap-cursor-selection.js +1 -1
- package/dist/cjs/plugins/selection/types.js +9 -11
- package/dist/cjs/plugins/selection/utils.js +2 -2
- package/dist/cjs/plugins/table/commands/go-to-next-cell.js +40 -38
- package/dist/cjs/plugins/table/commands/insert.js +57 -49
- package/dist/cjs/plugins/table/commands/selection.js +302 -218
- package/dist/cjs/plugins/table/commands-with-analytics.js +241 -219
- package/dist/cjs/plugins/table/event-handlers.js +60 -60
- package/dist/cjs/plugins/table/index.js +64 -20
- package/dist/cjs/plugins/table/nodeviews/TableComponent.js +20 -22
- package/dist/cjs/plugins/table/nodeviews/table.js +19 -11
- package/dist/cjs/plugins/table/nodeviews/tableCell.js +11 -13
- package/dist/cjs/plugins/table/nodeviews/update-overflow-shadows.js +25 -25
- package/dist/cjs/plugins/table/pm-plugins/keymap.js +15 -13
- package/dist/cjs/plugins/table/pm-plugins/main.js +8 -8
- package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -8
- package/dist/cjs/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -1
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -10
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/dom.js +30 -28
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -7
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
- package/dist/cjs/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
- package/dist/cjs/plugins/table/toolbar.js +74 -72
- package/dist/cjs/plugins/table/transforms/column-width.js +41 -38
- package/dist/cjs/plugins/table/transforms/replace-table.js +4 -4
- package/dist/cjs/plugins/table/ui/FloatingContextualButton/index.js +2 -4
- package/dist/cjs/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +25 -21
- package/dist/cjs/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
- package/dist/cjs/plugins/table/ui/FloatingDeleteButton/index.js +7 -4
- package/dist/cjs/plugins/table/ui/FloatingInsertButton/index.js +12 -11
- package/dist/cjs/plugins/table/ui/LayoutButton/index.js +2 -2
- package/dist/cjs/plugins/table/ui/TableFloatingControls/index.js +4 -6
- package/dist/cjs/plugins/table/ui/common-styles.js +3 -3
- package/dist/cjs/plugins/table/utils/analytics.js +26 -1
- package/dist/cjs/plugins/table/utils/index.js +0 -6
- package/dist/cjs/selection-api/api.js +34 -0
- package/dist/cjs/types/browser.js +1 -2
- package/dist/cjs/ui/ColorPalette/Color/index.js +2 -106
- package/dist/cjs/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +2 -21
- package/dist/cjs/ui/ColorPalette/Palettes/common.js +7 -25
- package/dist/cjs/ui/ColorPalette/Palettes/paletteMessages.js +2 -114
- package/dist/cjs/ui/ColorPalette/Palettes/panelBackgroundPalette.js +12 -152
- package/dist/cjs/ui/ColorPalette/Palettes/statusColorPalette.js +13 -61
- package/dist/cjs/ui/ColorPalette/Palettes/textColorPalette.js +12 -34
- package/dist/cjs/ui/ColorPalette/index.js +2 -76
- package/dist/cjs/ui/Dropdown/index.js +3 -119
- package/dist/cjs/ui/DropdownMenu/index.js +3 -286
- package/dist/cjs/ui/Toolbar/types.js +19 -33
- package/dist/cjs/ui/ToolbarButton/index.js +8 -120
- package/dist/cjs/ui/WithPluginState/index.js +1 -3
- package/dist/cjs/ui/styles.js +35 -27
- package/dist/cjs/ui/with-outer-listeners.js +4 -152
- package/dist/cjs/utils/dom.js +46 -123
- package/dist/cjs/utils/index.js +40 -42
- package/dist/cjs/utils/node-width.js +7 -79
- package/dist/cjs/utils/nodes.js +57 -124
- package/dist/cjs/utils/plugin-state-factory.js +7 -107
- package/dist/cjs/utils/selection.js +11 -62
- package/dist/cjs/utils/slice.js +28 -68
- package/dist/cjs/utils/step.js +18 -46
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/analytics-api/api.js +30 -0
- package/dist/es2019/analytics-api/attach-payload-into-transaction.js +25 -0
- package/dist/es2019/analytics-api/editor-state-context.js +85 -0
- package/dist/es2019/analytics-api/map-attributes.js +14 -0
- package/dist/es2019/create-editor/ReactEditorView.js +33 -4
- package/dist/es2019/create-editor/ReactEditorViewContext.js +1 -2
- package/dist/es2019/create-editor/create-plugins-list.js +13 -4
- package/dist/es2019/event-dispatcher/index.js +1 -60
- package/dist/es2019/insert-api/api.js +43 -0
- package/dist/es2019/insert-api/insert-content-handlers.js +85 -0
- package/dist/es2019/insert-api/insert-node-helpers.js +149 -0
- package/dist/es2019/{plugins/analytics/types/avatar.js → insert-api/types.js} +0 -0
- package/dist/es2019/keymaps/index.js +1 -186
- package/dist/es2019/messages.js +2 -123
- package/dist/es2019/plugins/analytics/index.js +1 -1
- package/dist/es2019/plugins/analytics/types/enums.js +1 -336
- package/dist/es2019/plugins/analytics/types/extension-events.js +1 -22
- package/dist/es2019/plugins/analytics/types/general-events.js +1 -30
- package/dist/es2019/plugins/analytics/types/index.js +1 -6
- package/dist/es2019/plugins/analytics/types/inline-comment-events.js +1 -7
- package/dist/es2019/plugins/analytics/types/node-events.js +1 -18
- package/dist/es2019/plugins/analytics/types/smart-links.js +1 -12
- package/dist/es2019/plugins/analytics/types/toolbar-button.js +1 -19
- package/dist/es2019/plugins/analytics/utils.js +12 -113
- package/dist/es2019/plugins/expand/utils.js +1 -36
- package/dist/es2019/plugins/extension/actions.js +1 -26
- package/dist/es2019/plugins/extension/ui/Extension/styles.js +2 -3
- package/dist/es2019/plugins/insert-block/index.js +1 -0
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -12
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +1 -168
- package/dist/es2019/plugins/layout/styles.js +2 -3
- package/dist/es2019/plugins/layout/utils.js +1 -54
- package/dist/es2019/plugins/paste/handlers.js +8 -4
- package/dist/es2019/plugins/paste/util/index.js +23 -0
- package/dist/es2019/plugins/selection/gap-cursor/selection.js +1 -136
- package/dist/es2019/plugins/selection/gap-cursor/utils/is-ignored.js +1 -5
- package/dist/es2019/plugins/selection/gap-cursor/utils/is-valid-target-node.js +1 -4
- package/dist/es2019/plugins/selection/gap-cursor/utils.js +4 -4
- package/dist/es2019/plugins/selection/gap-cursor-selection.js +1 -1
- package/dist/es2019/plugins/selection/types.js +2 -9
- package/dist/es2019/plugins/selection/utils.js +1 -1
- package/dist/es2019/plugins/table/commands/go-to-next-cell.js +4 -4
- package/dist/es2019/plugins/table/commands/insert.js +26 -24
- package/dist/es2019/plugins/table/commands/selection.js +109 -51
- package/dist/es2019/plugins/table/commands-with-analytics.js +39 -38
- package/dist/es2019/plugins/table/event-handlers.js +6 -7
- package/dist/es2019/plugins/table/index.js +56 -16
- package/dist/es2019/plugins/table/nodeviews/TableComponent.js +11 -12
- package/dist/es2019/plugins/table/nodeviews/table.js +18 -8
- package/dist/es2019/plugins/table/nodeviews/tableCell.js +2 -3
- package/dist/es2019/plugins/table/nodeviews/update-overflow-shadows.js +3 -4
- package/dist/es2019/plugins/table/pm-plugins/keymap.js +13 -12
- package/dist/es2019/plugins/table/pm-plugins/main.js +8 -8
- package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -6
- package/dist/es2019/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -8
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/dom.js +2 -2
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -4
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
- package/dist/es2019/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
- package/dist/es2019/plugins/table/toolbar.js +24 -24
- package/dist/es2019/plugins/table/transforms/column-width.js +3 -2
- package/dist/es2019/plugins/table/transforms/replace-table.js +4 -4
- package/dist/es2019/plugins/table/ui/FloatingContextualButton/index.js +2 -2
- package/dist/es2019/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +19 -16
- package/dist/es2019/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
- package/dist/es2019/plugins/table/ui/FloatingDeleteButton/index.js +8 -4
- package/dist/es2019/plugins/table/ui/FloatingInsertButton/index.js +9 -6
- package/dist/es2019/plugins/table/ui/LayoutButton/index.js +2 -2
- package/dist/es2019/plugins/table/ui/TableFloatingControls/index.js +2 -3
- package/dist/es2019/plugins/table/ui/common-styles.js +1 -1
- package/dist/es2019/plugins/table/utils/analytics.js +16 -1
- package/dist/es2019/plugins/table/utils/index.js +1 -1
- package/dist/es2019/selection-api/api.js +22 -0
- package/dist/es2019/types/browser.js +0 -1
- package/dist/es2019/ui/ColorPalette/Color/index.js +1 -66
- package/dist/es2019/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +1 -14
- package/dist/es2019/ui/ColorPalette/Palettes/common.js +1 -20
- package/dist/es2019/ui/ColorPalette/Palettes/paletteMessages.js +2 -113
- package/dist/es2019/ui/ColorPalette/Palettes/panelBackgroundPalette.js +1 -137
- package/dist/es2019/ui/ColorPalette/Palettes/statusColorPalette.js +1 -51
- package/dist/es2019/ui/ColorPalette/Palettes/textColorPalette.js +1 -25
- package/dist/es2019/ui/ColorPalette/index.js +2 -62
- package/dist/es2019/ui/Dropdown/index.js +2 -84
- package/dist/es2019/ui/DropdownMenu/index.js +2 -244
- package/dist/es2019/ui/Toolbar/types.js +1 -30
- package/dist/es2019/ui/ToolbarButton/index.js +2 -94
- package/dist/es2019/ui/WithPluginState/index.js +1 -1
- package/dist/es2019/ui/styles.js +9 -47
- package/dist/es2019/ui/with-outer-listeners.js +2 -104
- package/dist/es2019/utils/dom.js +1 -113
- package/dist/es2019/utils/index.js +2 -21
- package/dist/es2019/utils/node-width.js +1 -75
- package/dist/es2019/utils/nodes.js +1 -88
- package/dist/es2019/utils/plugin-state-factory.js +1 -107
- package/dist/es2019/utils/selection.js +2 -52
- package/dist/es2019/utils/slice.js +1 -56
- package/dist/es2019/utils/step.js +1 -35
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/analytics-api/api.js +27 -0
- package/dist/esm/analytics-api/attach-payload-into-transaction.js +22 -0
- package/dist/esm/analytics-api/editor-state-context.js +81 -0
- package/dist/esm/analytics-api/map-attributes.js +20 -0
- package/dist/esm/create-editor/ReactEditorView.js +44 -6
- package/dist/esm/create-editor/ReactEditorViewContext.js +1 -2
- package/dist/esm/create-editor/create-plugins-list.js +15 -4
- package/dist/esm/event-dispatcher/index.js +1 -74
- package/dist/esm/insert-api/api.js +37 -0
- package/dist/esm/insert-api/insert-content-handlers.js +88 -0
- package/dist/esm/insert-api/insert-node-helpers.js +138 -0
- package/dist/{es2019/plugins/analytics/types/config-panel-events.js → esm/insert-api/types.js} +0 -0
- package/dist/esm/keymaps/index.js +1 -184
- package/dist/esm/messages.js +2 -123
- package/dist/esm/plugins/analytics/index.js +1 -1
- package/dist/esm/plugins/analytics/types/enums.js +1 -336
- package/dist/esm/plugins/analytics/types/extension-events.js +1 -22
- package/dist/esm/plugins/analytics/types/general-events.js +1 -30
- package/dist/esm/plugins/analytics/types/index.js +1 -6
- package/dist/esm/plugins/analytics/types/inline-comment-events.js +1 -7
- package/dist/esm/plugins/analytics/types/node-events.js +1 -18
- package/dist/esm/plugins/analytics/types/smart-links.js +1 -12
- package/dist/esm/plugins/analytics/types/toolbar-button.js +1 -19
- package/dist/esm/plugins/analytics/utils.js +12 -113
- package/dist/esm/plugins/expand/utils.js +1 -34
- package/dist/esm/plugins/extension/actions.js +1 -24
- package/dist/esm/plugins/extension/ui/Extension/styles.js +2 -3
- package/dist/esm/plugins/insert-block/index.js +1 -0
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -12
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +1 -168
- package/dist/esm/plugins/layout/styles.js +2 -3
- package/dist/esm/plugins/layout/utils.js +1 -58
- package/dist/esm/plugins/paste/handlers.js +8 -4
- package/dist/esm/plugins/paste/util/index.js +23 -0
- package/dist/esm/plugins/selection/gap-cursor/selection.js +1 -176
- package/dist/esm/plugins/selection/gap-cursor/utils/is-ignored.js +1 -5
- package/dist/esm/plugins/selection/gap-cursor/utils/is-valid-target-node.js +1 -4
- package/dist/esm/plugins/selection/gap-cursor/utils.js +4 -4
- package/dist/esm/plugins/selection/gap-cursor-selection.js +1 -1
- package/dist/esm/plugins/selection/types.js +2 -9
- package/dist/esm/plugins/selection/utils.js +1 -1
- package/dist/esm/plugins/table/commands/go-to-next-cell.js +34 -32
- package/dist/esm/plugins/table/commands/insert.js +57 -49
- package/dist/esm/plugins/table/commands/selection.js +303 -215
- package/dist/esm/plugins/table/commands-with-analytics.js +241 -220
- package/dist/esm/plugins/table/event-handlers.js +60 -59
- package/dist/esm/plugins/table/index.js +62 -18
- package/dist/esm/plugins/table/nodeviews/TableComponent.js +20 -21
- package/dist/esm/plugins/table/nodeviews/table.js +19 -9
- package/dist/esm/plugins/table/nodeviews/tableCell.js +11 -12
- package/dist/esm/plugins/table/nodeviews/update-overflow-shadows.js +25 -24
- package/dist/esm/plugins/table/pm-plugins/keymap.js +14 -13
- package/dist/esm/plugins/table/pm-plugins/main.js +8 -8
- package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -6
- package/dist/esm/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -1
- package/dist/esm/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -8
- package/dist/esm/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/dom.js +30 -28
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -4
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
- package/dist/esm/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
- package/dist/esm/plugins/table/toolbar.js +75 -73
- package/dist/esm/plugins/table/transforms/column-width.js +41 -38
- package/dist/esm/plugins/table/transforms/replace-table.js +4 -4
- package/dist/esm/plugins/table/ui/FloatingContextualButton/index.js +2 -2
- package/dist/esm/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +25 -21
- package/dist/esm/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
- package/dist/esm/plugins/table/ui/FloatingDeleteButton/index.js +6 -4
- package/dist/esm/plugins/table/ui/FloatingInsertButton/index.js +9 -6
- package/dist/esm/plugins/table/ui/LayoutButton/index.js +2 -2
- package/dist/esm/plugins/table/ui/TableFloatingControls/index.js +4 -5
- package/dist/esm/plugins/table/ui/common-styles.js +1 -1
- package/dist/esm/plugins/table/utils/analytics.js +22 -1
- package/dist/esm/plugins/table/utils/index.js +1 -1
- package/dist/esm/selection-api/api.js +23 -0
- package/dist/esm/types/browser.js +0 -1
- package/dist/esm/ui/ColorPalette/Color/index.js +1 -93
- package/dist/esm/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +1 -14
- package/dist/esm/ui/ColorPalette/Palettes/common.js +1 -19
- package/dist/esm/ui/ColorPalette/Palettes/paletteMessages.js +2 -113
- package/dist/esm/ui/ColorPalette/Palettes/panelBackgroundPalette.js +1 -147
- package/dist/esm/ui/ColorPalette/Palettes/statusColorPalette.js +1 -51
- package/dist/esm/ui/ColorPalette/Palettes/textColorPalette.js +1 -25
- package/dist/esm/ui/ColorPalette/index.js +2 -64
- package/dist/esm/ui/Dropdown/index.js +2 -106
- package/dist/esm/ui/DropdownMenu/index.js +2 -265
- package/dist/esm/ui/Toolbar/types.js +1 -30
- package/dist/esm/ui/ToolbarButton/index.js +2 -102
- package/dist/esm/ui/WithPluginState/index.js +1 -1
- package/dist/esm/ui/styles.js +17 -20
- package/dist/esm/ui/with-outer-listeners.js +2 -139
- package/dist/esm/utils/dom.js +1 -113
- package/dist/esm/utils/index.js +5 -23
- package/dist/esm/utils/node-width.js +1 -73
- package/dist/esm/utils/nodes.js +1 -100
- package/dist/esm/utils/plugin-state-factory.js +1 -106
- package/dist/esm/utils/selection.js +2 -50
- package/dist/esm/utils/slice.js +1 -59
- package/dist/esm/utils/step.js +1 -37
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/actions/index.d.ts +2 -16
- package/dist/types/analytics-api/api.d.ts +9 -0
- package/dist/types/analytics-api/attach-payload-into-transaction.d.ts +10 -0
- package/dist/types/analytics-api/editor-state-context.d.ts +9 -0
- package/dist/types/analytics-api/map-attributes.d.ts +2 -0
- package/dist/types/create-editor/ReactEditorView.d.ts +1 -0
- package/dist/types/create-editor/ReactEditorViewContext.d.ts +1 -7
- package/dist/types/create-editor/create-plugins-list.d.ts +5 -1
- package/dist/types/event-dispatcher/index.d.ts +2 -19
- package/dist/types/insert-api/api.d.ts +9 -0
- package/dist/types/insert-api/insert-content-handlers.d.ts +9 -0
- package/dist/types/insert-api/insert-node-helpers.d.ts +30 -0
- package/dist/types/insert-api/types.d.ts +16 -0
- package/dist/types/keymaps/index.d.ts +2 -89
- package/dist/types/labs/next/presets/cxhtml.d.ts +1 -1
- package/dist/types/labs/next/presets/mobile.d.ts +1 -1
- package/dist/types/messages.d.ts +2 -124
- package/dist/types/plugins/analytics/index.d.ts +2 -2
- package/dist/types/plugins/analytics/types/dispatch-analytics-event.d.ts +1 -2
- package/dist/types/plugins/analytics/types/enums.d.ts +1 -313
- package/dist/types/plugins/analytics/types/events.d.ts +1 -111
- package/dist/types/plugins/analytics/types/experimental-events.d.ts +1 -17
- package/dist/types/plugins/analytics/types/extension-events.d.ts +2 -43
- package/dist/types/plugins/analytics/types/general-events.d.ts +2 -179
- package/dist/types/plugins/analytics/types/index.d.ts +4 -14
- package/dist/types/plugins/analytics/types/inline-comment-events.d.ts +2 -17
- package/dist/types/plugins/analytics/types/link-tool-bar-events.d.ts +1 -76
- package/dist/types/plugins/analytics/types/media-events.d.ts +1 -16
- package/dist/types/plugins/analytics/types/node-events.d.ts +2 -56
- package/dist/types/plugins/analytics/types/selection-events.d.ts +1 -18
- package/dist/types/plugins/analytics/types/smart-links.d.ts +2 -13
- package/dist/types/plugins/analytics/types/toolbar-button.d.ts +2 -22
- package/dist/types/plugins/analytics/types/type-ahead.d.ts +1 -27
- package/dist/types/plugins/analytics/utils.d.ts +3 -8
- package/dist/types/plugins/annotation/pm-plugins/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/card/pm-plugins/util/state.d.ts +1 -1
- package/dist/types/plugins/code-bidi-warning/pm-plugins/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/context-panel/types.d.ts +1 -3
- package/dist/types/plugins/expand/pm-plugins/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/expand/utils.d.ts +1 -5
- package/dist/types/plugins/extension/actions.d.ts +2 -6
- package/dist/types/plugins/extension/commands.d.ts +7 -7
- package/dist/types/plugins/extension/plugin-factory.d.ts +2 -2
- package/dist/types/plugins/extension/ui/Extension/styles.d.ts +2 -2
- package/dist/types/plugins/find-replace/commands.d.ts +7 -7
- package/dist/types/plugins/find-replace/plugin.d.ts +1 -1
- package/dist/types/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/floating-toolbar/types.d.ts +1 -153
- package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +2 -1
- package/dist/types/plugins/floating-toolbar/ui/Select.d.ts +2 -12
- package/dist/types/plugins/floating-toolbar/ui/types.d.ts +1 -20
- package/dist/types/plugins/insert-block/index.d.ts +2 -0
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/messages.d.ts +1 -167
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +3 -1
- package/dist/types/plugins/layout/styles.d.ts +2 -2
- package/dist/types/plugins/layout/utils.d.ts +1 -15
- package/dist/types/plugins/media/commands/linking.d.ts +3 -3
- package/dist/types/plugins/media/nodeviews/mediaNodeView/index.d.ts +1 -1
- package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
- package/dist/types/plugins/media/pm-plugins/alt-text/commands.d.ts +2 -2
- package/dist/types/plugins/media/pm-plugins/alt-text/index.d.ts +1 -1
- package/dist/types/plugins/media/pm-plugins/linking/index.d.ts +1 -1
- package/dist/types/plugins/mobile-dimensions/commands.d.ts +4 -4
- package/dist/types/plugins/mobile-dimensions/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/paste/util/index.d.ts +2 -1
- package/dist/types/plugins/selection/commands.d.ts +1 -1
- package/dist/types/plugins/selection/gap-cursor/selection.d.ts +1 -40
- package/dist/types/plugins/selection/gap-cursor/utils/is-ignored.d.ts +1 -2
- package/dist/types/plugins/selection/gap-cursor/utils/is-valid-target-node.d.ts +1 -2
- package/dist/types/plugins/selection/gap-cursor-selection.d.ts +1 -1
- package/dist/types/plugins/selection/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/selection/types.d.ts +4 -19
- package/dist/types/plugins/table/commands/go-to-next-cell.d.ts +3 -2
- package/dist/types/plugins/table/commands/hover.d.ts +7 -7
- package/dist/types/plugins/table/commands/insert.d.ts +5 -4
- package/dist/types/plugins/table/commands/misc.d.ts +8 -8
- package/dist/types/plugins/table/commands/selection.d.ts +4 -3
- package/dist/types/plugins/table/commands/toggle.d.ts +1 -1
- package/dist/types/plugins/table/commands-with-analytics.d.ts +21 -19
- package/dist/types/plugins/table/event-handlers.d.ts +4 -2
- package/dist/types/plugins/table/index.d.ts +7 -0
- package/dist/types/plugins/table/nodeviews/TableComponent.d.ts +4 -2
- package/dist/types/plugins/table/nodeviews/table.d.ts +2 -1
- package/dist/types/plugins/table/nodeviews/tableCell.d.ts +2 -1
- package/dist/types/plugins/table/nodeviews/types.d.ts +3 -0
- package/dist/types/plugins/table/nodeviews/update-overflow-shadows.d.ts +2 -1
- package/dist/types/plugins/table/pm-plugins/keymap.d.ts +3 -1
- package/dist/types/plugins/table/pm-plugins/main.d.ts +4 -2
- package/dist/types/plugins/table/pm-plugins/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/sticky-headers/commands.d.ts +2 -2
- package/dist/types/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.d.ts +2 -1
- package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin-state.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin.d.ts +2 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/commands.d.ts +4 -4
- package/dist/types/plugins/table/pm-plugins/table-resizing/event-handlers.d.ts +3 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/plugin-factory.d.ts +2 -2
- package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +3 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/dom.d.ts +2 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/misc.d.ts +3 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/resize-state.d.ts +2 -1
- package/dist/types/plugins/table/pm-plugins/table-selection-keymap.d.ts +2 -1
- package/dist/types/plugins/table/toolbar.d.ts +5 -3
- package/dist/types/plugins/table/transforms/column-width.d.ts +2 -1
- package/dist/types/plugins/table/transforms/replace-table.d.ts +3 -2
- package/dist/types/plugins/table/types.d.ts +3 -1
- package/dist/types/plugins/table/ui/FloatingContextualButton/index.d.ts +1 -1
- package/dist/types/plugins/table/ui/FloatingContextualMenu/ContextualMenu.d.ts +4 -0
- package/dist/types/plugins/table/ui/FloatingContextualMenu/index.d.ts +5 -1
- package/dist/types/plugins/table/ui/FloatingDeleteButton/index.d.ts +2 -0
- package/dist/types/plugins/table/ui/FloatingInsertButton/index.d.ts +5 -1
- package/dist/types/plugins/table/ui/LayoutButton/index.d.ts +2 -0
- package/dist/types/plugins/table/ui/TableFloatingControls/index.d.ts +2 -0
- package/dist/types/plugins/table/utils/analytics.d.ts +3 -0
- package/dist/types/plugins/table/utils/index.d.ts +1 -1
- package/dist/types/plugins/type-ahead/types.d.ts +2 -50
- package/dist/types/plugins/width/index.d.ts +3 -6
- package/dist/types/selection-api/api.d.ts +11 -0
- package/dist/types/types/browser.d.ts +1 -10
- package/dist/types/types/editor-appearance.d.ts +1 -1
- package/dist/types/types/editor-plugin.d.ts +1 -59
- package/dist/types/types/editor-react-context.d.ts +1 -6
- package/dist/types/types/empty-state-handler.d.ts +1 -7
- package/dist/types/types/feature-flags.d.ts +1 -343
- package/dist/types/types/pm-config.d.ts +1 -14
- package/dist/types/types/pm-plugin.d.ts +1 -27
- package/dist/types/types/ui-components.d.ts +1 -22
- package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +118 -118
- package/dist/types/ui/ColorPalette/Color/index.d.ts +1 -19
- package/dist/types/ui/ColorPalette/Palettes/cellBackgroundColorPalette.d.ts +1 -2
- package/dist/types/ui/ColorPalette/Palettes/common.d.ts +1 -1
- package/dist/types/ui/ColorPalette/Palettes/paletteMessages.d.ts +2 -113
- package/dist/types/ui/ColorPalette/Palettes/panelBackgroundPalette.d.ts +1 -3
- package/dist/types/ui/ColorPalette/Palettes/statusColorPalette.d.ts +1 -3
- package/dist/types/ui/ColorPalette/Palettes/textColorPalette.d.ts +1 -3
- package/dist/types/ui/ColorPalette/Palettes/type.d.ts +1 -8
- package/dist/types/ui/ColorPalette/index.d.ts +2 -23
- package/dist/types/ui/ColorPickerButton/index.d.ts +1 -1
- package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +1 -1
- package/dist/types/ui/ContentStyles/index.d.ts +2 -2
- package/dist/types/ui/Dropdown/index.d.ts +2 -33
- package/dist/types/ui/DropdownMenu/index.d.ts +2 -18
- package/dist/types/ui/DropdownMenu/types.d.ts +1 -43
- package/dist/types/ui/Toolbar/types.d.ts +2 -30
- package/dist/types/ui/ToolbarButton/index.d.ts +3 -52
- package/dist/types/ui/styles.d.ts +3 -3
- package/dist/types/ui/with-outer-listeners.d.ts +2 -10
- package/dist/types/utils/document-logger.d.ts +2 -7
- package/dist/types/utils/dom.d.ts +2 -26
- package/dist/types/utils/index.d.ts +3 -6
- package/dist/types/utils/node-width.d.ts +1 -7
- package/dist/types/utils/nodes.d.ts +1 -35
- package/dist/types/utils/performance/plugin-performance-report.d.ts +2 -25
- package/dist/types/utils/plugin-state-factory.d.ts +2 -16
- package/dist/types/utils/selection.d.ts +3 -6
- package/dist/types/utils/slice.d.ts +2 -11
- package/dist/types/utils/step.d.ts +1 -15
- package/package.json +5 -6
- package/dist/cjs/plugins/analytics/types/config-panel-events.js +0 -5
- package/dist/cjs/plugins/analytics/types/cut-copy-events.js +0 -5
- package/dist/cjs/plugins/analytics/types/date-events.js +0 -5
- package/dist/cjs/plugins/analytics/types/element-browser-events.js +0 -5
- package/dist/cjs/plugins/analytics/types/find-replace-events.js +0 -5
- package/dist/cjs/plugins/analytics/types/format-events.js +0 -24
- package/dist/cjs/plugins/analytics/types/insert-events.js +0 -51
- package/dist/cjs/plugins/analytics/types/list-events.js +0 -25
- package/dist/cjs/plugins/analytics/types/paste-events.js +0 -55
- package/dist/cjs/plugins/analytics/types/substitute-events.js +0 -24
- package/dist/cjs/plugins/analytics/types/table-events.js +0 -43
- package/dist/cjs/plugins/analytics/types/utils.js +0 -27
- package/dist/cjs/ui/ColorPalette/Color/styles.js +0 -21
- package/dist/cjs/ui/ColorPalette/Palettes/getColorMessage.js +0 -17
- package/dist/cjs/ui/ColorPalette/styles.js +0 -19
- package/dist/cjs/ui/DropList/index.js +0 -215
- package/dist/cjs/ui/Layer/index.js +0 -245
- package/dist/cjs/ui/Layer/internal/helpers.js +0 -70
- package/dist/cjs/ui/ToolbarButton/styles.js +0 -26
- package/dist/es2019/plugins/analytics/types/cut-copy-events.js +0 -1
- package/dist/es2019/plugins/analytics/types/date-events.js +0 -1
- package/dist/es2019/plugins/analytics/types/element-browser-events.js +0 -1
- package/dist/es2019/plugins/analytics/types/find-replace-events.js +0 -1
- package/dist/es2019/plugins/analytics/types/format-events.js +0 -16
- package/dist/es2019/plugins/analytics/types/insert-events.js +0 -41
- package/dist/es2019/plugins/analytics/types/list-events.js +0 -17
- package/dist/es2019/plugins/analytics/types/paste-events.js +0 -46
- package/dist/es2019/plugins/analytics/types/substitute-events.js +0 -16
- package/dist/es2019/plugins/analytics/types/table-events.js +0 -34
- package/dist/es2019/plugins/analytics/types/utils.js +0 -19
- package/dist/es2019/ui/ColorPalette/Color/styles.js +0 -24
- package/dist/es2019/ui/ColorPalette/Palettes/getColorMessage.js +0 -14
- package/dist/es2019/ui/ColorPalette/styles.js +0 -7
- package/dist/es2019/ui/DropList/index.js +0 -186
- package/dist/es2019/ui/Layer/index.js +0 -195
- package/dist/es2019/ui/Layer/internal/helpers.js +0 -62
- package/dist/es2019/ui/ToolbarButton/styles.js +0 -12
- package/dist/esm/plugins/analytics/types/avatar.js +0 -1
- package/dist/esm/plugins/analytics/types/config-panel-events.js +0 -1
- package/dist/esm/plugins/analytics/types/cut-copy-events.js +0 -1
- package/dist/esm/plugins/analytics/types/date-events.js +0 -1
- package/dist/esm/plugins/analytics/types/element-browser-events.js +0 -1
- package/dist/esm/plugins/analytics/types/find-replace-events.js +0 -1
- package/dist/esm/plugins/analytics/types/format-events.js +0 -16
- package/dist/esm/plugins/analytics/types/insert-events.js +0 -41
- package/dist/esm/plugins/analytics/types/list-events.js +0 -17
- package/dist/esm/plugins/analytics/types/paste-events.js +0 -46
- package/dist/esm/plugins/analytics/types/substitute-events.js +0 -16
- package/dist/esm/plugins/analytics/types/table-events.js +0 -34
- package/dist/esm/plugins/analytics/types/utils.js +0 -19
- package/dist/esm/ui/ColorPalette/Color/styles.js +0 -8
- package/dist/esm/ui/ColorPalette/Palettes/getColorMessage.js +0 -10
- package/dist/esm/ui/ColorPalette/styles.js +0 -7
- package/dist/esm/ui/DropList/index.js +0 -203
- package/dist/esm/ui/Layer/index.js +0 -228
- package/dist/esm/ui/Layer/internal/helpers.js +0 -62
- package/dist/esm/ui/ToolbarButton/styles.js +0 -12
- package/dist/types/plugins/analytics/types/avatar.d.ts +0 -5
- package/dist/types/plugins/analytics/types/config-panel-events.d.ts +0 -17
- package/dist/types/plugins/analytics/types/cut-copy-events.d.ts +0 -12
- package/dist/types/plugins/analytics/types/date-events.d.ts +0 -17
- package/dist/types/plugins/analytics/types/element-browser-events.d.ts +0 -11
- package/dist/types/plugins/analytics/types/find-replace-events.d.ts +0 -23
- package/dist/types/plugins/analytics/types/format-events.d.ts +0 -49
- package/dist/types/plugins/analytics/types/insert-events.d.ts +0 -128
- package/dist/types/plugins/analytics/types/list-events.d.ts +0 -52
- package/dist/types/plugins/analytics/types/paste-events.d.ts +0 -39
- package/dist/types/plugins/analytics/types/substitute-events.d.ts +0 -26
- package/dist/types/plugins/analytics/types/table-events.d.ts +0 -94
- package/dist/types/plugins/analytics/types/utils.d.ts +0 -45
- package/dist/types/ui/ColorPalette/Color/styles.d.ts +0 -2
- package/dist/types/ui/ColorPalette/Palettes/getColorMessage.d.ts +0 -2
- package/dist/types/ui/ColorPalette/styles.d.ts +0 -1
- package/dist/types/ui/DropList/index.d.ts +0 -22
- package/dist/types/ui/Layer/index.d.ts +0 -47
- package/dist/types/ui/Layer/internal/helpers.d.ts +0 -5
- package/dist/types/ui/ToolbarButton/styles.d.ts +0 -4
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import uuid from 'uuid';
|
|
2
2
|
import { DOMSerializer } from 'prosemirror-model';
|
|
3
3
|
import { getCellDomAttrs, getCellAttrs } from '@atlaskit/adf-schema';
|
|
4
|
-
import { getFeatureFlags } from '../../feature-flags-context';
|
|
5
4
|
export default class TableCellNodeView {
|
|
6
|
-
constructor(node, view, getPos, observer) {
|
|
5
|
+
constructor(node, view, getPos, getEditorFeatureFlags, observer) {
|
|
7
6
|
this.view = view;
|
|
8
7
|
this.node = node;
|
|
9
8
|
const {
|
|
@@ -15,7 +14,7 @@ export default class TableCellNodeView {
|
|
|
15
14
|
this.contentDOM = contentDOM;
|
|
16
15
|
const {
|
|
17
16
|
mouseMoveOptimization
|
|
18
|
-
} =
|
|
17
|
+
} = getEditorFeatureFlags();
|
|
19
18
|
|
|
20
19
|
if (mouseMoveOptimization && observer) {
|
|
21
20
|
this.contentDOM.id = uuid();
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { TableCssClassName as ClassName } from '../types';
|
|
2
|
-
import { getFeatureFlags } from '../../feature-flags-context';
|
|
3
2
|
export const updateShadowListForStickyStyles = (heightStyle, shadows) => {
|
|
4
3
|
Array.from(shadows).forEach(shadow => {
|
|
5
4
|
if (shadow.classList.contains(ClassName.TABLE_STICKY_SHADOW)) {
|
|
@@ -14,10 +13,10 @@ export const updateShadowListForStickyStyles = (heightStyle, shadows) => {
|
|
|
14
13
|
* if `overflowShadowOptimization` is enabled, this will exit early.
|
|
15
14
|
*/
|
|
16
15
|
|
|
17
|
-
export const updateOverflowShadows = (editorState, wrapper, table, rightShadows, leftShadows) => {
|
|
18
|
-
var
|
|
16
|
+
export const updateOverflowShadows = getEditorFeatureFlags => (editorState, wrapper, table, rightShadows, leftShadows) => {
|
|
17
|
+
var _getEditorFeatureFlag;
|
|
19
18
|
|
|
20
|
-
if (((
|
|
19
|
+
if (((_getEditorFeatureFlag = getEditorFeatureFlags()) === null || _getEditorFeatureFlag === void 0 ? void 0 : _getEditorFeatureFlag.tableOverflowShadowsOptimization) === true) {
|
|
21
20
|
return false;
|
|
22
21
|
} // Right shadow
|
|
23
22
|
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { keymap } from 'prosemirror-keymap';
|
|
2
2
|
import { chainCommands } from 'prosemirror-commands';
|
|
3
3
|
import * as keymaps from '../../../keymaps';
|
|
4
|
-
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD
|
|
4
|
+
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
|
|
5
5
|
import { createTable, goToNextCell, moveCursorBackward, triggerUnlessTableHeader } from '../commands';
|
|
6
6
|
import { addRowAroundSelection, emptyMultipleCellsWithAnalytics, deleteTableIfSelectedWithAnalytics } from '../commands-with-analytics';
|
|
7
7
|
import { addColumnAfter, addColumnBefore } from '../commands/insert';
|
|
8
|
+
import { withEditorAnalyticsAPI } from '../utils/analytics';
|
|
8
9
|
|
|
9
|
-
const createTableWithAnalytics =
|
|
10
|
+
const createTableWithAnalytics = editorAnalyticsAPI => withEditorAnalyticsAPI({
|
|
10
11
|
action: ACTION.INSERTED,
|
|
11
12
|
actionSubject: ACTION_SUBJECT.DOCUMENT,
|
|
12
13
|
actionSubjectId: ACTION_SUBJECT_ID.TABLE,
|
|
@@ -14,20 +15,20 @@ const createTableWithAnalytics = () => withAnalytics({
|
|
|
14
15
|
inputMethod: INPUT_METHOD.SHORTCUT
|
|
15
16
|
},
|
|
16
17
|
eventType: EVENT_TYPE.TRACK
|
|
17
|
-
})(createTable());
|
|
18
|
+
})(editorAnalyticsAPI)(createTable());
|
|
18
19
|
|
|
19
|
-
export function keymapPlugin() {
|
|
20
|
+
export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI) {
|
|
20
21
|
const list = {};
|
|
21
|
-
keymaps.bindKeymapWithCommand(keymaps.nextCell.common, goToNextCell(1), list);
|
|
22
|
-
keymaps.bindKeymapWithCommand(keymaps.previousCell.common, goToNextCell(-1), list);
|
|
23
|
-
keymaps.bindKeymapWithCommand(keymaps.toggleTable.common, createTableWithAnalytics(), list);
|
|
24
|
-
keymaps.bindKeymapWithCommand(keymaps.backspace.common, chainCommands(deleteTableIfSelectedWithAnalytics(INPUT_METHOD.KEYBOARD), emptyMultipleCellsWithAnalytics(INPUT_METHOD.KEYBOARD)), list);
|
|
22
|
+
keymaps.bindKeymapWithCommand(keymaps.nextCell.common, goToNextCell(editorAnalyticsAPI)(1), list);
|
|
23
|
+
keymaps.bindKeymapWithCommand(keymaps.previousCell.common, goToNextCell(editorAnalyticsAPI)(-1), list);
|
|
24
|
+
keymaps.bindKeymapWithCommand(keymaps.toggleTable.common, createTableWithAnalytics(editorAnalyticsAPI), list);
|
|
25
|
+
keymaps.bindKeymapWithCommand(keymaps.backspace.common, chainCommands(deleteTableIfSelectedWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.KEYBOARD), emptyMultipleCellsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.KEYBOARD)), list);
|
|
25
26
|
keymaps.bindKeymapWithCommand(keymaps.backspace.common, moveCursorBackward, list); // Add row/column shortcuts
|
|
26
27
|
|
|
27
|
-
keymaps.bindKeymapWithCommand(keymaps.addRowBefore.common, addRowAroundSelection('TOP'), list);
|
|
28
|
-
keymaps.bindKeymapWithCommand(keymaps.addRowAfter.common, addRowAroundSelection('BOTTOM'), list);
|
|
29
|
-
keymaps.bindKeymapWithCommand(keymaps.addColumnBefore.common, triggerUnlessTableHeader(addColumnBefore), list);
|
|
30
|
-
keymaps.bindKeymapWithCommand(keymaps.addColumnAfter.common, addColumnAfter, list);
|
|
28
|
+
keymaps.bindKeymapWithCommand(keymaps.addRowBefore.common, addRowAroundSelection(editorAnalyticsAPI)('TOP'), list);
|
|
29
|
+
keymaps.bindKeymapWithCommand(keymaps.addRowAfter.common, addRowAroundSelection(editorAnalyticsAPI)('BOTTOM'), list);
|
|
30
|
+
keymaps.bindKeymapWithCommand(keymaps.addColumnBefore.common, triggerUnlessTableHeader(addColumnBefore(getEditorContainerWidth)), list);
|
|
31
|
+
keymaps.bindKeymapWithCommand(keymaps.addColumnAfter.common, addColumnAfter(getEditorContainerWidth), list);
|
|
31
32
|
return keymap(list);
|
|
32
33
|
}
|
|
33
34
|
export default keymapPlugin;
|
|
@@ -10,7 +10,7 @@ import { pluginKey as decorationsPluginKey } from '../pm-plugins/decorations/plu
|
|
|
10
10
|
import { fixTables, replaceSelectedTable } from '../transforms';
|
|
11
11
|
import { TableCssClassName as ClassName } from '../types';
|
|
12
12
|
import { findControlsHoverDecoration, transformSliceToCorrectEmptyTableCells, transformSliceToFixHardBreakProblemOnCopyFromCell, transformSliceToRemoveOpenTable, updateResizeHandles } from '../utils';
|
|
13
|
-
import { ACTION, ACTION_SUBJECT, EVENT_TYPE, INPUT_METHOD } from '
|
|
13
|
+
import { ACTION, ACTION_SUBJECT, EVENT_TYPE, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
|
|
14
14
|
import { defaultTableSelection } from './default-table-selection';
|
|
15
15
|
import { createPluginState, getPluginState } from './plugin-factory';
|
|
16
16
|
import { pluginKey } from './plugin-key';
|
|
@@ -24,7 +24,7 @@ import { isHeaderRowRequired } from '../utils/paste';
|
|
|
24
24
|
let isBreakoutEnabled;
|
|
25
25
|
let isFullWidthModeEnabled;
|
|
26
26
|
let wasFullWidthModeEnabled;
|
|
27
|
-
export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig, breakoutEnabled, fullWidthModeEnabled, previousFullWidthModeEnabled) => {
|
|
27
|
+
export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig, getEditorContainerWidth, getEditorFeatureFlags, breakoutEnabled, fullWidthModeEnabled, previousFullWidthModeEnabled, editorAnalyticsAPI) => {
|
|
28
28
|
var _window;
|
|
29
29
|
|
|
30
30
|
isBreakoutEnabled = breakoutEnabled;
|
|
@@ -50,8 +50,8 @@ export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI
|
|
|
50
50
|
});
|
|
51
51
|
}) : undefined;
|
|
52
52
|
const tableCellNodeview = pluginConfig.tableCellOptimization ? {
|
|
53
|
-
tableCell: (node, view, getPos) => new TableCellNodeView(node, view, getPos, observer),
|
|
54
|
-
tableHeader: (node, view, getPos) => new TableCellNodeView(node, view, getPos, observer)
|
|
53
|
+
tableCell: (node, view, getPos) => new TableCellNodeView(node, view, getPos, getEditorFeatureFlags, observer),
|
|
54
|
+
tableHeader: (node, view, getPos) => new TableCellNodeView(node, view, getPos, getEditorFeatureFlags, observer)
|
|
55
55
|
} : {}; // Used to prevent invalid table cell spans being reported more than once per editor/document
|
|
56
56
|
|
|
57
57
|
const invalidTableIds = [];
|
|
@@ -94,7 +94,7 @@ export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI
|
|
|
94
94
|
|
|
95
95
|
if (tr) {
|
|
96
96
|
// "fixTables" removes empty rows as we don't allow that in schema
|
|
97
|
-
const updatedTr = handleCut(tr, oldState, newState);
|
|
97
|
+
const updatedTr = handleCut(tr, oldState, newState, editorAnalyticsAPI);
|
|
98
98
|
return fixTables(updatedTr) || updatedTr;
|
|
99
99
|
}
|
|
100
100
|
|
|
@@ -241,7 +241,7 @@ export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI
|
|
|
241
241
|
state,
|
|
242
242
|
dispatch
|
|
243
243
|
}, from, to, text) => {
|
|
244
|
-
const tr = replaceSelectedTable(state, text, INPUT_METHOD.KEYBOARD);
|
|
244
|
+
const tr = replaceSelectedTable(state, text, INPUT_METHOD.KEYBOARD, editorAnalyticsAPI);
|
|
245
245
|
|
|
246
246
|
if (tr.selectionSet) {
|
|
247
247
|
dispatch(tr);
|
|
@@ -256,7 +256,7 @@ export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI
|
|
|
256
256
|
isBreakoutEnabled,
|
|
257
257
|
isFullWidthModeEnabled,
|
|
258
258
|
wasFullWidthModeEnabled
|
|
259
|
-
})
|
|
259
|
+
}, getEditorContainerWidth, getEditorFeatureFlags)
|
|
260
260
|
},
|
|
261
261
|
handleDOMEvents: {
|
|
262
262
|
focus: handleFocus,
|
|
@@ -265,7 +265,7 @@ export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI
|
|
|
265
265
|
mouseover: whenTableInFocus(handleMouseOver),
|
|
266
266
|
mouseleave: whenTableInFocus(handleMouseLeave),
|
|
267
267
|
mouseout: whenTableInFocus(handleMouseOut),
|
|
268
|
-
mousemove: whenTableInFocus(handleMouseMove, elementContentRects),
|
|
268
|
+
mousemove: whenTableInFocus(handleMouseMove(getEditorFeatureFlags), elementContentRects),
|
|
269
269
|
click: whenTableInFocus(handleClick)
|
|
270
270
|
},
|
|
271
271
|
handleTripleClick
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import { findOverflowScrollParent } from '@atlaskit/editor-common/ui';
|
|
3
|
-
import { pluginKey as widthPluginKey } from '../../../../../plugins/width';
|
|
4
3
|
import { mapChildren } from '../../../../../utils/slice';
|
|
5
4
|
import { TableCssClassName as ClassName, TableCssClassName } from '../../../types';
|
|
6
5
|
import { stickyHeaderBorderBottomWidth, stickyRowOffsetTop, tableControlsSpacing, tableScrollbarOffset } from '../../../ui/consts';
|
|
@@ -8,7 +7,6 @@ import { pluginKey as tablePluginKey } from '../../plugin-key';
|
|
|
8
7
|
import { syncStickyRowToTable, updateStickyMargins as updateTableMargin } from '../../table-resizing/utils/dom';
|
|
9
8
|
import { updateStickyState } from '../commands';
|
|
10
9
|
import { getTop, getTree } from './dom';
|
|
11
|
-
import { getFeatureFlags } from '../../../../feature-flags-context';
|
|
12
10
|
import debounce from 'lodash/debounce';
|
|
13
11
|
import throttle from 'lodash/throttle'; // limit scroll event calls
|
|
14
12
|
|
|
@@ -27,7 +25,7 @@ export class TableRowNodeView {
|
|
|
27
25
|
return getTree(this.dom);
|
|
28
26
|
}
|
|
29
27
|
|
|
30
|
-
constructor(node, view, getPos, eventDispatcher) {
|
|
28
|
+
constructor(node, view, getPos, eventDispatcher, getEditorFeatureFlags) {
|
|
31
29
|
_defineProperty(this, "colControlsOffset", 0);
|
|
32
30
|
|
|
33
31
|
_defineProperty(this, "focused", false);
|
|
@@ -306,7 +304,7 @@ export class TableRowNodeView {
|
|
|
306
304
|
this.eventDispatcher = eventDispatcher;
|
|
307
305
|
this.dom = document.createElement('tr');
|
|
308
306
|
this.contentDOM = this.dom;
|
|
309
|
-
const featureFlags =
|
|
307
|
+
const featureFlags = getEditorFeatureFlags();
|
|
310
308
|
const {
|
|
311
309
|
stickyHeadersOptimization
|
|
312
310
|
} = featureFlags;
|
|
@@ -337,7 +335,7 @@ export class TableRowNodeView {
|
|
|
337
335
|
this.topPosEditorElement = getTop(this.editorScrollableElement);
|
|
338
336
|
}
|
|
339
337
|
|
|
340
|
-
this.eventDispatcher.on(
|
|
338
|
+
this.eventDispatcher.on('widthPlugin', this.onWidthPluginState);
|
|
341
339
|
this.eventDispatcher.on(tablePluginKey.key, this.onTablePluginState);
|
|
342
340
|
this.listening = true;
|
|
343
341
|
this.dom.addEventListener('wheel', this.headerRowMouseScroll.bind(this));
|
|
@@ -361,7 +359,7 @@ export class TableRowNodeView {
|
|
|
361
359
|
this.editorScrollableElement.removeEventListener('scroll', this.onScroll);
|
|
362
360
|
}
|
|
363
361
|
|
|
364
|
-
this.eventDispatcher.off(
|
|
362
|
+
this.eventDispatcher.off('widthPlugin', this.onWidthPluginState);
|
|
365
363
|
this.eventDispatcher.off(tablePluginKey.key, this.onTablePluginState);
|
|
366
364
|
this.listening = false;
|
|
367
365
|
this.dom.removeEventListener('wheel', this.headerRowMouseScroll);
|
|
@@ -2,14 +2,14 @@ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
|
2
2
|
import { TableRowNodeView } from './nodeviews/tableRow';
|
|
3
3
|
import { pluginKey } from './plugin-key';
|
|
4
4
|
import { createPluginState } from './plugin-state';
|
|
5
|
-
export const createPlugin = (dispatch, eventDispatcher, initialState = () => []) => {
|
|
5
|
+
export const createPlugin = (dispatch, eventDispatcher, initialState = () => [], getEditorFeatureFlags) => {
|
|
6
6
|
return new SafePlugin({
|
|
7
7
|
state: createPluginState(dispatch, initialState),
|
|
8
8
|
key: pluginKey,
|
|
9
9
|
props: {
|
|
10
10
|
nodeViews: {
|
|
11
11
|
tableRow: (node, view, getPos) => {
|
|
12
|
-
return new TableRowNodeView(node, view, getPos, eventDispatcher);
|
|
12
|
+
return new TableRowNodeView(node, view, getPos, eventDispatcher, getEditorFeatureFlags);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -2,16 +2,15 @@ import { TableMap } from '@atlaskit/editor-tables/table-map';
|
|
|
2
2
|
import { getSelectionRect } from '@atlaskit/editor-tables/utils';
|
|
3
3
|
import { tableCellMinWidth } from '@atlaskit/editor-common/styles';
|
|
4
4
|
import { akEditorTableNumberColumnWidth } from '@atlaskit/editor-shared-styles';
|
|
5
|
-
import { getParentNodeWidth } from '
|
|
5
|
+
import { getParentNodeWidth } from '@atlaskit/editor-common/node-width';
|
|
6
6
|
import { pluginKey as editorDisabledPluginKey } from '../../../editor-disabled';
|
|
7
|
-
import { pluginKey as widthPluginKey } from '../../../width';
|
|
8
7
|
import { updateColumnWidths } from '../../transforms';
|
|
9
8
|
import { getSelectedColumnIndexes, updateResizeHandles } from '../../utils';
|
|
10
9
|
import { evenColumns, setDragging, stopResizing } from './commands';
|
|
11
10
|
import { getPluginState } from './plugin-factory';
|
|
12
11
|
import { currentColWidth, getLayoutSize, getResizeState, pointsAtCell, resizeColumn, updateControls } from './utils';
|
|
13
|
-
import { ACTION_SUBJECT,
|
|
14
|
-
export const handleMouseDown = (view, event, localResizeHandlePos) => {
|
|
12
|
+
import { ACTION_SUBJECT, EVENT_TYPE, TABLE_ACTION } from '@atlaskit/editor-common/analytics';
|
|
13
|
+
export const handleMouseDown = (view, event, localResizeHandlePos, getEditorContainerWidth, getEditorFeatureFlags, editorAnalyticsAPI) => {
|
|
15
14
|
const {
|
|
16
15
|
state,
|
|
17
16
|
dispatch
|
|
@@ -37,7 +36,7 @@ export const handleMouseDown = (view, event, localResizeHandlePos) => {
|
|
|
37
36
|
dom = dom.closest('table');
|
|
38
37
|
}
|
|
39
38
|
|
|
40
|
-
const containerWidth =
|
|
39
|
+
const containerWidth = getEditorContainerWidth();
|
|
41
40
|
const parentWidth = getParentNodeWidth(start, state, containerWidth);
|
|
42
41
|
let maxSize = parentWidth || getLayoutSize(dom.getAttribute('data-layout'), containerWidth.width, {});
|
|
43
42
|
|
|
@@ -126,7 +125,7 @@ export const handleMouseDown = (view, event, localResizeHandlePos) => {
|
|
|
126
125
|
|
|
127
126
|
if (colIndex === map.width - 1) {
|
|
128
127
|
const mouseUpTime = event.timeStamp;
|
|
129
|
-
|
|
128
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
130
129
|
action: TABLE_ACTION.ATTEMPTED_TABLE_WIDTH_CHANGE,
|
|
131
130
|
actionSubject: ACTION_SUBJECT.TABLE,
|
|
132
131
|
actionSubjectId: null,
|
|
@@ -137,7 +136,7 @@ export const handleMouseDown = (view, event, localResizeHandlePos) => {
|
|
|
137
136
|
delta: Math.abs(clientX - dragging.startX)
|
|
138
137
|
},
|
|
139
138
|
eventType: EVENT_TYPE.UI
|
|
140
|
-
});
|
|
139
|
+
})(tr);
|
|
141
140
|
}
|
|
142
141
|
}
|
|
143
142
|
|
|
@@ -167,7 +166,7 @@ export const handleMouseDown = (view, event, localResizeHandlePos) => {
|
|
|
167
166
|
const map = TableMap.get(table);
|
|
168
167
|
const colIndex = map.colCount($cell.pos - $cell.start(-1)) + $cell.nodeAfter.attrs.colspan - 1;
|
|
169
168
|
resizeColumn(resizeState, colIndex, clientX - dragging.startX, dom);
|
|
170
|
-
updateControls(state);
|
|
169
|
+
updateControls(getEditorFeatureFlags)(state);
|
|
171
170
|
updateResizeHandles(dom);
|
|
172
171
|
}
|
|
173
172
|
|
|
@@ -8,7 +8,7 @@ import { pluginKey } from './plugin-key';
|
|
|
8
8
|
import { getResizeCellPos } from './utils';
|
|
9
9
|
export function createPlugin(dispatch, {
|
|
10
10
|
lastColumnResizable = true
|
|
11
|
-
}) {
|
|
11
|
+
}, getEditorContainerWidth, getEditorFeatureFlags, editorAnalyticsAPI) {
|
|
12
12
|
return new SafePlugin({
|
|
13
13
|
key: pluginKey,
|
|
14
14
|
state: createPluginState(dispatch, {
|
|
@@ -40,7 +40,7 @@ export function createPlugin(dispatch, {
|
|
|
40
40
|
} = getPluginState(state);
|
|
41
41
|
|
|
42
42
|
if (resizeHandlePos !== null && !dragging) {
|
|
43
|
-
if (handleMouseDown(view, event, resizeHandlePos)) {
|
|
43
|
+
if (handleMouseDown(view, event, resizeHandlePos, getEditorContainerWidth, getEditorFeatureFlags, editorAnalyticsAPI)) {
|
|
44
44
|
const {
|
|
45
45
|
state,
|
|
46
46
|
dispatch
|
|
@@ -6,7 +6,7 @@ import { TableCssClassName as ClassName } from '../../../types';
|
|
|
6
6
|
import { getRowHeights } from '../../../utils';
|
|
7
7
|
import { colWidthsForRow } from '../../../utils/column-controls';
|
|
8
8
|
import { getPluginState as getMainPluginState } from '../../plugin-factory';
|
|
9
|
-
export const updateControls = state => {
|
|
9
|
+
export const updateControls = getEditorFeatureFlags => state => {
|
|
10
10
|
const {
|
|
11
11
|
tableRef
|
|
12
12
|
} = getMainPluginState(state);
|
|
@@ -46,7 +46,7 @@ export const updateControls = state => {
|
|
|
46
46
|
|
|
47
47
|
const rightShadows = wrapper.parentElement.querySelectorAll(`.${ClassName.TABLE_RIGHT_SHADOW}`);
|
|
48
48
|
const leftShadows = wrapper.parentElement.querySelectorAll(`.${ClassName.TABLE_LEFT_SHADOW}`);
|
|
49
|
-
updateOverflowShadows(state, wrapper, tableRef, rightShadows, leftShadows);
|
|
49
|
+
updateOverflowShadows(getEditorFeatureFlags)(state, wrapper, tableRef, rightShadows, leftShadows);
|
|
50
50
|
};
|
|
51
51
|
export const isClickNear = (event, click) => {
|
|
52
52
|
const dx = click.x - event.clientX,
|
|
@@ -2,8 +2,7 @@ import { calcTableWidth } from '@atlaskit/editor-common/styles';
|
|
|
2
2
|
import { getBreakpoint, mapBreakpointToLayoutMaxWidth } from '@atlaskit/editor-common/ui';
|
|
3
3
|
import { akEditorDefaultLayoutWidth, akEditorFullWidthLayoutWidth, akEditorGutterPadding, akEditorWideLayoutWidth, akEditorTableNumberColumnWidth } from '@atlaskit/editor-shared-styles';
|
|
4
4
|
import { containsClassName } from '../../../../../utils';
|
|
5
|
-
import {
|
|
6
|
-
import { getParentNodeWidth } from '../../../../../utils/node-width';
|
|
5
|
+
import { getParentNodeWidth } from '@atlaskit/editor-common/node-width';
|
|
7
6
|
export const tableLayoutToSize = {
|
|
8
7
|
default: akEditorDefaultLayoutWidth,
|
|
9
8
|
wide: akEditorWideLayoutWidth,
|
|
@@ -76,9 +75,10 @@ export const getTableMaxWidth = ({
|
|
|
76
75
|
table,
|
|
77
76
|
tableStart,
|
|
78
77
|
state,
|
|
79
|
-
layout
|
|
78
|
+
layout,
|
|
79
|
+
getEditorContainerWidth
|
|
80
80
|
}) => {
|
|
81
|
-
const containerWidth =
|
|
81
|
+
const containerWidth = getEditorContainerWidth();
|
|
82
82
|
const parentWidth = getParentNodeWidth(tableStart, state, containerWidth);
|
|
83
83
|
let maxWidth = parentWidth || getLayoutSize(layout, containerWidth.width, {});
|
|
84
84
|
|
|
@@ -222,7 +222,7 @@ export const normaliseTableLayout = input => {
|
|
|
222
222
|
return 'default';
|
|
223
223
|
}
|
|
224
224
|
};
|
|
225
|
-
export const getNewResizeStateFromSelectedColumns = (rect, state, domAtPos) => {
|
|
225
|
+
export const getNewResizeStateFromSelectedColumns = (rect, state, domAtPos, getEditorContainerWidth) => {
|
|
226
226
|
const {
|
|
227
227
|
totalRowCount,
|
|
228
228
|
totalColumnCount,
|
|
@@ -245,7 +245,8 @@ export const getNewResizeStateFromSelectedColumns = (rect, state, domAtPos) => {
|
|
|
245
245
|
table: table.node,
|
|
246
246
|
tableStart: table.start,
|
|
247
247
|
state,
|
|
248
|
-
layout
|
|
248
|
+
layout,
|
|
249
|
+
getEditorContainerWidth
|
|
249
250
|
});
|
|
250
251
|
const resizeState = getResizeState({
|
|
251
252
|
minWidth: tableCellMinWidth,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { keymap } from 'prosemirror-keymap';
|
|
2
2
|
import { bindKeymapWithCommand, moveRight, moveLeft } from '../../../keymaps';
|
|
3
3
|
import { arrowLeftFromTable, arrowRightFromTable } from '../commands/selection';
|
|
4
|
-
export function tableSelectionKeymapPlugin() {
|
|
4
|
+
export function tableSelectionKeymapPlugin(editorSelectionAPI) {
|
|
5
5
|
const list = {};
|
|
6
|
-
bindKeymapWithCommand(moveRight.common, arrowRightFromTable, list);
|
|
7
|
-
bindKeymapWithCommand(moveLeft.common, arrowLeftFromTable, list);
|
|
6
|
+
bindKeymapWithCommand(moveRight.common, arrowRightFromTable(editorSelectionAPI)(), list);
|
|
7
|
+
bindKeymapWithCommand(moveLeft.common, arrowLeftFromTable(editorSelectionAPI)(), list);
|
|
8
8
|
return keymap(list);
|
|
9
9
|
}
|
|
10
10
|
export default tableSelectionKeymapPlugin;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { defineMessages } from 'react-intl-next';
|
|
2
2
|
import RemoveIcon from '@atlaskit/icon/glyph/editor/remove';
|
|
3
|
-
import commonMessages from '
|
|
3
|
+
import commonMessages from '@atlaskit/editor-common/messages';
|
|
4
4
|
import { clearHoverSelection, hoverTable } from './commands';
|
|
5
5
|
import { deleteTableWithAnalytics, toggleHeaderColumnWithAnalytics, toggleHeaderRowWithAnalytics, toggleNumberColumnWithAnalytics, insertRowWithAnalytics, deleteRowsWithAnalytics, mergeCellsWithAnalytics, splitCellWithAnalytics, deleteColumnsWithAnalytics, emptyMultipleCellsWithAnalytics, insertColumnWithAnalytics, wrapTableInExpandWithAnalytics } from './commands-with-analytics';
|
|
6
6
|
import { getPluginState } from './pm-plugins/plugin-factory';
|
|
7
7
|
import { pluginKey as tableResizingPluginKey } from './pm-plugins/table-resizing';
|
|
8
8
|
import { TableCssClassName } from './types';
|
|
9
9
|
import { isReferencedSource } from './utils/referentiality';
|
|
10
|
-
import { INPUT_METHOD } from '
|
|
10
|
+
import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
|
|
11
11
|
import { findCellRectClosestToPos, findTable, getSelectionRect, isSelectionType } from '@atlaskit/editor-tables/utils';
|
|
12
12
|
import { canMergeCells } from './transforms';
|
|
13
13
|
import { splitCell } from '@atlaskit/editor-tables/utils';
|
|
14
14
|
import tableMessages from './ui/messages';
|
|
15
15
|
import { messages as ContextualMenuMessages } from './ui/FloatingContextualMenu/ContextualMenu';
|
|
16
16
|
import { findParentDomRefOfType } from 'prosemirror-utils';
|
|
17
|
-
import { closestElement } from '
|
|
18
|
-
import { getCopyButtonConfig, showCopyButton } from '../copy-button/toolbar';
|
|
19
|
-
|
|
17
|
+
import { closestElement } from '@atlaskit/editor-common/utils';
|
|
18
|
+
import { getCopyButtonConfig, showCopyButton } from '../copy-button/toolbar';
|
|
19
|
+
// TODO: ED-14403 investigate why these translations don't work
|
|
20
20
|
export const messages = defineMessages({
|
|
21
21
|
tableOptions: {
|
|
22
22
|
id: 'fabric.editor.tableOptions',
|
|
@@ -46,29 +46,29 @@ export const messages = defineMessages({
|
|
|
46
46
|
});
|
|
47
47
|
export const getToolbarMenuConfig = (config, state, {
|
|
48
48
|
formatMessage
|
|
49
|
-
}) => {
|
|
49
|
+
}, editorAnalyticsAPI) => {
|
|
50
50
|
const options = [{
|
|
51
51
|
id: 'editor.table.headerRow',
|
|
52
52
|
title: formatMessage(messages.headerRow),
|
|
53
|
-
onClick: toggleHeaderRowWithAnalytics(),
|
|
53
|
+
onClick: toggleHeaderRowWithAnalytics(editorAnalyticsAPI),
|
|
54
54
|
selected: state.isHeaderRowEnabled,
|
|
55
55
|
hidden: !config.allowHeaderRow
|
|
56
56
|
}, {
|
|
57
57
|
id: 'editor.table.headerColumn',
|
|
58
58
|
title: formatMessage(messages.headerColumn),
|
|
59
|
-
onClick: toggleHeaderColumnWithAnalytics(),
|
|
59
|
+
onClick: toggleHeaderColumnWithAnalytics(editorAnalyticsAPI),
|
|
60
60
|
selected: state.isHeaderColumnEnabled,
|
|
61
61
|
hidden: !config.allowHeaderColumn
|
|
62
62
|
}, {
|
|
63
63
|
id: 'editor.table.numberedColumn',
|
|
64
64
|
title: formatMessage(messages.numberedColumn),
|
|
65
|
-
onClick: toggleNumberColumnWithAnalytics(),
|
|
65
|
+
onClick: toggleNumberColumnWithAnalytics(editorAnalyticsAPI),
|
|
66
66
|
selected: state.isNumberColumnEnabled,
|
|
67
67
|
hidden: !config.allowNumberColumn
|
|
68
68
|
}, {
|
|
69
69
|
id: 'editor.table.collapseTable',
|
|
70
70
|
title: formatMessage(messages.collapseTable),
|
|
71
|
-
onClick: wrapTableInExpandWithAnalytics(),
|
|
71
|
+
onClick: wrapTableInExpandWithAnalytics(editorAnalyticsAPI),
|
|
72
72
|
selected: !!state.isTableCollapsed,
|
|
73
73
|
disabled: !state.canCollapseTable,
|
|
74
74
|
hidden: !config.allowCollapse
|
|
@@ -86,7 +86,7 @@ export const getToolbarMenuConfig = (config, state, {
|
|
|
86
86
|
|
|
87
87
|
export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
|
|
88
88
|
formatMessage
|
|
89
|
-
}) => {
|
|
89
|
+
}, getEditorContainerWidth, editorAnalyticsAPI) => {
|
|
90
90
|
const {
|
|
91
91
|
top,
|
|
92
92
|
bottom,
|
|
@@ -103,7 +103,7 @@ export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
|
|
|
103
103
|
const index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.right;
|
|
104
104
|
|
|
105
105
|
if (index) {
|
|
106
|
-
insertColumnWithAnalytics(INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
|
|
106
|
+
insertColumnWithAnalytics(getEditorContainerWidth, editorAnalyticsAPI)(INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
return true;
|
|
@@ -118,7 +118,7 @@ export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
|
|
|
118
118
|
const index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.bottom;
|
|
119
119
|
|
|
120
120
|
if (index) {
|
|
121
|
-
insertRowWithAnalytics(INPUT_METHOD.FLOATING_TB, {
|
|
121
|
+
insertRowWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.FLOATING_TB, {
|
|
122
122
|
index,
|
|
123
123
|
moveCursorToInsertedRow: true
|
|
124
124
|
})(state, dispatch);
|
|
@@ -137,7 +137,7 @@ export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
|
|
|
137
137
|
const selectionRect = getClosestSelectionRect(state);
|
|
138
138
|
|
|
139
139
|
if (selectionRect) {
|
|
140
|
-
deleteColumnsWithAnalytics(INPUT_METHOD.FLOATING_TB, selectionRect)(state, dispatch, view);
|
|
140
|
+
deleteColumnsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.FLOATING_TB, selectionRect)(state, dispatch, view);
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
return true;
|
|
@@ -153,7 +153,7 @@ export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
|
|
|
153
153
|
const selectionRect = getClosestSelectionRect(state);
|
|
154
154
|
|
|
155
155
|
if (selectionRect) {
|
|
156
|
-
deleteRowsWithAnalytics(INPUT_METHOD.FLOATING_TB, selectionRect, false)(state, dispatch);
|
|
156
|
+
deleteRowsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.FLOATING_TB, selectionRect, false)(state, dispatch);
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
return true;
|
|
@@ -163,13 +163,13 @@ export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
|
|
|
163
163
|
}, {
|
|
164
164
|
id: 'editor.table.mergeCells',
|
|
165
165
|
title: formatMessage(ContextualMenuMessages.mergeCells),
|
|
166
|
-
onClick: mergeCellsWithAnalytics(),
|
|
166
|
+
onClick: mergeCellsWithAnalytics(editorAnalyticsAPI),
|
|
167
167
|
selected: false,
|
|
168
168
|
disabled: !canMergeCells(editorState.tr)
|
|
169
169
|
}, {
|
|
170
170
|
id: 'editor.table.splitCell',
|
|
171
171
|
title: formatMessage(ContextualMenuMessages.splitCell),
|
|
172
|
-
onClick: splitCellWithAnalytics(),
|
|
172
|
+
onClick: splitCellWithAnalytics(editorAnalyticsAPI),
|
|
173
173
|
selected: false,
|
|
174
174
|
disabled: !splitCell(editorState)
|
|
175
175
|
}, {
|
|
@@ -181,7 +181,7 @@ export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
|
|
|
181
181
|
const {
|
|
182
182
|
targetCellPosition
|
|
183
183
|
} = getPluginState(state);
|
|
184
|
-
emptyMultipleCellsWithAnalytics(INPUT_METHOD.FLOATING_TB, targetCellPosition)(state, dispatch);
|
|
184
|
+
emptyMultipleCellsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.FLOATING_TB, targetCellPosition)(state, dispatch);
|
|
185
185
|
return true;
|
|
186
186
|
},
|
|
187
187
|
selected: false,
|
|
@@ -201,15 +201,15 @@ const getClosestSelectionRect = state => {
|
|
|
201
201
|
return isSelectionType(selection, 'cell') ? getSelectionRect(selection) : findCellRectClosestToPos(selection.$from);
|
|
202
202
|
};
|
|
203
203
|
|
|
204
|
-
export const getToolbarConfig = config => (state, intl) => {
|
|
204
|
+
export const getToolbarConfig = (getEditorContainerWidth, editorAnalyticsAPI) => config => (state, intl) => {
|
|
205
205
|
const tableObject = findTable(state.selection);
|
|
206
206
|
const pluginState = getPluginState(state);
|
|
207
207
|
const resizeState = tableResizingPluginKey.getState(state);
|
|
208
208
|
|
|
209
209
|
if (tableObject && pluginState.editorHasFocus) {
|
|
210
210
|
const nodeType = state.schema.nodes.table;
|
|
211
|
-
const menu = getToolbarMenuConfig(config, pluginState, intl);
|
|
212
|
-
const cellItems = getCellItems(config, state, intl); // Check if we need to show confirm dialog for delete button
|
|
211
|
+
const menu = getToolbarMenuConfig(config, pluginState, intl, editorAnalyticsAPI);
|
|
212
|
+
const cellItems = getCellItems(config, state, intl, getEditorContainerWidth, editorAnalyticsAPI); // Check if we need to show confirm dialog for delete button
|
|
213
213
|
|
|
214
214
|
let confirmDialog;
|
|
215
215
|
const localId = tableObject.node.attrs.localId;
|
|
@@ -252,7 +252,7 @@ export const getToolbarConfig = config => (state, intl) => {
|
|
|
252
252
|
type: 'button',
|
|
253
253
|
appearance: 'danger',
|
|
254
254
|
icon: RemoveIcon,
|
|
255
|
-
onClick: deleteTableWithAnalytics(),
|
|
255
|
+
onClick: deleteTableWithAnalytics(editorAnalyticsAPI),
|
|
256
256
|
disabled: !!resizeState && !!resizeState.dragging,
|
|
257
257
|
onMouseEnter: hoverTable(true),
|
|
258
258
|
onMouseLeave: clearHoverSelection(),
|
|
@@ -274,14 +274,14 @@ const separator = hidden => {
|
|
|
274
274
|
|
|
275
275
|
const getCellItems = (pluginConfig, state, {
|
|
276
276
|
formatMessage
|
|
277
|
-
}) => {
|
|
277
|
+
}, getEditorContainerWidth, editorAnalyticsAPI) => {
|
|
278
278
|
if (pluginConfig.allowCellOptionsInFloatingToolbar) {
|
|
279
279
|
const initialSelectionRect = getClosestSelectionRect(state);
|
|
280
280
|
|
|
281
281
|
if (initialSelectionRect) {
|
|
282
282
|
const cellOptions = getToolbarCellOptionsConfig(state, initialSelectionRect, {
|
|
283
283
|
formatMessage
|
|
284
|
-
});
|
|
284
|
+
}, getEditorContainerWidth, editorAnalyticsAPI);
|
|
285
285
|
return [cellOptions, separator(cellOptions.hidden)];
|
|
286
286
|
}
|
|
287
287
|
}
|
|
@@ -116,7 +116,7 @@ export const updateColumnWidths = (resizeState, table, start) => tr => {
|
|
|
116
116
|
* @returns Updated transaction with rescaled columns for a given table
|
|
117
117
|
*/
|
|
118
118
|
|
|
119
|
-
export const rescaleColumns = (table, view) => tr => {
|
|
119
|
+
export const rescaleColumns = getEditorContainerWidth => (table, view) => tr => {
|
|
120
120
|
// If the table has been not been resized we skip updating the size
|
|
121
121
|
// of columns here.
|
|
122
122
|
if (!view || !hasTableBeenResized(table.node)) {
|
|
@@ -140,7 +140,8 @@ export const rescaleColumns = (table, view) => tr => {
|
|
|
140
140
|
table: table.node,
|
|
141
141
|
tableStart: table.start,
|
|
142
142
|
state,
|
|
143
|
-
layout
|
|
143
|
+
layout,
|
|
144
|
+
getEditorContainerWidth
|
|
144
145
|
});
|
|
145
146
|
let resizeState = getResizeState({
|
|
146
147
|
minWidth: tableCellMinWidth,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { TextSelection } from 'prosemirror-state';
|
|
2
2
|
import { Slice, Fragment } from 'prosemirror-model';
|
|
3
3
|
import { findTable, isTableSelected } from '@atlaskit/editor-tables/utils';
|
|
4
|
-
import {
|
|
4
|
+
import { TABLE_ACTION, ACTION_SUBJECT, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
5
5
|
import { getSelectedTableInfo } from '../utils';
|
|
6
|
-
export const replaceSelectedTable = (state, content, inputMethod) => {
|
|
6
|
+
export const replaceSelectedTable = (state, content, inputMethod, editorAnalyticsAPI) => {
|
|
7
7
|
if (isTableSelected(state.selection)) {
|
|
8
8
|
const table = findTable(state.selection);
|
|
9
9
|
|
|
@@ -15,7 +15,7 @@ export const replaceSelectedTable = (state, content, inputMethod) => {
|
|
|
15
15
|
totalRowCount,
|
|
16
16
|
totalColumnCount
|
|
17
17
|
} = getSelectedTableInfo(state.selection);
|
|
18
|
-
|
|
18
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
19
19
|
action: TABLE_ACTION.REPLACED,
|
|
20
20
|
actionSubject: ACTION_SUBJECT.TABLE,
|
|
21
21
|
attributes: {
|
|
@@ -24,7 +24,7 @@ export const replaceSelectedTable = (state, content, inputMethod) => {
|
|
|
24
24
|
inputMethod
|
|
25
25
|
},
|
|
26
26
|
eventType: EVENT_TYPE.TRACK
|
|
27
|
-
});
|
|
27
|
+
})(tr);
|
|
28
28
|
return tr;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -13,8 +13,8 @@ import { closestElement } from '../../../../utils/dom';
|
|
|
13
13
|
import { toggleContextualMenu } from '../../commands';
|
|
14
14
|
import { TableCssClassName as ClassName } from '../../types';
|
|
15
15
|
import messages from '../../ui/messages';
|
|
16
|
-
import { CONTENT_COMPONENT } from '
|
|
17
|
-
import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '
|
|
16
|
+
import { CONTENT_COMPONENT } from '@atlaskit/editor-common/analytics';
|
|
17
|
+
import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
18
18
|
import { tableFloatingCellButtonStyles } from './styles';
|
|
19
19
|
import { ErrorBoundary } from '../../../../ui/ErrorBoundary';
|
|
20
20
|
export class FloatingContextualButtonInner extends React.Component {
|