@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,7 +1,7 @@
|
|
|
1
1
|
import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
|
|
2
2
|
import { findCellClosestToPos, findCellRectClosestToPos, getSelectionRect } from '@atlaskit/editor-tables/utils';
|
|
3
3
|
import { tableBackgroundColorPalette } from '@atlaskit/adf-schema';
|
|
4
|
-
import { ACTION_SUBJECT, EVENT_TYPE, INPUT_METHOD, TABLE_ACTION, TABLE_BREAKOUT
|
|
4
|
+
import { ACTION_SUBJECT, EVENT_TYPE, INPUT_METHOD, TABLE_ACTION, TABLE_BREAKOUT } from '@atlaskit/editor-common/analytics';
|
|
5
5
|
import { clearMultipleCells } from './commands/clear';
|
|
6
6
|
import { wrapTableInExpand } from './commands/collapse';
|
|
7
7
|
import { insertColumn, insertRow } from './commands/insert';
|
|
@@ -13,6 +13,7 @@ import { distributeColumnsWidths } from './pm-plugins/table-resizing/commands';
|
|
|
13
13
|
import { getPluginState } from './pm-plugins/plugin-factory';
|
|
14
14
|
import { deleteColumns, deleteRows, mergeCells } from './transforms';
|
|
15
15
|
import { checkIfNumberColumnEnabled, getSelectedCellInfo, getSelectedTableInfo } from './utils';
|
|
16
|
+
import { withEditorAnalyticsAPI } from './utils/analytics';
|
|
16
17
|
import { getAllowAddColumnCustomStep } from './utils/get-allow-add-column-custom-step';
|
|
17
18
|
const TABLE_BREAKOUT_NAME_MAPPING = {
|
|
18
19
|
default: TABLE_BREAKOUT.NORMAL,
|
|
@@ -20,7 +21,7 @@ const TABLE_BREAKOUT_NAME_MAPPING = {
|
|
|
20
21
|
'full-width': TABLE_BREAKOUT.FULL_WIDTH
|
|
21
22
|
}; // #region Analytics wrappers
|
|
22
23
|
|
|
23
|
-
export const emptyMultipleCellsWithAnalytics = (inputMethod, targetCellPosition) =>
|
|
24
|
+
export const emptyMultipleCellsWithAnalytics = editorAnalyticsAPI => (inputMethod, targetCellPosition) => withEditorAnalyticsAPI(({
|
|
24
25
|
selection
|
|
25
26
|
}) => {
|
|
26
27
|
const {
|
|
@@ -42,8 +43,8 @@ export const emptyMultipleCellsWithAnalytics = (inputMethod, targetCellPosition)
|
|
|
42
43
|
},
|
|
43
44
|
eventType: EVENT_TYPE.TRACK
|
|
44
45
|
};
|
|
45
|
-
})(clearMultipleCells(targetCellPosition));
|
|
46
|
-
export const mergeCellsWithAnalytics =
|
|
46
|
+
})(editorAnalyticsAPI)(clearMultipleCells(targetCellPosition));
|
|
47
|
+
export const mergeCellsWithAnalytics = editorAnalyticsAPI => withEditorAnalyticsAPI(({
|
|
47
48
|
selection
|
|
48
49
|
}) => {
|
|
49
50
|
const {
|
|
@@ -66,14 +67,14 @@ export const mergeCellsWithAnalytics = () => withAnalytics(({
|
|
|
66
67
|
},
|
|
67
68
|
eventType: EVENT_TYPE.TRACK
|
|
68
69
|
};
|
|
69
|
-
})((state, dispatch) => {
|
|
70
|
+
})(editorAnalyticsAPI)((state, dispatch) => {
|
|
70
71
|
if (dispatch) {
|
|
71
72
|
dispatch(mergeCells(state.tr));
|
|
72
73
|
}
|
|
73
74
|
|
|
74
75
|
return true;
|
|
75
76
|
});
|
|
76
|
-
export const splitCellWithAnalytics =
|
|
77
|
+
export const splitCellWithAnalytics = editorAnalyticsAPI => withEditorAnalyticsAPI(({
|
|
77
78
|
selection
|
|
78
79
|
}) => {
|
|
79
80
|
const {
|
|
@@ -103,8 +104,8 @@ export const splitCellWithAnalytics = () => withAnalytics(({
|
|
|
103
104
|
}
|
|
104
105
|
|
|
105
106
|
return;
|
|
106
|
-
})(splitCell);
|
|
107
|
-
export const setColorWithAnalytics = (cellColor, targetCellPosition) =>
|
|
107
|
+
})(editorAnalyticsAPI)(splitCell);
|
|
108
|
+
export const setColorWithAnalytics = editorAnalyticsAPI => (cellColor, targetCellPosition) => withEditorAnalyticsAPI(({
|
|
108
109
|
selection
|
|
109
110
|
}) => {
|
|
110
111
|
const {
|
|
@@ -128,10 +129,10 @@ export const setColorWithAnalytics = (cellColor, targetCellPosition) => withAnal
|
|
|
128
129
|
},
|
|
129
130
|
eventType: EVENT_TYPE.TRACK
|
|
130
131
|
};
|
|
131
|
-
})(setMultipleCellAttrs({
|
|
132
|
+
})(editorAnalyticsAPI)(setMultipleCellAttrs({
|
|
132
133
|
background: cellColor
|
|
133
134
|
}, targetCellPosition));
|
|
134
|
-
export const addRowAroundSelection = side => (state, dispatch) => {
|
|
135
|
+
export const addRowAroundSelection = editorAnalyticsAPI => side => (state, dispatch) => {
|
|
135
136
|
const {
|
|
136
137
|
selection
|
|
137
138
|
} = state;
|
|
@@ -144,12 +145,12 @@ export const addRowAroundSelection = side => (state, dispatch) => {
|
|
|
144
145
|
|
|
145
146
|
const position = isCellSelection && side === 'TOP' ? rect.top : rect.bottom - 1;
|
|
146
147
|
const offset = side === 'BOTTOM' ? 1 : 0;
|
|
147
|
-
return insertRowWithAnalytics(INPUT_METHOD.SHORTCUT, {
|
|
148
|
+
return insertRowWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.SHORTCUT, {
|
|
148
149
|
index: position + offset,
|
|
149
150
|
moveCursorToInsertedRow: false
|
|
150
151
|
})(state, dispatch);
|
|
151
152
|
};
|
|
152
|
-
export const insertRowWithAnalytics = (inputMethod, options) =>
|
|
153
|
+
export const insertRowWithAnalytics = editorAnalyticsAPI => (inputMethod, options) => withEditorAnalyticsAPI(state => {
|
|
153
154
|
const {
|
|
154
155
|
totalRowCount,
|
|
155
156
|
totalColumnCount
|
|
@@ -166,8 +167,8 @@ export const insertRowWithAnalytics = (inputMethod, options) => withAnalytics(st
|
|
|
166
167
|
},
|
|
167
168
|
eventType: EVENT_TYPE.TRACK
|
|
168
169
|
};
|
|
169
|
-
})(insertRow(options.index, options.moveCursorToInsertedRow));
|
|
170
|
-
export const insertColumnWithAnalytics = (inputMethod, position) =>
|
|
170
|
+
})(editorAnalyticsAPI)(insertRow(options.index, options.moveCursorToInsertedRow));
|
|
171
|
+
export const insertColumnWithAnalytics = (getEditorContainerWidth, editorAnalyticsAPI) => (inputMethod, position) => withEditorAnalyticsAPI(state => {
|
|
171
172
|
const {
|
|
172
173
|
totalRowCount,
|
|
173
174
|
totalColumnCount
|
|
@@ -184,8 +185,8 @@ export const insertColumnWithAnalytics = (inputMethod, position) => withAnalytic
|
|
|
184
185
|
},
|
|
185
186
|
eventType: EVENT_TYPE.TRACK
|
|
186
187
|
};
|
|
187
|
-
})(insertColumn(position));
|
|
188
|
-
export const deleteRowsWithAnalytics = (inputMethod, rect, isHeaderRowRequired) =>
|
|
188
|
+
})(editorAnalyticsAPI)(insertColumn(getEditorContainerWidth)(position));
|
|
189
|
+
export const deleteRowsWithAnalytics = editorAnalyticsAPI => (inputMethod, rect, isHeaderRowRequired) => withEditorAnalyticsAPI(({
|
|
189
190
|
selection
|
|
190
191
|
}) => {
|
|
191
192
|
const {
|
|
@@ -205,14 +206,14 @@ export const deleteRowsWithAnalytics = (inputMethod, rect, isHeaderRowRequired)
|
|
|
205
206
|
},
|
|
206
207
|
eventType: EVENT_TYPE.TRACK
|
|
207
208
|
};
|
|
208
|
-
})((state, dispatch) => {
|
|
209
|
+
})(editorAnalyticsAPI)((state, dispatch) => {
|
|
209
210
|
if (dispatch) {
|
|
210
211
|
dispatch(deleteRows(rect, isHeaderRowRequired)(state.tr));
|
|
211
212
|
}
|
|
212
213
|
|
|
213
214
|
return true;
|
|
214
215
|
});
|
|
215
|
-
export const deleteColumnsWithAnalytics = (inputMethod, rect) =>
|
|
216
|
+
export const deleteColumnsWithAnalytics = editorAnalyticsAPI => (inputMethod, rect) => withEditorAnalyticsAPI(({
|
|
216
217
|
selection
|
|
217
218
|
}) => {
|
|
218
219
|
const {
|
|
@@ -232,7 +233,7 @@ export const deleteColumnsWithAnalytics = (inputMethod, rect) => withAnalytics((
|
|
|
232
233
|
},
|
|
233
234
|
eventType: EVENT_TYPE.TRACK
|
|
234
235
|
};
|
|
235
|
-
})((state, dispatch) => {
|
|
236
|
+
})(editorAnalyticsAPI)((state, dispatch) => {
|
|
236
237
|
if (dispatch) {
|
|
237
238
|
dispatch(deleteColumns(rect, getAllowAddColumnCustomStep(state))(state.tr));
|
|
238
239
|
}
|
|
@@ -257,13 +258,13 @@ const getTableDeletedAnalytics = (selection, inputMethod) => {
|
|
|
257
258
|
};
|
|
258
259
|
};
|
|
259
260
|
|
|
260
|
-
export const deleteTableWithAnalytics =
|
|
261
|
+
export const deleteTableWithAnalytics = editorAnalyticsAPI => withEditorAnalyticsAPI(({
|
|
261
262
|
selection
|
|
262
|
-
}) => getTableDeletedAnalytics(selection, INPUT_METHOD.FLOATING_TB))(deleteTable);
|
|
263
|
-
export const deleteTableIfSelectedWithAnalytics = inputMethod =>
|
|
263
|
+
}) => getTableDeletedAnalytics(selection, INPUT_METHOD.FLOATING_TB))(editorAnalyticsAPI)(deleteTable);
|
|
264
|
+
export const deleteTableIfSelectedWithAnalytics = editorAnalyticsAPI => inputMethod => withEditorAnalyticsAPI(({
|
|
264
265
|
selection
|
|
265
|
-
}) => getTableDeletedAnalytics(selection, inputMethod))(deleteTableIfSelected);
|
|
266
|
-
export const toggleHeaderRowWithAnalytics =
|
|
266
|
+
}) => getTableDeletedAnalytics(selection, inputMethod))(editorAnalyticsAPI)(deleteTableIfSelected);
|
|
267
|
+
export const toggleHeaderRowWithAnalytics = editorAnalyticsAPI => withEditorAnalyticsAPI(state => {
|
|
267
268
|
const {
|
|
268
269
|
totalRowCount,
|
|
269
270
|
totalColumnCount
|
|
@@ -282,8 +283,8 @@ export const toggleHeaderRowWithAnalytics = () => withAnalytics(state => {
|
|
|
282
283
|
},
|
|
283
284
|
eventType: EVENT_TYPE.TRACK
|
|
284
285
|
};
|
|
285
|
-
})(toggleHeaderRow);
|
|
286
|
-
export const toggleHeaderColumnWithAnalytics =
|
|
286
|
+
})(editorAnalyticsAPI)(toggleHeaderRow);
|
|
287
|
+
export const toggleHeaderColumnWithAnalytics = editorAnalyticsAPI => withEditorAnalyticsAPI(state => {
|
|
287
288
|
const {
|
|
288
289
|
totalRowCount,
|
|
289
290
|
totalColumnCount
|
|
@@ -302,8 +303,8 @@ export const toggleHeaderColumnWithAnalytics = () => withAnalytics(state => {
|
|
|
302
303
|
},
|
|
303
304
|
eventType: EVENT_TYPE.TRACK
|
|
304
305
|
};
|
|
305
|
-
})(toggleHeaderColumn);
|
|
306
|
-
export const toggleNumberColumnWithAnalytics =
|
|
306
|
+
})(editorAnalyticsAPI)(toggleHeaderColumn);
|
|
307
|
+
export const toggleNumberColumnWithAnalytics = editorAnalyticsAPI => withEditorAnalyticsAPI(state => {
|
|
307
308
|
const {
|
|
308
309
|
totalRowCount,
|
|
309
310
|
totalColumnCount
|
|
@@ -319,8 +320,8 @@ export const toggleNumberColumnWithAnalytics = () => withAnalytics(state => {
|
|
|
319
320
|
},
|
|
320
321
|
eventType: EVENT_TYPE.TRACK
|
|
321
322
|
};
|
|
322
|
-
})(toggleNumberColumn);
|
|
323
|
-
export const toggleTableLayoutWithAnalytics =
|
|
323
|
+
})(editorAnalyticsAPI)(toggleNumberColumn);
|
|
324
|
+
export const toggleTableLayoutWithAnalytics = editorAnalyticsAPI => withEditorAnalyticsAPI(state => {
|
|
324
325
|
const {
|
|
325
326
|
table,
|
|
326
327
|
totalRowCount,
|
|
@@ -346,8 +347,8 @@ export const toggleTableLayoutWithAnalytics = () => withAnalytics(state => {
|
|
|
346
347
|
}
|
|
347
348
|
|
|
348
349
|
return;
|
|
349
|
-
})(toggleTableLayout);
|
|
350
|
-
export const sortColumnWithAnalytics = (inputMethod, columnIndex, sortOrder) =>
|
|
350
|
+
})(editorAnalyticsAPI)(toggleTableLayout);
|
|
351
|
+
export const sortColumnWithAnalytics = editorAnalyticsAPI => (inputMethod, columnIndex, sortOrder) => withEditorAnalyticsAPI(state => {
|
|
351
352
|
const {
|
|
352
353
|
totalRowCount,
|
|
353
354
|
totalColumnCount
|
|
@@ -365,13 +366,13 @@ export const sortColumnWithAnalytics = (inputMethod, columnIndex, sortOrder) =>
|
|
|
365
366
|
},
|
|
366
367
|
eventType: EVENT_TYPE.TRACK
|
|
367
368
|
};
|
|
368
|
-
})(sortByColumn(columnIndex, sortOrder));
|
|
369
|
-
export const distributeColumnsWidthsWithAnalytics = (inputMethod, {
|
|
369
|
+
})(editorAnalyticsAPI)(sortByColumn(columnIndex, sortOrder));
|
|
370
|
+
export const distributeColumnsWidthsWithAnalytics = editorAnalyticsAPI => (inputMethod, {
|
|
370
371
|
resizeState,
|
|
371
372
|
table,
|
|
372
373
|
attributes
|
|
373
374
|
}) => {
|
|
374
|
-
return
|
|
375
|
+
return withEditorAnalyticsAPI(() => {
|
|
375
376
|
return {
|
|
376
377
|
action: TABLE_ACTION.DISTRIBUTED_COLUMNS_WIDTHS,
|
|
377
378
|
actionSubject: ACTION_SUBJECT.TABLE,
|
|
@@ -382,7 +383,7 @@ export const distributeColumnsWidthsWithAnalytics = (inputMethod, {
|
|
|
382
383
|
},
|
|
383
384
|
eventType: EVENT_TYPE.TRACK
|
|
384
385
|
};
|
|
385
|
-
})((state, dispatch) => {
|
|
386
|
+
})(editorAnalyticsAPI)((state, dispatch) => {
|
|
386
387
|
if (dispatch) {
|
|
387
388
|
distributeColumnsWidths(resizeState, table)(state, dispatch);
|
|
388
389
|
}
|
|
@@ -390,7 +391,7 @@ export const distributeColumnsWidthsWithAnalytics = (inputMethod, {
|
|
|
390
391
|
return true;
|
|
391
392
|
});
|
|
392
393
|
};
|
|
393
|
-
export const wrapTableInExpandWithAnalytics =
|
|
394
|
+
export const wrapTableInExpandWithAnalytics = editorAnalyticsAPI => withEditorAnalyticsAPI(state => {
|
|
394
395
|
const {
|
|
395
396
|
totalRowCount,
|
|
396
397
|
totalColumnCount
|
|
@@ -405,4 +406,4 @@ export const wrapTableInExpandWithAnalytics = () => withAnalytics(state => {
|
|
|
405
406
|
},
|
|
406
407
|
eventType: EVENT_TYPE.TRACK
|
|
407
408
|
};
|
|
408
|
-
})(wrapTableInExpand); // #endregion
|
|
409
|
+
})(editorAnalyticsAPI)(wrapTableInExpand); // #endregion
|
|
@@ -5,7 +5,7 @@ import { cellAround, findCellRectClosestToPos, findTable, getSelectionRect, remo
|
|
|
5
5
|
import { browser } from '@atlaskit/editor-common/utils';
|
|
6
6
|
import { isElementInTableCell, isLastItemMediaGroup, setNodeSelection } from '../../utils';
|
|
7
7
|
import { closestElement } from '../../utils/dom';
|
|
8
|
-
import { ACTION_SUBJECT,
|
|
8
|
+
import { ACTION_SUBJECT, EVENT_TYPE, TABLE_ACTION } from '@atlaskit/editor-common/analytics';
|
|
9
9
|
import { addResizeHandleDecorations, clearHoverSelection, hideInsertColumnOrRowButton, hideResizeHandleLine, hoverColumns, selectColumn, setEditorFocus, showInsertColumnButton, showInsertRowButton, showResizeHandleLine } from './commands';
|
|
10
10
|
import { getPluginState } from './pm-plugins/plugin-factory';
|
|
11
11
|
import { getPluginState as getResizePluginState } from './pm-plugins/table-resizing/plugin-factory';
|
|
@@ -13,7 +13,6 @@ import { deleteColumns, deleteRows } from './transforms';
|
|
|
13
13
|
import { RESIZE_HANDLE_AREA_DECORATION_GAP } from './types';
|
|
14
14
|
import { getColumnOrRowIndex, getMousePositionHorizontalRelativeByElement, getMousePositionVerticalRelativeByElement, getSelectedCellInfo, hasResizeHandler, isCell, isColumnControlsDecorations, isCornerButton, isInsertRowButton, isResizeHandleDecoration, isRowControlsButton, isTableControlsButton, isTableContainerOrWrapper } from './utils';
|
|
15
15
|
import { getAllowAddColumnCustomStep } from './utils/get-allow-add-column-custom-step';
|
|
16
|
-
import { getFeatureFlags } from '../feature-flags-context';
|
|
17
16
|
|
|
18
17
|
const isFocusingCalendar = event => event instanceof FocusEvent && event.relatedTarget instanceof HTMLElement && event.relatedTarget.getAttribute('aria-label') === 'calendar';
|
|
19
18
|
|
|
@@ -204,7 +203,7 @@ export const handleMouseLeave = (view, event) => {
|
|
|
204
203
|
|
|
205
204
|
return false;
|
|
206
205
|
};
|
|
207
|
-
export const handleMouseMove = (view, event, tableCellOptimization, elementContentRects) => {
|
|
206
|
+
export const handleMouseMove = getEditorFeatureFlags => (view, event, tableCellOptimization, elementContentRects) => {
|
|
208
207
|
if (!(event.target instanceof HTMLElement)) {
|
|
209
208
|
return false;
|
|
210
209
|
}
|
|
@@ -245,7 +244,7 @@ export const handleMouseMove = (view, event, tableCellOptimization, elementConte
|
|
|
245
244
|
|
|
246
245
|
const {
|
|
247
246
|
mouseMoveOptimization
|
|
248
|
-
} =
|
|
247
|
+
} = getEditorFeatureFlags(); // we only want to allow mouseMoveOptimisation when tableCellOptimization is enabled
|
|
249
248
|
// because it relies on tableCell node view that is added via tableCellOptimization
|
|
250
249
|
|
|
251
250
|
const useMouseMoveOptimisation = tableCellOptimization && mouseMoveOptimization;
|
|
@@ -305,7 +304,7 @@ export function handleTripleClick(view, pos) {
|
|
|
305
304
|
|
|
306
305
|
return false;
|
|
307
306
|
}
|
|
308
|
-
export const handleCut = (oldTr, oldState, newState) => {
|
|
307
|
+
export const handleCut = (oldTr, oldState, newState, editorAnalyticsAPI) => {
|
|
309
308
|
const oldSelection = oldState.tr.selection;
|
|
310
309
|
let {
|
|
311
310
|
tr
|
|
@@ -329,7 +328,7 @@ export const handleCut = (oldTr, oldState, newState) => {
|
|
|
329
328
|
totalColumnCount
|
|
330
329
|
} = getSelectedCellInfo(tr.selection); // Reassigning to make it more obvious and consistent
|
|
331
330
|
|
|
332
|
-
|
|
331
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
333
332
|
action: TABLE_ACTION.CUT,
|
|
334
333
|
actionSubject: ACTION_SUBJECT.TABLE,
|
|
335
334
|
actionSubjectId: null,
|
|
@@ -341,7 +340,7 @@ export const handleCut = (oldTr, oldState, newState) => {
|
|
|
341
340
|
totalColumnCount
|
|
342
341
|
},
|
|
343
342
|
eventType: EVENT_TYPE.TRACK
|
|
344
|
-
}); // Need this check again since we are overriding the tr in previous statement
|
|
343
|
+
})(tr); // Need this check again since we are overriding the tr in previous statement
|
|
345
344
|
|
|
346
345
|
if (tr.selection instanceof CellSelection) {
|
|
347
346
|
const isTableSelected = tr.selection.isRowSelection() && tr.selection.isColSelection();
|
|
@@ -5,8 +5,8 @@ import { createTable } from '@atlaskit/editor-tables/utils';
|
|
|
5
5
|
import { table, tableCell, tableHeader, tableRow } from '@atlaskit/adf-schema';
|
|
6
6
|
import { toggleTable, tooltip } from '../../keymaps';
|
|
7
7
|
import WithPluginState from '../../ui/WithPluginState';
|
|
8
|
-
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID,
|
|
9
|
-
import { messages } from '
|
|
8
|
+
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
|
|
9
|
+
import { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages';
|
|
10
10
|
import { IconTable } from '../quick-insert/assets';
|
|
11
11
|
import { pluginConfig } from './create-plugin-config';
|
|
12
12
|
import { createPlugin as createTableLocalIdPlugin } from './pm-plugins/table-local-id';
|
|
@@ -28,6 +28,16 @@ import LayoutButton from './ui/LayoutButton';
|
|
|
28
28
|
import { isLayoutSupported } from './utils';
|
|
29
29
|
import { ErrorBoundary } from '../../ui/ErrorBoundary';
|
|
30
30
|
|
|
31
|
+
const defaultGetEditorContainerWidth = () => {
|
|
32
|
+
var _document, _document$body;
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
width: ((_document = document) === null || _document === void 0 ? void 0 : (_document$body = _document.body) === null || _document$body === void 0 ? void 0 : _document$body.offsetWidth) || 500
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const defaultGetEditorFeatureFlags = () => ({});
|
|
40
|
+
|
|
31
41
|
const tablesPlugin = options => ({
|
|
32
42
|
name: 'table',
|
|
33
43
|
|
|
@@ -60,9 +70,11 @@ const tablesPlugin = options => ({
|
|
|
60
70
|
fullWidthEnabled,
|
|
61
71
|
wasFullWidthEnabled,
|
|
62
72
|
breakoutEnabled,
|
|
63
|
-
tableOptions
|
|
73
|
+
tableOptions,
|
|
74
|
+
editorAnalyticsAPI,
|
|
75
|
+
getEditorFeatureFlags
|
|
64
76
|
} = options || {};
|
|
65
|
-
return createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig(tableOptions), breakoutEnabled, fullWidthEnabled, wasFullWidthEnabled);
|
|
77
|
+
return createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig(tableOptions), (options === null || options === void 0 ? void 0 : options.getEditorContainerWidth) || defaultGetEditorContainerWidth, getEditorFeatureFlags || defaultGetEditorFeatureFlags, breakoutEnabled, fullWidthEnabled, wasFullWidthEnabled, editorAnalyticsAPI);
|
|
66
78
|
}
|
|
67
79
|
}, {
|
|
68
80
|
name: 'tablePMColResizing',
|
|
@@ -71,14 +83,17 @@ const tablesPlugin = options => ({
|
|
|
71
83
|
}) => {
|
|
72
84
|
const {
|
|
73
85
|
fullWidthEnabled,
|
|
74
|
-
tableOptions
|
|
86
|
+
tableOptions,
|
|
87
|
+
editorAnalyticsAPI,
|
|
88
|
+
getEditorFeatureFlags,
|
|
89
|
+
getEditorContainerWidth
|
|
75
90
|
} = options || {};
|
|
76
91
|
const {
|
|
77
92
|
allowColumnResizing
|
|
78
93
|
} = pluginConfig(tableOptions);
|
|
79
94
|
return allowColumnResizing ? createFlexiResizingPlugin(dispatch, {
|
|
80
95
|
lastColumnResizable: !fullWidthEnabled
|
|
81
|
-
}) : undefined;
|
|
96
|
+
}, getEditorContainerWidth || defaultGetEditorContainerWidth, getEditorFeatureFlags || defaultGetEditorFeatureFlags, editorAnalyticsAPI) : undefined;
|
|
82
97
|
}
|
|
83
98
|
}, {
|
|
84
99
|
name: 'tableEditing',
|
|
@@ -87,10 +102,10 @@ const tablesPlugin = options => ({
|
|
|
87
102
|
// plugin as it is currently swallowing backspace events inside tables
|
|
88
103
|
{
|
|
89
104
|
name: 'tableKeymap',
|
|
90
|
-
plugin: () => keymapPlugin()
|
|
105
|
+
plugin: () => keymapPlugin((options === null || options === void 0 ? void 0 : options.getEditorContainerWidth) || defaultGetEditorContainerWidth, options === null || options === void 0 ? void 0 : options.editorAnalyticsAPI)
|
|
91
106
|
}, {
|
|
92
107
|
name: 'tableSelectionKeymap',
|
|
93
|
-
plugin: () => tableSelectionKeymapPlugin()
|
|
108
|
+
plugin: () => tableSelectionKeymapPlugin(options === null || options === void 0 ? void 0 : options.editorSelectionAPI)
|
|
94
109
|
}, {
|
|
95
110
|
name: 'tableEditing',
|
|
96
111
|
plugin: () => tableEditing()
|
|
@@ -99,7 +114,7 @@ const tablesPlugin = options => ({
|
|
|
99
114
|
plugin: ({
|
|
100
115
|
dispatch,
|
|
101
116
|
eventDispatcher
|
|
102
|
-
}) => options && options.tableOptions.stickyHeaders ? createStickyHeadersPlugin(dispatch, eventDispatcher) : undefined
|
|
117
|
+
}) => options && options.tableOptions.stickyHeaders ? createStickyHeadersPlugin(dispatch, eventDispatcher, () => [], (options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags) || defaultGetEditorFeatureFlags) : undefined
|
|
103
118
|
}, {
|
|
104
119
|
name: 'tableLocalId',
|
|
105
120
|
plugin: ({
|
|
@@ -201,14 +216,18 @@ const tablesPlugin = options => ({
|
|
|
201
216
|
boundariesElement: popupsBoundariesElement,
|
|
202
217
|
scrollableElement: popupsScrollableElement,
|
|
203
218
|
hasStickyHeaders: stickyHeader && stickyHeader.sticky,
|
|
204
|
-
dispatchAnalyticsEvent: dispatchAnalyticsEvent
|
|
219
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
220
|
+
editorAnalyticsAPI: options === null || options === void 0 ? void 0 : options.editorAnalyticsAPI,
|
|
221
|
+
getEditorContainerWidth: (options === null || options === void 0 ? void 0 : options.getEditorContainerWidth) || defaultGetEditorContainerWidth
|
|
205
222
|
}), /*#__PURE__*/React.createElement(FloatingContextualMenu, {
|
|
206
223
|
editorView: editorView,
|
|
207
224
|
mountPoint: popupsMountPoint,
|
|
208
225
|
boundariesElement: popupsBoundariesElement,
|
|
209
226
|
targetCellPosition: targetCellPosition,
|
|
210
227
|
isOpen: Boolean(isContextualMenuOpen),
|
|
211
|
-
pluginConfig: pluginConfig
|
|
228
|
+
pluginConfig: pluginConfig,
|
|
229
|
+
editorAnalyticsAPI: options === null || options === void 0 ? void 0 : options.editorAnalyticsAPI,
|
|
230
|
+
getEditorContainerWidth: (options === null || options === void 0 ? void 0 : options.getEditorContainerWidth) || defaultGetEditorContainerWidth
|
|
212
231
|
}), allowControls && /*#__PURE__*/React.createElement(FloatingDeleteButton, {
|
|
213
232
|
editorView: editorView,
|
|
214
233
|
selection: editorView.state.selection,
|
|
@@ -217,7 +236,8 @@ const tablesPlugin = options => ({
|
|
|
217
236
|
boundariesElement: popupsBoundariesElement,
|
|
218
237
|
scrollableElement: popupsScrollableElement,
|
|
219
238
|
stickyHeaders: stickyHeader,
|
|
220
|
-
isNumberColumnEnabled: tableNode && tableNode.attrs.isNumberColumnEnabled
|
|
239
|
+
isNumberColumnEnabled: tableNode && tableNode.attrs.isNumberColumnEnabled,
|
|
240
|
+
editorAnalyticsAPI: options === null || options === void 0 ? void 0 : options.editorAnalyticsAPI
|
|
221
241
|
}), isLayoutSupported(state) && options && options.breakoutEnabled && /*#__PURE__*/React.createElement(LayoutButton, {
|
|
222
242
|
editorView: editorView,
|
|
223
243
|
mountPoint: popupsMountPoint,
|
|
@@ -226,13 +246,30 @@ const tablesPlugin = options => ({
|
|
|
226
246
|
targetRef: tableWrapperTarget,
|
|
227
247
|
layout: layout,
|
|
228
248
|
isResizing: !!resizingPluginState && !!resizingPluginState.dragging,
|
|
229
|
-
stickyHeader: stickyHeader
|
|
249
|
+
stickyHeader: stickyHeader,
|
|
250
|
+
editorAnalyticsAPI: options === null || options === void 0 ? void 0 : options.editorAnalyticsAPI
|
|
230
251
|
}));
|
|
231
252
|
}
|
|
232
253
|
}));
|
|
233
254
|
},
|
|
234
255
|
|
|
235
256
|
pluginsOptions: {
|
|
257
|
+
// TODO: ED-14676 This is not the final API design
|
|
258
|
+
// For now, we are using this on (insert-api/api.ts) but we may create a proper place for it
|
|
259
|
+
createNodeHandler: ({
|
|
260
|
+
nodeName,
|
|
261
|
+
schema
|
|
262
|
+
}) => {
|
|
263
|
+
// An EditorPlugin may manage more than one node.
|
|
264
|
+
if (nodeName !== 'table') {
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
const table = createTable({
|
|
269
|
+
schema
|
|
270
|
+
});
|
|
271
|
+
return table;
|
|
272
|
+
},
|
|
236
273
|
quickInsert: ({
|
|
237
274
|
formatMessage
|
|
238
275
|
}) => [{
|
|
@@ -245,10 +282,12 @@ const tablesPlugin = options => ({
|
|
|
245
282
|
icon: () => /*#__PURE__*/React.createElement(IconTable, null),
|
|
246
283
|
|
|
247
284
|
action(insert, state) {
|
|
285
|
+
var _options$editorAnalyt;
|
|
286
|
+
|
|
248
287
|
const tr = insert(createTable({
|
|
249
288
|
schema: state.schema
|
|
250
289
|
}));
|
|
251
|
-
|
|
290
|
+
options === null || options === void 0 ? void 0 : (_options$editorAnalyt = options.editorAnalyticsAPI) === null || _options$editorAnalyt === void 0 ? void 0 : _options$editorAnalyt.attachAnalyticsEvent({
|
|
252
291
|
action: ACTION.INSERTED,
|
|
253
292
|
actionSubject: ACTION_SUBJECT.DOCUMENT,
|
|
254
293
|
actionSubjectId: ACTION_SUBJECT_ID.TABLE,
|
|
@@ -256,11 +295,12 @@ const tablesPlugin = options => ({
|
|
|
256
295
|
inputMethod: INPUT_METHOD.QUICK_INSERT
|
|
257
296
|
},
|
|
258
297
|
eventType: EVENT_TYPE.TRACK
|
|
259
|
-
});
|
|
298
|
+
})(tr);
|
|
299
|
+
return tr;
|
|
260
300
|
}
|
|
261
301
|
|
|
262
302
|
}],
|
|
263
|
-
floatingToolbar: getToolbarConfig(pluginConfig(options === null || options === void 0 ? void 0 : options.tableOptions))
|
|
303
|
+
floatingToolbar: getToolbarConfig((options === null || options === void 0 ? void 0 : options.getEditorContainerWidth) || defaultGetEditorContainerWidth, options === null || options === void 0 ? void 0 : options.editorAnalyticsAPI)(pluginConfig(options === null || options === void 0 ? void 0 : options.tableOptions))
|
|
264
304
|
}
|
|
265
305
|
});
|
|
266
306
|
|
|
@@ -7,7 +7,7 @@ import { calcTableWidth, tableMarginSides } from '@atlaskit/editor-common/styles
|
|
|
7
7
|
import { browser } from '@atlaskit/editor-common/utils';
|
|
8
8
|
import { akEditorMobileBreakoutPoint, akEditorTableToolbarSize as tableToolbarSize } from '@atlaskit/editor-shared-styles';
|
|
9
9
|
import { isValidPosition } from '../../../utils';
|
|
10
|
-
import { getParentNodeWidth } from '
|
|
10
|
+
import { getParentNodeWidth } from '@atlaskit/editor-common/node-width';
|
|
11
11
|
import { parsePx } from '../../../utils/dom';
|
|
12
12
|
import { autoSizeTable } from '../commands';
|
|
13
13
|
import { getPluginState } from '../pm-plugins/plugin-factory';
|
|
@@ -19,7 +19,6 @@ import { TableCssClassName as ClassName, ShadowEvent } from '../types';
|
|
|
19
19
|
import TableFloatingControls from '../ui/TableFloatingControls';
|
|
20
20
|
import { containsHeaderRow, tablesHaveDifferentColumnWidths, tablesHaveDifferentNoOfColumns } from '../utils';
|
|
21
21
|
import { updateOverflowShadows } from './update-overflow-shadows';
|
|
22
|
-
import { getFeatureFlags } from '../../feature-flags-context';
|
|
23
22
|
import memoizeOne from 'memoize-one';
|
|
24
23
|
import { OverflowShadowsObserver } from './OverflowShadowsObserver';
|
|
25
24
|
const isIE11 = browser.ie_version === 11;
|
|
@@ -59,7 +58,7 @@ class TableComponent extends React.Component {
|
|
|
59
58
|
_defineProperty(this, "onStickyState", state => {
|
|
60
59
|
const {
|
|
61
60
|
tableOverflowShadowsOptimization
|
|
62
|
-
} =
|
|
61
|
+
} = this.props.getEditorFeatureFlags();
|
|
63
62
|
const pos = this.props.getPos();
|
|
64
63
|
|
|
65
64
|
if (!isValidPosition(pos, this.props.view.state)) {
|
|
@@ -119,7 +118,7 @@ class TableComponent extends React.Component {
|
|
|
119
118
|
|
|
120
119
|
const {
|
|
121
120
|
tableOverflowShadowsOptimization
|
|
122
|
-
} =
|
|
121
|
+
} = this.props.getEditorFeatureFlags();
|
|
123
122
|
|
|
124
123
|
if (!tableOverflowShadowsOptimization) {
|
|
125
124
|
this.updateShadows();
|
|
@@ -308,7 +307,7 @@ class TableComponent extends React.Component {
|
|
|
308
307
|
options: _options,
|
|
309
308
|
containerWidth: _containerWidth,
|
|
310
309
|
getNode: _getNode,
|
|
311
|
-
|
|
310
|
+
getEditorFeatureFlags
|
|
312
311
|
} = props;
|
|
313
312
|
this.node = _getNode();
|
|
314
313
|
this.containerWidth = _containerWidth; // store table size using previous full-width mode so can detect if it has changed
|
|
@@ -329,7 +328,7 @@ class TableComponent extends React.Component {
|
|
|
329
328
|
|
|
330
329
|
const {
|
|
331
330
|
initialRenderOptimization
|
|
332
|
-
} =
|
|
331
|
+
} = getEditorFeatureFlags();
|
|
333
332
|
|
|
334
333
|
if (!initialRenderOptimization) {
|
|
335
334
|
// @see ED-7945
|
|
@@ -394,14 +393,13 @@ class TableComponent extends React.Component {
|
|
|
394
393
|
|
|
395
394
|
componentDidUpdate(prevProps) {
|
|
396
395
|
const {
|
|
397
|
-
view,
|
|
398
396
|
getNode,
|
|
399
397
|
isMediaFullscreen,
|
|
400
398
|
allowColumnResizing
|
|
401
399
|
} = this.props;
|
|
402
400
|
const {
|
|
403
401
|
tableOverflowShadowsOptimization
|
|
404
|
-
} =
|
|
402
|
+
} = this.props.getEditorFeatureFlags();
|
|
405
403
|
|
|
406
404
|
if (!tableOverflowShadowsOptimization) {
|
|
407
405
|
this.updateShadows();
|
|
@@ -436,7 +434,7 @@ class TableComponent extends React.Component {
|
|
|
436
434
|
view
|
|
437
435
|
} = this.props;
|
|
438
436
|
recreateResizeColsByNode(this.table, currentTable);
|
|
439
|
-
updateControls(view.state);
|
|
437
|
+
updateControls(this.props.getEditorFeatureFlags)(view.state);
|
|
440
438
|
}
|
|
441
439
|
|
|
442
440
|
this.handleTableResizingDebounced();
|
|
@@ -451,7 +449,7 @@ class TableComponent extends React.Component {
|
|
|
451
449
|
if (this.wrapper && parent) {
|
|
452
450
|
const rightShadows = parent.querySelectorAll(`.${ClassName.TABLE_RIGHT_SHADOW}`);
|
|
453
451
|
const leftShadows = parent.querySelectorAll(`.${ClassName.TABLE_LEFT_SHADOW}`);
|
|
454
|
-
updateOverflowShadows(this.props.view.state, this.wrapper, this.table, rightShadows, leftShadows);
|
|
452
|
+
updateOverflowShadows(this.props.getEditorFeatureFlags)(this.props.view.state, this.wrapper, this.table, rightShadows, leftShadows);
|
|
455
453
|
}
|
|
456
454
|
}
|
|
457
455
|
|
|
@@ -484,7 +482,7 @@ class TableComponent extends React.Component {
|
|
|
484
482
|
initialRenderOptimization,
|
|
485
483
|
tableRenderOptimization,
|
|
486
484
|
tableOverflowShadowsOptimization
|
|
487
|
-
} =
|
|
485
|
+
} = this.props.getEditorFeatureFlags();
|
|
488
486
|
const tableRef = this.table || undefined;
|
|
489
487
|
const isResizing = !!tableResizingPluginState && !!tableResizingPluginState.dragging;
|
|
490
488
|
const headerRow = tableRef ? tableRef.querySelector('tr[data-header-row]') : undefined; //dont need to change tableHeight with tableRenderOptimization because it will be observed inside floating components
|
|
@@ -509,7 +507,8 @@ class TableComponent extends React.Component {
|
|
|
509
507
|
selection: view.state.selection,
|
|
510
508
|
tableHeight: tableHeight,
|
|
511
509
|
headerRowHeight: headerRow ? headerRow.offsetHeight : undefined,
|
|
512
|
-
stickyHeader: this.state.stickyHeader
|
|
510
|
+
stickyHeader: this.state.stickyHeader,
|
|
511
|
+
getEditorFeatureFlags: this.props.getEditorFeatureFlags
|
|
513
512
|
}));
|
|
514
513
|
const shadowPadding = allowControls && (!isLoading || initialRenderOptimization) && tableActive ? -tableToolbarSize : tableMarginSides;
|
|
515
514
|
const shadowStyle = tableOverflowShadowsOptimization ? memoizeOne(visible => ({
|
|
@@ -4,7 +4,6 @@ import { DOMSerializer } from 'prosemirror-model';
|
|
|
4
4
|
import { stateKey as mediaPluginKey } from '../../../plugins/media/pm-plugins/plugin-key';
|
|
5
5
|
import ReactNodeView from '../../../nodeviews/ReactNodeView';
|
|
6
6
|
import WithPluginState from '../../../ui/WithPluginState';
|
|
7
|
-
import { pluginKey as widthPluginKey } from '../../width';
|
|
8
7
|
import { pluginConfig as getPluginConfig } from '../create-plugin-config';
|
|
9
8
|
import { getPluginState } from '../pm-plugins/plugin-factory';
|
|
10
9
|
import { pluginKey } from '../pm-plugins/plugin-key';
|
|
@@ -12,7 +11,6 @@ import { pluginKey as tableResizingPluginKey } from '../pm-plugins/table-resizin
|
|
|
12
11
|
import { generateColgroup } from '../pm-plugins/table-resizing/utils';
|
|
13
12
|
import { TableMap } from '@atlaskit/editor-tables/table-map';
|
|
14
13
|
import TableComponent from './TableComponent';
|
|
15
|
-
import { getFeatureFlags } from '../../feature-flags-context';
|
|
16
14
|
import { EmitterEvents } from '../../../extensibility';
|
|
17
15
|
|
|
18
16
|
const tableAttributes = node => {
|
|
@@ -71,10 +69,19 @@ export default class TableView extends ReactNodeView {
|
|
|
71
69
|
}
|
|
72
70
|
|
|
73
71
|
render(props, forwardRef) {
|
|
72
|
+
// TODO: ED-15663
|
|
73
|
+
// Please, do not copy or use this kind of code below
|
|
74
|
+
// @ts-ignore
|
|
75
|
+
const fakePluginKey = {
|
|
76
|
+
key: 'widthPlugin$',
|
|
77
|
+
getState: state => {
|
|
78
|
+
return state['widthPlugin$'];
|
|
79
|
+
}
|
|
80
|
+
};
|
|
74
81
|
return /*#__PURE__*/React.createElement(WithPluginState, {
|
|
75
82
|
plugins: {
|
|
76
|
-
containerWidth: widthPluginKey,
|
|
77
83
|
pluginState: pluginKey,
|
|
84
|
+
widthPlugin: fakePluginKey,
|
|
78
85
|
tableResizingPluginState: tableResizingPluginKey,
|
|
79
86
|
mediaState: mediaPluginKey
|
|
80
87
|
},
|
|
@@ -83,10 +90,10 @@ export default class TableView extends ReactNodeView {
|
|
|
83
90
|
const {
|
|
84
91
|
tableResizingPluginState,
|
|
85
92
|
pluginState,
|
|
86
|
-
containerWidth,
|
|
87
93
|
mediaState
|
|
88
94
|
} = pluginStates;
|
|
89
95
|
const tableActive = props.getPos() === pluginState.tablePos;
|
|
96
|
+
const containerWidth = props.getEditorContainerWidth();
|
|
90
97
|
return /*#__PURE__*/React.createElement(TableComponent, {
|
|
91
98
|
view: props.view,
|
|
92
99
|
allowColumnResizing: props.allowColumnResizing,
|
|
@@ -102,7 +109,8 @@ export default class TableView extends ReactNodeView {
|
|
|
102
109
|
tableResizingPluginState: tableResizingPluginState,
|
|
103
110
|
getNode: this.getNode,
|
|
104
111
|
containerWidth: containerWidth,
|
|
105
|
-
contentDOM: forwardRef
|
|
112
|
+
contentDOM: forwardRef,
|
|
113
|
+
getEditorFeatureFlags: props.getEditorFeatureFlags
|
|
106
114
|
});
|
|
107
115
|
}
|
|
108
116
|
});
|
|
@@ -164,7 +172,7 @@ export default class TableView extends ReactNodeView {
|
|
|
164
172
|
}
|
|
165
173
|
|
|
166
174
|
}
|
|
167
|
-
export const createTableView = (node, view, getPos, portalProviderAPI, eventDispatcher, options) => {
|
|
175
|
+
export const createTableView = (node, view, getPos, portalProviderAPI, eventDispatcher, options, getEditorContainerWidth, getEditorFeatureFlags) => {
|
|
168
176
|
const {
|
|
169
177
|
pluginConfig
|
|
170
178
|
} = getPluginState(view.state);
|
|
@@ -173,7 +181,7 @@ export const createTableView = (node, view, getPos, portalProviderAPI, eventDisp
|
|
|
173
181
|
} = getPluginConfig(pluginConfig);
|
|
174
182
|
const {
|
|
175
183
|
tableRenderOptimization
|
|
176
|
-
} =
|
|
184
|
+
} = getEditorFeatureFlags();
|
|
177
185
|
return new TableView({
|
|
178
186
|
node,
|
|
179
187
|
view,
|
|
@@ -182,6 +190,8 @@ export const createTableView = (node, view, getPos, portalProviderAPI, eventDisp
|
|
|
182
190
|
eventDispatcher,
|
|
183
191
|
getPos: getPos,
|
|
184
192
|
options,
|
|
185
|
-
tableRenderOptimization
|
|
193
|
+
tableRenderOptimization,
|
|
194
|
+
getEditorContainerWidth,
|
|
195
|
+
getEditorFeatureFlags
|
|
186
196
|
}).init();
|
|
187
197
|
};
|