@worktile/theia 3.0.8 → 3.0.9
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/README.md +11 -11
- package/bundles/worktile-theia.umd.js +14357 -14343
- package/bundles/worktile-theia.umd.js.map +1 -1
- package/components/color-select/color-select.component.d.ts +32 -32
- package/components/color-select/color-select.component.scss +107 -107
- package/components/column-resize/column-resize-notifier.d.ts +35 -35
- package/components/column-resize/column-resize.directive.d.ts +26 -26
- package/components/column-resize/column-resize.module.d.ts +14 -14
- package/components/column-resize/event-dispatcher.d.ts +31 -31
- package/components/column-resize/overlay-handle.component.d.ts +33 -33
- package/components/column-resize/resize-ref.d.ts +25 -25
- package/components/column-resize/resizing.store.d.ts +28 -28
- package/components/column-resize/selectors.d.ts +3 -3
- package/components/contextmenu/contextmenu.component.d.ts +22 -22
- package/components/conversion-hint/conversion-hint.component.d.ts +18 -18
- package/components/conversion-hint/conversion-hint.component.scss +11 -11
- package/components/element/element.component.d.ts +7 -7
- package/components/inline-toolbar/inline-toolbar.component.d.ts +26 -26
- package/components/nav-split-line/nav-split-line.component.d.ts +13 -13
- package/components/table-select/table-select.component.d.ts +20 -20
- package/components/table-select/table-select.component.scss +35 -35
- package/components/template/template.component.d.ts +15 -15
- package/components/text/text.component.d.ts +14 -14
- package/components/toolbar/toolbar.component.d.ts +65 -65
- package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +33 -33
- package/components/toolbar-dropdown/toolbar-dropdown.component.scss +0 -1
- package/components/toolbar-group/toolbar-group.component.d.ts +33 -33
- package/components/toolbar-group/toolbar-group.component.scss +17 -17
- package/components/toolbar-item/toolbar-item.component.d.ts +18 -18
- package/constants/auto-format-rules.d.ts +2 -2
- package/constants/code.d.ts +9 -9
- package/constants/color-select.d.ts +14 -14
- package/constants/default.d.ts +9 -9
- package/constants/error.d.ts +5 -5
- package/constants/index.d.ts +5 -5
- package/constants/node-types.d.ts +99 -99
- package/constants/selector.d.ts +2 -2
- package/constants/toolbar.d.ts +17 -17
- package/core/create-plugin.d.ts +2 -2
- package/core/create-toolbar.d.ts +5 -5
- package/core/index.d.ts +4 -4
- package/core/toolbar-item/base-toolbar-item.d.ts +29 -29
- package/core/utils/combine-plugins.d.ts +2 -2
- package/core/utils/flatten-deep-plugins.d.ts +6 -6
- package/core/utils/get-plugin-options.d.ts +2 -2
- package/core/utils/get-plugin.d.ts +2 -2
- package/core/utils/get-plugins.d.ts +2 -2
- package/core/utils/index.d.ts +10 -10
- package/core/utils/merge-array.d.ts +1 -1
- package/core/utils/merge-deep-plugins.d.ts +2 -2
- package/core/utils/merge-options.d.ts +2 -2
- package/core/utils/nested-structure-by-key.d.ts +2 -2
- package/core/utils/plugins-by-key.d.ts +2 -2
- package/core/with-theia.d.ts +4 -4
- package/custom-types.d.ts +131 -131
- package/editor.component.d.ts +92 -92
- package/editor.module.d.ts +98 -98
- package/esm2015/components/color-select/color-select.component.js +112 -112
- package/esm2015/components/column-resize/column-resize-notifier.js +31 -31
- package/esm2015/components/column-resize/column-resize.directive.js +98 -98
- package/esm2015/components/column-resize/column-resize.module.js +34 -34
- package/esm2015/components/column-resize/event-dispatcher.js +55 -55
- package/esm2015/components/column-resize/overlay-handle.component.js +139 -139
- package/esm2015/components/column-resize/resize-ref.js +25 -25
- package/esm2015/components/column-resize/resizing.store.js +154 -154
- package/esm2015/components/column-resize/selectors.js +4 -4
- package/esm2015/components/contextmenu/contextmenu.component.js +64 -64
- package/esm2015/components/conversion-hint/conversion-hint.component.js +59 -59
- package/esm2015/components/element/element.component.js +23 -23
- package/esm2015/components/inline-toolbar/inline-toolbar.component.js +126 -126
- package/esm2015/components/nav-split-line/nav-split-line.component.js +36 -36
- package/esm2015/components/table-select/table-select.component.js +53 -53
- package/esm2015/components/template/template.component.js +66 -66
- package/esm2015/components/text/text.component.js +57 -57
- package/esm2015/components/toolbar/toolbar.component.js +250 -250
- package/esm2015/components/toolbar-dropdown/toolbar-dropdown.component.js +132 -132
- package/esm2015/components/toolbar-group/toolbar-group.component.js +116 -116
- package/esm2015/components/toolbar-item/toolbar-item.component.js +64 -64
- package/esm2015/constants/auto-format-rules.js +166 -166
- package/esm2015/constants/code.js +88 -88
- package/esm2015/constants/color-select.js +61 -61
- package/esm2015/constants/default.js +9 -9
- package/esm2015/constants/error.js +7 -7
- package/esm2015/constants/index.js +5 -5
- package/esm2015/constants/node-types.js +132 -132
- package/esm2015/constants/selector.js +3 -3
- package/esm2015/constants/toolbar.js +69 -69
- package/esm2015/core/create-plugin.js +4 -4
- package/esm2015/core/create-toolbar.js +56 -56
- package/esm2015/core/index.js +4 -4
- package/esm2015/core/toolbar-item/base-toolbar-item.js +91 -91
- package/esm2015/core/utils/combine-plugins.js +9 -9
- package/esm2015/core/utils/flatten-deep-plugins.js +18 -18
- package/esm2015/core/utils/get-plugin-options.js +2 -2
- package/esm2015/core/utils/get-plugin.js +1 -1
- package/esm2015/core/utils/get-plugins.js +4 -4
- package/esm2015/core/utils/index.js +10 -10
- package/esm2015/core/utils/merge-array.js +17 -17
- package/esm2015/core/utils/merge-deep-plugins.js +13 -13
- package/esm2015/core/utils/merge-options.js +19 -19
- package/esm2015/core/utils/nested-structure-by-key.js +10 -10
- package/esm2015/core/utils/plugins-by-key.js +9 -9
- package/esm2015/core/with-theia.js +22 -22
- package/esm2015/custom-types.js +1 -1
- package/esm2015/editor.component.js +439 -439
- package/esm2015/editor.module.js +201 -201
- package/esm2015/interfaces/auto-format.js +1 -1
- package/esm2015/interfaces/editor.js +22 -22
- package/esm2015/interfaces/element.js +1 -1
- package/esm2015/interfaces/image.js +2 -2
- package/esm2015/interfaces/index.js +8 -8
- package/esm2015/interfaces/plugins/index.js +4 -4
- package/esm2015/interfaces/plugins/no-infer.js +1 -1
- package/esm2015/interfaces/plugins/plugin-key.js +39 -39
- package/esm2015/interfaces/plugins/plugins.js +1 -1
- package/esm2015/interfaces/plugins/with-override.js +1 -1
- package/esm2015/interfaces/reset-block-type-plugin-options.js +2 -2
- package/esm2015/interfaces/toolbar.js +11 -11
- package/esm2015/interfaces/upload.js +2 -2
- package/esm2015/interfaces/utility/index.js +3 -3
- package/esm2015/interfaces/utility/nested-structure-by-key.js +1 -1
- package/esm2015/interfaces/utility/override-by-key.js +1 -1
- package/esm2015/interfaces/utility/types.js +1 -1
- package/esm2015/interfaces/valid-children-types.js +35 -35
- package/esm2015/interfaces/view-base.js +21 -21
- package/esm2015/pipes.js +42 -42
- package/esm2015/plugins/align/align.editor.js +47 -47
- package/esm2015/plugins/align/align.plugin.js +63 -63
- package/esm2015/plugins/autoformat/autoformat.plugin.js +109 -109
- package/esm2015/plugins/autoformat/transforms/auto-format-block.js +14 -14
- package/esm2015/plugins/autoformat/transforms/auto-format-inline.js +77 -77
- package/esm2015/plugins/blockquote/blockquote.component.js +21 -21
- package/esm2015/plugins/blockquote/blockquote.editor.js +20 -20
- package/esm2015/plugins/blockquote/blockquote.plugin.js +70 -70
- package/esm2015/plugins/code/code.component.js +244 -244
- package/esm2015/plugins/code/code.editor.js +47 -47
- package/esm2015/plugins/code/code.plugin.js +41 -41
- package/esm2015/plugins/color/color.editor.js +44 -44
- package/esm2015/plugins/color/color.plugin.js +27 -27
- package/esm2015/plugins/color/toolbar-item.component.js +79 -79
- package/esm2015/plugins/common/auto-insert-data..js +77 -77
- package/esm2015/plugins/common/block-card.plugin.js +286 -286
- package/esm2015/plugins/common/get-fragment.plugin.js +24 -24
- package/esm2015/plugins/common/history.plugin.js +30 -30
- package/esm2015/plugins/common/move-selection.plugin.js +89 -89
- package/esm2015/plugins/common/remove-empty.plugin.js +59 -59
- package/esm2015/plugins/common/remove-void.plugin.js +56 -56
- package/esm2015/plugins/common/reset-type.plugin.js +34 -34
- package/esm2015/plugins/common/transforms.plugin.js +17 -17
- package/esm2015/plugins/deserializers/deserialize-html.plugin.js +38 -38
- package/esm2015/plugins/deserializers/deserialize-md.plugin.js +121 -121
- package/esm2015/plugins/font-size/font-size.editor.js +97 -97
- package/esm2015/plugins/heading/heading.editor.js +53 -53
- package/esm2015/plugins/heading/heading.plugin.js +84 -84
- package/esm2015/plugins/hr/hr.component.js +40 -40
- package/esm2015/plugins/hr/hr.editor.js +7 -7
- package/esm2015/plugins/hr/hr.plugin.js +41 -41
- package/esm2015/plugins/image/image.component.js +369 -369
- package/esm2015/plugins/image/image.editor.js +57 -57
- package/esm2015/plugins/image/image.plugin.js +57 -57
- package/esm2015/plugins/indent/indent.editor.js +72 -72
- package/esm2015/plugins/indent/indent.plugin.js +59 -59
- package/esm2015/plugins/indent/on-keydown-indent.js +53 -53
- package/esm2015/plugins/index.js +70 -70
- package/esm2015/plugins/inline-code/inline-code.component.js +21 -21
- package/esm2015/plugins/inline-code/inline-code.editor.js +48 -48
- package/esm2015/plugins/inline-code/inline-code.plugin.js +65 -65
- package/esm2015/plugins/link/edit/link-edit.component.js +108 -108
- package/esm2015/plugins/link/hover/link-hover.component.js +39 -39
- package/esm2015/plugins/link/link.component.js +162 -162
- package/esm2015/plugins/link/link.editor.js +66 -66
- package/esm2015/plugins/link/link.plugin.js +58 -58
- package/esm2015/plugins/link/link.types.js +12 -12
- package/esm2015/plugins/list/components/bulleted-list.component.js +33 -33
- package/esm2015/plugins/list/components/list-item.component.js +94 -94
- package/esm2015/plugins/list/components/numbered-list.component.js +39 -39
- package/esm2015/plugins/list/list.editor.js +125 -125
- package/esm2015/plugins/list/list.plugin.js +280 -280
- package/esm2015/plugins/list/normalizers/get-list-normalizer.js +39 -39
- package/esm2015/plugins/list/normalizers/normalize-list-item.js +19 -19
- package/esm2015/plugins/list/normalizers/normalize-no.js +42 -42
- package/esm2015/plugins/list/on-key-down-list.js +32 -32
- package/esm2015/plugins/list/queries/get-list-item-entry.js +27 -27
- package/esm2015/plugins/list/queries/get-list-item-sublist.js +12 -12
- package/esm2015/plugins/list/queries/get-list-types.js +5 -5
- package/esm2015/plugins/list/queries/get-start-list-item.js +26 -26
- package/esm2015/plugins/list/queries/has-list-in-list-item.js +27 -27
- package/esm2015/plugins/list/queries/is-in-list.js +5 -5
- package/esm2015/plugins/list/queries/is-list-nested.js +10 -10
- package/esm2015/plugins/list/queries/is-list.js +5 -5
- package/esm2015/plugins/list/queries/is-node-type-list.js +4 -4
- package/esm2015/plugins/list/queries/is-selection-at-list-item-start.js +12 -12
- package/esm2015/plugins/list/queries/is-selection-in-same-list-item.js +16 -16
- package/esm2015/plugins/list/queries/is-single-list-item.js +9 -9
- package/esm2015/plugins/list/transforms/insert-list-data.js +71 -71
- package/esm2015/plugins/list/transforms/insert-list-item.js +72 -72
- package/esm2015/plugins/list/transforms/move-list-item-down.js +41 -41
- package/esm2015/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.js +42 -42
- package/esm2015/plugins/list/transforms/move-list-item-sublist-items-to-list.js +29 -29
- package/esm2015/plugins/list/transforms/move-list-item-up.js +77 -77
- package/esm2015/plugins/list/transforms/unwrap-list.js +9 -9
- package/esm2015/plugins/list/types.js +2 -2
- package/esm2015/plugins/mark/mark.editor.js +28 -28
- package/esm2015/plugins/mark/mark.plugin.js +101 -101
- package/esm2015/plugins/node-id/node-id.plugin.js +68 -68
- package/esm2015/plugins/normalizers/insert-paragraph-nodes.js +28 -28
- package/esm2015/plugins/normalizers/remove-empty-nodes.js +17 -17
- package/esm2015/plugins/normalizers/trailing-node.plugin.js +33 -33
- package/esm2015/plugins/paint-format/paint-format.editor.js +122 -122
- package/esm2015/plugins/public-api.js +15 -15
- package/esm2015/plugins/quick-insert/components/quick-insert.component.js +101 -101
- package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +83 -83
- package/esm2015/plugins/quick-insert/quick-insert.editor.js +52 -52
- package/esm2015/plugins/quick-insert/quick-insert.plugin.js +74 -74
- package/esm2015/plugins/soft-break/soft-break.plugin.js +36 -36
- package/esm2015/plugins/soft-break/soft-break.types.js +1 -1
- package/esm2015/plugins/table/components/insert-mark/insert-mark.component.js +102 -102
- package/esm2015/plugins/table/components/row/row.component.js +46 -46
- package/esm2015/plugins/table/components/table.component.js +469 -469
- package/esm2015/plugins/table/components/td/td.component.js +698 -698
- package/esm2015/plugins/table/components/toolbar/table-options.component.js +67 -67
- package/esm2015/plugins/table/components/toolbar/table-toolbar.component.js +161 -161
- package/esm2015/plugins/table/table.editor.js +182 -182
- package/esm2015/plugins/table/table.plugin.js +423 -423
- package/esm2015/plugins/table/table.service.js +102 -102
- package/esm2015/plugins/table/table.store.js +479 -479
- package/esm2015/plugins/table/table.types.js +33 -33
- package/esm2015/plugins/table/toolbar-item.component.js +61 -61
- package/esm2015/plugins/table/transforms/clear-cell.js +11 -11
- package/esm2015/plugins/table/transforms/clear-table-node.js +27 -27
- package/esm2015/plugins/table/transforms/insert-column.js +57 -57
- package/esm2015/plugins/table/transforms/insert-row.js +42 -42
- package/esm2015/plugins/table/transforms/insert-table.js +14 -14
- package/esm2015/plugins/table/transforms/remove-column.js +51 -51
- package/esm2015/plugins/table/transforms/remove-row.js +50 -50
- package/esm2015/plugins/table/transforms/remove-table.js +49 -49
- package/esm2015/plugins/table/utils/add-columns.js +28 -28
- package/esm2015/plugins/table/utils/calc-anchor-position.js +24 -24
- package/esm2015/plugins/table/utils/calc-span.js +72 -72
- package/esm2015/plugins/table/utils/create-cell.js +19 -19
- package/esm2015/plugins/table/utils/create-row.js +12 -12
- package/esm2015/plugins/table/utils/create-table.js +13 -13
- package/esm2015/plugins/table/utils/get-base-height.js +22 -22
- package/esm2015/plugins/table/utils/get-select-cell-node.js +16 -16
- package/esm2015/plugins/table/utils/index.js +8 -8
- package/esm2015/plugins/table/utils/is-range-in-table.js +16 -16
- package/esm2015/plugins/table/utils/is-selection-in-table.js +11 -11
- package/esm2015/plugins/table/utils/is-virtual-key.js +13 -13
- package/esm2015/plugins/table/utils/merge-cell.js +90 -90
- package/esm2015/plugins/table/utils/next-path.js +5 -5
- package/esm2015/plugins/table/utils/normalize-table.js +30 -30
- package/esm2015/plugins/table/utils/remove-columns.js +23 -23
- package/esm2015/plugins/table/utils/set-menu-cell-invisibility.js +15 -15
- package/esm2015/plugins/table/utils/split-cell.js +31 -31
- package/esm2015/plugins/table/utils/table-position.js +242 -242
- package/esm2015/plugins/todo-item/todo-item.component.js +55 -55
- package/esm2015/plugins/todo-item/todo-item.editor.js +31 -31
- package/esm2015/plugins/todo-item/todo-item.plugin.js +78 -78
- package/esm2015/plugins/vertical-align/toolbar-item.component.js +89 -89
- package/esm2015/plugins/vertical-align/vertical-align.editor.js +54 -54
- package/esm2015/public-api.js +23 -23
- package/esm2015/queries/anchor-block-entry.js +13 -13
- package/esm2015/queries/anchor-block.js +6 -6
- package/esm2015/queries/anchor-inline-entry.js +10 -10
- package/esm2015/queries/find-descendant.js +47 -47
- package/esm2015/queries/find-node.js +45 -45
- package/esm2015/queries/find-path.js +28 -28
- package/esm2015/queries/get-above-by-type.js +10 -10
- package/esm2015/queries/get-above.js +9 -9
- package/esm2015/queries/get-anchor-block-entry.js +8 -8
- package/esm2015/queries/get-block-above.js +7 -7
- package/esm2015/queries/get-block-card-above.js +7 -7
- package/esm2015/queries/get-block-card-cursor.js +5 -5
- package/esm2015/queries/get-container-blocks.js +11 -11
- package/esm2015/queries/get-directly-parent.js +11 -11
- package/esm2015/queries/get-insert-elements-path.js +43 -43
- package/esm2015/queries/get-last-child-path.js +9 -9
- package/esm2015/queries/get-last-node.js +17 -17
- package/esm2015/queries/get-next-sibling-nodes.js +17 -17
- package/esm2015/queries/get-node.js +10 -10
- package/esm2015/queries/get-nodes-by-type.js +12 -12
- package/esm2015/queries/get-nodes.js +7 -7
- package/esm2015/queries/get-parent.js +12 -12
- package/esm2015/queries/get-plain-text.js +16 -16
- package/esm2015/queries/get-plugin-by-toolbar.js +12 -12
- package/esm2015/queries/get-point-before.js +62 -62
- package/esm2015/queries/get-point-from-location.js +15 -15
- package/esm2015/queries/get-previous-path.js +9 -9
- package/esm2015/queries/get-rang-from-block-start.js +16 -16
- package/esm2015/queries/get-range-before.js +17 -17
- package/esm2015/queries/get-selection-marks.js +19 -19
- package/esm2015/queries/get-selection-nodes-by-type.js +29 -29
- package/esm2015/queries/get-text.js +9 -9
- package/esm2015/queries/get-toolbar-disabled.js +13 -13
- package/esm2015/queries/index.js +59 -58
- package/esm2015/queries/is-across-blocks.js +7 -7
- package/esm2015/queries/is-ancestor-empty.js +6 -6
- package/esm2015/queries/is-ancestor.js +3 -3
- package/esm2015/queries/is-block-above-empty.js +11 -11
- package/esm2015/queries/is-block-active.js +7 -7
- package/esm2015/queries/is-block-card-cursor.js +4 -4
- package/esm2015/queries/is-block-text-empty-after-selection.js +31 -31
- package/esm2015/queries/is-collapsed.js +7 -7
- package/esm2015/queries/is-contain-nested-type.js +28 -28
- package/esm2015/queries/is-container-type.js +2 -2
- package/esm2015/queries/is-descendant.js +3 -3
- package/esm2015/queries/is-empty-content.js +15 -0
- package/esm2015/queries/is-empty-paragraph-by-path.js +7 -7
- package/esm2015/queries/is-empty-paragraph.js +11 -11
- package/esm2015/queries/is-first-child.js +5 -5
- package/esm2015/queries/is-include-types.js +11 -11
- package/esm2015/queries/is-node-type-in.js +9 -9
- package/esm2015/queries/is-node-type.js +15 -15
- package/esm2015/queries/is-paragraph.js +9 -9
- package/esm2015/queries/is-point-at-root.js +2 -2
- package/esm2015/queries/is-range-across-blocks.js +18 -18
- package/esm2015/queries/is-range-at-root.js +3 -3
- package/esm2015/queries/is-start.js +6 -6
- package/esm2015/queries/some-node.js +9 -9
- package/esm2015/services/color-select.service.js +49 -49
- package/esm2015/services/context.service.js +59 -59
- package/esm2015/services/table-contextmenu.service.js +189 -189
- package/esm2015/services/toolbar.service.js +47 -47
- package/esm2015/shortcuts/index.js +5 -5
- package/esm2015/shortcuts/mark.js +24 -24
- package/esm2015/transforms/apply-deep-to-nodes.js +21 -21
- package/esm2015/transforms/clear-marks.js +23 -23
- package/esm2015/transforms/close-conversion-hint.js +8 -8
- package/esm2015/transforms/delete-element.js +11 -11
- package/esm2015/transforms/handle-continual-delete-backward.js +17 -17
- package/esm2015/transforms/handle-continual-insert-break.js +19 -19
- package/esm2015/transforms/index.js +18 -18
- package/esm2015/transforms/insert-elements.js +34 -34
- package/esm2015/transforms/insert-paragraph.js +6 -6
- package/esm2015/transforms/merge-deep-to-nodes.js +8 -8
- package/esm2015/transforms/move-children.js +21 -21
- package/esm2015/transforms/on-keydown-reset-block-type.js +22 -22
- package/esm2015/transforms/set-end-selection.js +10 -10
- package/esm2015/transforms/set-marks.js +9 -9
- package/esm2015/transforms/set-node.js +5 -5
- package/esm2015/transforms/split-node.js +31 -31
- package/esm2015/transforms/un-hang-range.js +11 -11
- package/esm2015/transforms/un-wrap.js +11 -11
- package/esm2015/transforms/unwrap-nodes-by-type.js +11 -11
- package/esm2015/utils/auto-focus.js +13 -13
- package/esm2015/utils/auto-scroll-view.js +24 -24
- package/esm2015/utils/cast-array.js +7 -7
- package/esm2015/utils/common.js +2 -2
- package/esm2015/utils/create-empty-paragraph.js +14 -14
- package/esm2015/utils/data-transform.js +48 -48
- package/esm2015/utils/dom.js +46 -46
- package/esm2015/utils/editor-uuid.js +8 -8
- package/esm2015/utils/fragment.js +65 -65
- package/esm2015/utils/get-editable-element-height.js +6 -6
- package/esm2015/utils/get-toolbar-class.js +6 -6
- package/esm2015/utils/id-creator.js +11 -11
- package/esm2015/utils/index.js +13 -13
- package/esm2015/utils/is-clean-empty-paragraph.js +36 -36
- package/esm2015/utils/is-inline.js +9 -9
- package/esm2015/utils/lodash.js +3 -3
- package/esm2015/utils/match.js +29 -29
- package/esm2015/utils/merge-element-options.js +19 -19
- package/esm2015/utils/weak-maps.js +3 -3
- package/esm2015/worktile-theia.js +4 -4
- package/fesm2015/worktile-theia.js +13156 -13142
- package/fesm2015/worktile-theia.js.map +1 -1
- package/interfaces/auto-format.d.ts +64 -64
- package/interfaces/editor.d.ts +146 -146
- package/interfaces/element.d.ts +9 -9
- package/interfaces/image.d.ts +25 -25
- package/interfaces/index.d.ts +8 -8
- package/interfaces/plugins/index.d.ts +4 -4
- package/interfaces/plugins/no-infer.d.ts +1 -1
- package/interfaces/plugins/plugin-key.d.ts +48 -48
- package/interfaces/plugins/plugins.d.ts +45 -45
- package/interfaces/plugins/with-override.d.ts +7 -7
- package/interfaces/reset-block-type-plugin-options.d.ts +23 -23
- package/interfaces/toolbar.d.ts +64 -64
- package/interfaces/upload.d.ts +11 -11
- package/interfaces/utility/index.d.ts +3 -3
- package/interfaces/utility/nested-structure-by-key.d.ts +3 -3
- package/interfaces/utility/override-by-key.d.ts +3 -3
- package/interfaces/utility/types.d.ts +1 -1
- package/interfaces/valid-children-types.d.ts +9 -9
- package/interfaces/view-base.d.ts +9 -9
- package/package.json +1 -1
- package/pipes.d.ts +16 -16
- package/plugins/align/align.editor.d.ts +7 -7
- package/plugins/align/align.plugin.d.ts +2 -2
- package/plugins/autoformat/autoformat.plugin.d.ts +6 -6
- package/plugins/autoformat/transforms/auto-format-block.d.ts +5 -5
- package/plugins/autoformat/transforms/auto-format-inline.d.ts +9 -9
- package/plugins/blockquote/blockquote.component.d.ts +11 -11
- package/plugins/blockquote/blockquote.editor.d.ts +4 -4
- package/plugins/blockquote/blockquote.plugin.d.ts +2 -2
- package/plugins/code/code.component.d.ts +65 -65
- package/plugins/code/code.editor.d.ts +8 -8
- package/plugins/code/code.plugin.d.ts +2 -2
- package/plugins/color/color.editor.d.ts +8 -8
- package/plugins/color/color.plugin.d.ts +1 -1
- package/plugins/color/toolbar-item.component.d.ts +16 -16
- package/plugins/common/auto-insert-data..d.ts +2 -2
- package/plugins/common/block-card.plugin.d.ts +2 -2
- package/plugins/common/get-fragment.plugin.d.ts +6 -6
- package/plugins/common/history.plugin.d.ts +9 -9
- package/plugins/common/move-selection.plugin.d.ts +2 -2
- package/plugins/common/remove-empty.plugin.d.ts +2 -2
- package/plugins/common/remove-void.plugin.d.ts +2 -2
- package/plugins/common/reset-type.plugin.d.ts +2 -2
- package/plugins/common/transforms.plugin.d.ts +8 -8
- package/plugins/deserializers/deserialize-html.plugin.d.ts +2 -2
- package/plugins/deserializers/deserialize-md.plugin.d.ts +2 -2
- package/plugins/font-size/font-size.editor.d.ts +10 -10
- package/plugins/heading/heading.editor.d.ts +9 -9
- package/plugins/heading/heading.plugin.d.ts +7 -7
- package/plugins/hr/hr.component.d.ts +12 -12
- package/plugins/hr/hr.editor.d.ts +4 -4
- package/plugins/hr/hr.plugin.d.ts +2 -2
- package/plugins/image/image.component.d.ts +74 -74
- package/plugins/image/image.editor.d.ts +12 -12
- package/plugins/image/image.plugin.d.ts +7 -7
- package/plugins/indent/indent.editor.d.ts +10 -10
- package/plugins/indent/indent.plugin.d.ts +8 -8
- package/plugins/indent/on-keydown-indent.d.ts +3 -3
- package/plugins/index.d.ts +1 -1
- package/plugins/inline-code/inline-code.component.d.ts +9 -9
- package/plugins/inline-code/inline-code.editor.d.ts +7 -7
- package/plugins/inline-code/inline-code.plugin.d.ts +2 -2
- package/plugins/link/edit/link-edit.component.d.ts +36 -36
- package/plugins/link/hover/link-hover.component.d.ts +15 -15
- package/plugins/link/link.component.d.ts +39 -39
- package/plugins/link/link.editor.d.ts +7 -7
- package/plugins/link/link.plugin.d.ts +2 -2
- package/plugins/link/link.types.d.ts +9 -9
- package/plugins/list/components/bulleted-list.component.d.ts +15 -15
- package/plugins/list/components/list-item.component.d.ts +20 -20
- package/plugins/list/components/numbered-list.component.d.ts +16 -16
- package/plugins/list/list.editor.d.ts +12 -12
- package/plugins/list/list.plugin.d.ts +3 -3
- package/plugins/list/normalizers/get-list-normalizer.d.ts +6 -6
- package/plugins/list/normalizers/normalize-list-item.d.ts +5 -5
- package/plugins/list/normalizers/normalize-no.d.ts +2 -2
- package/plugins/list/on-key-down-list.d.ts +2 -2
- package/plugins/list/queries/get-list-item-entry.d.ts +10 -10
- package/plugins/list/queries/get-list-item-sublist.d.ts +6 -6
- package/plugins/list/queries/get-list-types.d.ts +2 -2
- package/plugins/list/queries/get-start-list-item.d.ts +8 -8
- package/plugins/list/queries/has-list-in-list-item.d.ts +15 -15
- package/plugins/list/queries/is-in-list.d.ts +2 -2
- package/plugins/list/queries/is-list-nested.d.ts +5 -5
- package/plugins/list/queries/is-list.d.ts +2 -2
- package/plugins/list/queries/is-node-type-list.d.ts +2 -2
- package/plugins/list/queries/is-selection-at-list-item-start.d.ts +5 -5
- package/plugins/list/queries/is-selection-in-same-list-item.d.ts +5 -5
- package/plugins/list/queries/is-single-list-item.d.ts +5 -5
- package/plugins/list/transforms/insert-list-data.d.ts +12 -12
- package/plugins/list/transforms/insert-list-item.d.ts +5 -5
- package/plugins/list/transforms/move-list-item-down.d.ts +6 -6
- package/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.d.ts +20 -20
- package/plugins/list/transforms/move-list-item-sublist-items-to-list.d.ts +19 -19
- package/plugins/list/transforms/move-list-item-up.d.ts +10 -10
- package/plugins/list/transforms/unwrap-list.d.ts +2 -2
- package/plugins/list/types.d.ts +7 -7
- package/plugins/mark/mark.editor.d.ts +8 -8
- package/plugins/mark/mark.plugin.d.ts +3 -3
- package/plugins/node-id/node-id.plugin.d.ts +8 -8
- package/plugins/normalizers/insert-paragraph-nodes.d.ts +7 -7
- package/plugins/normalizers/remove-empty-nodes.d.ts +7 -7
- package/plugins/normalizers/trailing-node.plugin.d.ts +9 -9
- package/plugins/paint-format/paint-format.editor.d.ts +8 -8
- package/plugins/public-api.d.ts +15 -15
- package/plugins/quick-insert/components/quick-insert.component.d.ts +28 -28
- package/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.d.ts +28 -28
- package/plugins/quick-insert/quick-insert.editor.d.ts +7 -7
- package/plugins/quick-insert/quick-insert.plugin.d.ts +10 -10
- package/plugins/soft-break/soft-break.plugin.d.ts +5 -5
- package/plugins/soft-break/soft-break.types.d.ts +8 -8
- package/plugins/table/components/insert-mark/insert-mark.component.d.ts +24 -24
- package/plugins/table/components/row/row.component.d.ts +14 -14
- package/plugins/table/components/table.component.d.ts +79 -79
- package/plugins/table/components/td/td.component.d.ts +95 -95
- package/plugins/table/components/toolbar/table-options.component.d.ts +20 -20
- package/plugins/table/components/toolbar/table-toolbar.component.d.ts +38 -38
- package/plugins/table/table.editor.d.ts +25 -25
- package/plugins/table/table.plugin.d.ts +3 -3
- package/plugins/table/table.service.d.ts +30 -30
- package/plugins/table/table.store.d.ts +71 -71
- package/plugins/table/table.types.d.ts +67 -67
- package/plugins/table/toolbar-item.component.d.ts +17 -17
- package/plugins/table/transforms/clear-cell.d.ts +6 -6
- package/plugins/table/transforms/clear-table-node.d.ts +6 -6
- package/plugins/table/transforms/insert-column.d.ts +12 -12
- package/plugins/table/transforms/insert-row.d.ts +6 -6
- package/plugins/table/transforms/insert-table.d.ts +6 -6
- package/plugins/table/transforms/remove-column.d.ts +3 -3
- package/plugins/table/transforms/remove-row.d.ts +3 -3
- package/plugins/table/transforms/remove-table.d.ts +3 -3
- package/plugins/table/utils/add-columns.d.ts +2 -2
- package/plugins/table/utils/calc-anchor-position.d.ts +6 -6
- package/plugins/table/utils/calc-span.d.ts +11 -11
- package/plugins/table/utils/create-cell.d.ts +16 -16
- package/plugins/table/utils/create-row.d.ts +7 -7
- package/plugins/table/utils/create-table.d.ts +7 -7
- package/plugins/table/utils/get-base-height.d.ts +9 -9
- package/plugins/table/utils/get-select-cell-node.d.ts +7 -7
- package/plugins/table/utils/index.d.ts +7 -7
- package/plugins/table/utils/is-range-in-table.d.ts +6 -6
- package/plugins/table/utils/is-selection-in-table.d.ts +6 -6
- package/plugins/table/utils/is-virtual-key.d.ts +1 -1
- package/plugins/table/utils/merge-cell.d.ts +21 -21
- package/plugins/table/utils/next-path.d.ts +2 -2
- package/plugins/table/utils/normalize-table.d.ts +2 -2
- package/plugins/table/utils/remove-columns.d.ts +2 -2
- package/plugins/table/utils/set-menu-cell-invisibility.d.ts +3 -3
- package/plugins/table/utils/split-cell.d.ts +4 -4
- package/plugins/table/utils/table-position.d.ts +97 -97
- package/plugins/todo-item/todo-item.component.d.ts +21 -21
- package/plugins/todo-item/todo-item.editor.d.ts +5 -5
- package/plugins/todo-item/todo-item.plugin.d.ts +5 -5
- package/plugins/vertical-align/toolbar-item.component.d.ts +25 -25
- package/plugins/vertical-align/vertical-align.editor.d.ts +7 -7
- package/public-api.d.ts +20 -20
- package/queries/anchor-block-entry.d.ts +2 -2
- package/queries/anchor-block.d.ts +2 -2
- package/queries/anchor-inline-entry.d.ts +2 -2
- package/queries/find-descendant.d.ts +10 -10
- package/queries/find-node.d.ts +15 -15
- package/queries/find-path.d.ts +6 -6
- package/queries/get-above-by-type.d.ts +6 -6
- package/queries/get-above.d.ts +6 -6
- package/queries/get-anchor-block-entry.d.ts +2 -2
- package/queries/get-block-above.d.ts +7 -7
- package/queries/get-block-card-above.d.ts +7 -7
- package/queries/get-block-card-cursor.d.ts +2 -2
- package/queries/get-container-blocks.d.ts +2 -2
- package/queries/get-directly-parent.d.ts +2 -2
- package/queries/get-insert-elements-path.d.ts +7 -7
- package/queries/get-last-child-path.d.ts +6 -6
- package/queries/get-last-node.d.ts +2 -2
- package/queries/get-next-sibling-nodes.d.ts +7 -7
- package/queries/get-node.d.ts +2 -2
- package/queries/get-nodes-by-type.d.ts +6 -6
- package/queries/get-nodes.d.ts +4 -4
- package/queries/get-parent.d.ts +7 -7
- package/queries/get-plain-text.d.ts +6 -6
- package/queries/get-plugin-by-toolbar.d.ts +3 -3
- package/queries/get-point-before.d.ts +38 -38
- package/queries/get-point-from-location.d.ts +5 -5
- package/queries/get-previous-path.d.ts +2 -2
- package/queries/get-rang-from-block-start.d.ts +9 -9
- package/queries/get-range-before.d.ts +7 -7
- package/queries/get-selection-marks.d.ts +12 -12
- package/queries/get-selection-nodes-by-type.d.ts +3 -3
- package/queries/get-text.d.ts +6 -6
- package/queries/get-toolbar-disabled.d.ts +4 -4
- package/queries/index.d.ts +58 -57
- package/queries/is-across-blocks.d.ts +2 -2
- package/queries/is-ancestor-empty.d.ts +5 -5
- package/queries/is-ancestor.d.ts +2 -2
- package/queries/is-block-above-empty.d.ts +5 -5
- package/queries/is-block-active.d.ts +3 -3
- package/queries/is-block-card-cursor.d.ts +2 -2
- package/queries/is-block-text-empty-after-selection.d.ts +7 -7
- package/queries/is-collapsed.d.ts +6 -6
- package/queries/is-contain-nested-type.d.ts +2 -2
- package/queries/is-container-type.d.ts +2 -2
- package/queries/is-descendant.d.ts +2 -2
- package/queries/is-empty-content.d.ts +2 -0
- package/queries/is-empty-paragraph-by-path.d.ts +2 -2
- package/queries/is-empty-paragraph.d.ts +2 -2
- package/queries/is-first-child.d.ts +5 -5
- package/queries/is-include-types.d.ts +3 -3
- package/queries/is-node-type-in.d.ts +6 -6
- package/queries/is-node-type.d.ts +6 -6
- package/queries/is-paragraph.d.ts +2 -2
- package/queries/is-point-at-root.d.ts +2 -2
- package/queries/is-range-across-blocks.d.ts +8 -8
- package/queries/is-range-at-root.d.ts +2 -2
- package/queries/is-start.d.ts +5 -5
- package/queries/some-node.d.ts +7 -7
- package/services/color-select.service.d.ts +20 -20
- package/services/context.service.d.ts +49 -49
- package/services/table-contextmenu.service.d.ts +25 -25
- package/services/toolbar.service.d.ts +9 -9
- package/shortcuts/index.d.ts +2 -2
- package/shortcuts/mark.d.ts +2 -2
- package/transforms/apply-deep-to-nodes.d.ts +12 -12
- package/transforms/clear-marks.d.ts +2 -2
- package/transforms/close-conversion-hint.d.ts +2 -2
- package/transforms/delete-element.d.ts +2 -2
- package/transforms/handle-continual-delete-backward.d.ts +3 -3
- package/transforms/handle-continual-insert-break.d.ts +3 -3
- package/transforms/index.d.ts +18 -18
- package/transforms/insert-elements.d.ts +2 -2
- package/transforms/insert-paragraph.d.ts +2 -2
- package/transforms/merge-deep-to-nodes.d.ts +5 -5
- package/transforms/move-children.d.ts +24 -24
- package/transforms/on-keydown-reset-block-type.d.ts +3 -3
- package/transforms/set-end-selection.d.ts +2 -2
- package/transforms/set-marks.d.ts +12 -12
- package/transforms/set-node.d.ts +2 -2
- package/transforms/split-node.d.ts +3 -3
- package/transforms/un-hang-range.d.ts +10 -10
- package/transforms/un-wrap.d.ts +3 -3
- package/transforms/unwrap-nodes-by-type.d.ts +6 -6
- package/utils/auto-focus.d.ts +2 -2
- package/utils/auto-scroll-view.d.ts +6 -6
- package/utils/cast-array.d.ts +1 -1
- package/utils/common.d.ts +2 -2
- package/utils/create-empty-paragraph.d.ts +2 -2
- package/utils/data-transform.d.ts +6 -6
- package/utils/dom.d.ts +10 -10
- package/utils/editor-uuid.d.ts +3 -3
- package/utils/fragment.d.ts +10 -10
- package/utils/get-editable-element-height.d.ts +2 -2
- package/utils/get-toolbar-class.d.ts +2 -2
- package/utils/id-creator.d.ts +1 -1
- package/utils/index.d.ts +13 -13
- package/utils/is-clean-empty-paragraph.d.ts +9 -9
- package/utils/is-inline.d.ts +2 -2
- package/utils/lodash.d.ts +1 -1
- package/utils/match.d.ts +18 -18
- package/utils/merge-element-options.d.ts +2 -2
- package/utils/weak-maps.d.ts +5 -5
- package/worktile-theia.d.ts +5 -5
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import { Editor, Transforms } from 'slate';
|
|
2
|
-
import { TablePosition } from '../utils';
|
|
3
|
-
import { clearCell } from './clear-cell';
|
|
4
|
-
import { removeColumns } from '../utils/remove-columns';
|
|
5
|
-
export function removeColumn(opts, editor, selectColIndex) {
|
|
6
|
-
const { selection } = editor;
|
|
7
|
-
const { anchor: { path } } = selection;
|
|
8
|
-
const tablePosition = TablePosition.create(opts, editor, path);
|
|
9
|
-
const { tableEntry, table, row, cellEntry: [cellNode, cellPath] } = tablePosition;
|
|
10
|
-
const rows = tableEntry[0].children;
|
|
11
|
-
selectColIndex = selectColIndex === undefined ? [...cellPath].pop() : selectColIndex;
|
|
12
|
-
Editor.withoutNormalizing(editor, () => {
|
|
13
|
-
table.children.map((row, rowIndex) => {
|
|
14
|
-
const dirtyCell = row.children.find((cell, columnIndex) => !cell.hidden && columnIndex < selectColIndex && cell.colspan && cell.colspan + columnIndex > selectColIndex);
|
|
15
|
-
if (dirtyCell) {
|
|
16
|
-
const colspan = dirtyCell.colspan - 1 > 1 ? dirtyCell.colspan - 1 : null;
|
|
17
|
-
Transforms.setNodes(editor, { colspan }, {
|
|
18
|
-
at: tablePosition.tableEntry[1].concat(rowIndex).concat(row.children.indexOf(dirtyCell))
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
const removeCell = row.children[selectColIndex];
|
|
22
|
-
const nextCell = row.children[selectColIndex + 1];
|
|
23
|
-
if (nextCell && nextCell.hidden && removeCell.colspan > 1) {
|
|
24
|
-
const colspan = removeCell.colspan - 1 > 1 ? removeCell.colspan - 1 : null;
|
|
25
|
-
Transforms.setNodes(editor, { colspan, rowspan: removeCell.rowspan || null, hidden: null }, { at: tablePosition.tableEntry[1].concat(rowIndex).concat(row.children.indexOf(nextCell)) });
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
// Remove the cell from every row
|
|
30
|
-
Editor.withoutNormalizing(editor, () => {
|
|
31
|
-
if (tablePosition.getWidth() > 1) {
|
|
32
|
-
rows.forEach((row, rowIndex) => {
|
|
33
|
-
const at = tableEntry[1].concat([rowIndex, selectColIndex]);
|
|
34
|
-
Transforms.removeNodes(editor, { at });
|
|
35
|
-
});
|
|
36
|
-
if (table.columns) {
|
|
37
|
-
Transforms.setNodes(editor, { columns: removeColumns(table, table.columns.length - 1, selectColIndex) }, { at: tableEntry[1] });
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
// If last column, clear text in cells instead
|
|
42
|
-
rows.forEach((row, rowIndex) => {
|
|
43
|
-
row.children.forEach((cell, cellIndex) => {
|
|
44
|
-
const at = tableEntry[1].concat([rowIndex, cellIndex]);
|
|
45
|
-
clearCell(opts, editor, [cell, at]);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Editor, Transforms } from 'slate';
|
|
2
|
+
import { TablePosition } from '../utils';
|
|
3
|
+
import { clearCell } from './clear-cell';
|
|
4
|
+
import { removeColumns } from '../utils/remove-columns';
|
|
5
|
+
export function removeColumn(opts, editor, selectColIndex) {
|
|
6
|
+
const { selection } = editor;
|
|
7
|
+
const { anchor: { path } } = selection;
|
|
8
|
+
const tablePosition = TablePosition.create(opts, editor, path);
|
|
9
|
+
const { tableEntry, table, row, cellEntry: [cellNode, cellPath] } = tablePosition;
|
|
10
|
+
const rows = tableEntry[0].children;
|
|
11
|
+
selectColIndex = selectColIndex === undefined ? [...cellPath].pop() : selectColIndex;
|
|
12
|
+
Editor.withoutNormalizing(editor, () => {
|
|
13
|
+
table.children.map((row, rowIndex) => {
|
|
14
|
+
const dirtyCell = row.children.find((cell, columnIndex) => !cell.hidden && columnIndex < selectColIndex && cell.colspan && cell.colspan + columnIndex > selectColIndex);
|
|
15
|
+
if (dirtyCell) {
|
|
16
|
+
const colspan = dirtyCell.colspan - 1 > 1 ? dirtyCell.colspan - 1 : null;
|
|
17
|
+
Transforms.setNodes(editor, { colspan }, {
|
|
18
|
+
at: tablePosition.tableEntry[1].concat(rowIndex).concat(row.children.indexOf(dirtyCell))
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
const removeCell = row.children[selectColIndex];
|
|
22
|
+
const nextCell = row.children[selectColIndex + 1];
|
|
23
|
+
if (nextCell && nextCell.hidden && removeCell.colspan > 1) {
|
|
24
|
+
const colspan = removeCell.colspan - 1 > 1 ? removeCell.colspan - 1 : null;
|
|
25
|
+
Transforms.setNodes(editor, { colspan, rowspan: removeCell.rowspan || null, hidden: null }, { at: tablePosition.tableEntry[1].concat(rowIndex).concat(row.children.indexOf(nextCell)) });
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
// Remove the cell from every row
|
|
30
|
+
Editor.withoutNormalizing(editor, () => {
|
|
31
|
+
if (tablePosition.getWidth() > 1) {
|
|
32
|
+
rows.forEach((row, rowIndex) => {
|
|
33
|
+
const at = tableEntry[1].concat([rowIndex, selectColIndex]);
|
|
34
|
+
Transforms.removeNodes(editor, { at });
|
|
35
|
+
});
|
|
36
|
+
if (table.columns) {
|
|
37
|
+
Transforms.setNodes(editor, { columns: removeColumns(table, table.columns.length - 1, selectColIndex) }, { at: tableEntry[1] });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
// If last column, clear text in cells instead
|
|
42
|
+
rows.forEach((row, rowIndex) => {
|
|
43
|
+
row.children.forEach((cell, cellIndex) => {
|
|
44
|
+
const at = tableEntry[1].concat([rowIndex, cellIndex]);
|
|
45
|
+
clearCell(opts, editor, [cell, at]);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RyYW5zZm9ybXMvcmVtb3ZlLWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFXLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXhELE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBa0IsRUFBRSxNQUFjLEVBQUUsY0FBdUI7SUFDcEYsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUM3QixNQUFNLEVBQ0YsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQ25CLEdBQUcsU0FBUyxDQUFDO0lBRWQsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9ELE1BQU0sRUFDRixVQUFVLEVBQ1YsS0FBSyxFQUNMLEdBQUcsRUFDSCxTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQ2xDLEdBQUcsYUFBYSxDQUFDO0lBRWxCLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFxQixDQUFDO0lBRWpELGNBQWMsR0FBRyxjQUFjLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUVyRixNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtRQUNuQyxLQUFLLENBQUMs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QUE4QztZQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUMzQixHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRTtvQkFDckMsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO29CQUN2RCxTQUFTLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XHJcbmltcG9ydCB7IFRhYmxlUG9zaXRpb24gfSBmcm9tICcuLi91dGlscyc7XHJcbmltcG9ydCB7IGNsZWFyQ2VsbCB9IGZyb20gJy4vY2xlYXItY2VsbCc7XHJcbmltcG9ydCB7IHJlbW92ZUNvbHVtbnMgfSBmcm9tICcuLi91dGlscy9yZW1vdmUtY29sdW1ucyc7XHJcbmltcG9ydCB7IFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcclxuaW1wb3J0IHsgVGFibGVDZWxsRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQ29sdW1uKG9wdHM6IFRhYmxlT3B0aW9ucywgZWRpdG9yOiBFZGl0b3IsIHNlbGVjdENvbEluZGV4PzogbnVtYmVyKSB7XHJcbiAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICAgIGFuY2hvcjogeyBwYXRoIH1cclxuICAgIH0gPSBzZWxlY3Rpb247XHJcblxyXG4gICAgY29uc3QgdGFibGVQb3NpdGlvbiA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgcGF0aCk7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgICAgdGFibGVFbnRyeSxcclxuICAgICAgICB0YWJsZSxcclxuICAgICAgICByb3csXHJcbiAgICAgICAgY2VsbEVudHJ5OiBbY2VsbE5vZGUsIGNlbGxQYXRoXVxyXG4gICAgfSA9IHRhYmxlUG9zaXRpb247XHJcblxyXG4gICAgY29uc3Qgcm93cyA9IHRhYmxlRW50cnlbMF0uY2hpbGRyZW4gYXMgRWxlbWVudFtdO1xyXG5cclxuICAgIHNlbGVjdENvbEluZGV4ID0gc2VsZWN0Q29sSW5kZXggPT09IHVuZGVmaW5lZCA/IFsuLi5jZWxsUGF0aF0ucG9wKCkgOiBzZWxlY3RDb2xJbmRleDtcclxuXHJcbiAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xyXG4gICAgICAgIHRhYmxlLmNoaWxkcmVuLm1hcCgocm93LCByb3dJbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBkaXJ0eUNlbGwgPSByb3cuY2hpbGRyZW4uZmluZChcclxuICAgICAgICAgICAgICAgIChjZWxsOiBUYWJsZUNlbGxFbGVtZW50LCBjb2x1bW5JbmRleDogbnVtYmVyKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICFjZWxsLmhpZGRlbiAmJiBjb2x1bW5JbmRleCA8IHNlbGVjdENvbEluZGV4ICYmIGNlbGwuY29sc3BhbiAmJiBjZWxsLmNvbHNwYW4gKyBjb2x1bW5JbmRleCA+IHNlbGVjdENvbEluZGV4XHJcbiAgICAgICAgICAgICkgYXMgVGFibGVDZWxsRWxlbWVudDtcclxuICAgICAgICAgICAgaWYgKGRpcnR5Q2VsbCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29sc3BhbiA9IGRpcnR5Q2VsbC5jb2xzcGFuIC0gMSA+IDEgPyBkaXJ0eUNlbGwuY29sc3BhbiAtIDEgOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcclxuICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXHJcbiAgICAgICAgICAgICAgICAgICAgeyBjb2xzcGFuIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhdDogdGFibGVQb3NpdGlvbi50YWJsZUVudHJ5WzFdLmNvbmNhdChyb3dJbmRleCkuY29uY2F0KHJvdy5jaGlsZHJlbi5pbmRleE9mKGRpcnR5Q2VsbCkpXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCByZW1vdmVDZWxsID0gcm93LmNoaWxkcmVuW3NlbGVjdENvbEluZGV4XSBhcyBUYWJsZUNlbGxFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBuZXh0Q2VsbCA9IHJvdy5jaGlsZHJlbltzZWxlY3RDb2xJbmRleCArIDFdIGFzIFRhYmxlQ2VsbEVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGlmIChuZXh0Q2VsbCAmJiBuZXh0Q2VsbC5oaWRkZW4gJiYgcmVtb3ZlQ2VsbC5jb2xzcGFuID4gMSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29sc3BhbiA9IHJlbW92ZUNlbGwuY29sc3BhbiAtIDEgPiAxID8gcmVtb3ZlQ2VsbC5jb2xzcGFuIC0gMSA6IG51bGw7XHJcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxyXG4gICAgICAgICAgICAgICAgICAgIGVkaXRvcixcclxuICAgICAgICAgICAgICAgICAgICB7IGNvbHNwYW4sIHJvd3NwYW46IHJlbW92ZUNlbGwucm93c3BhbiB8fCBudWxsLCBoaWRkZW46IG51bGwgfSxcclxuICAgICAgICAgICAgICAgICAgICB7IGF0OiB0YWJsZVBvc2l0aW9uLnRhYmxlRW50cnlbMV0uY29uY2F0KHJvd0luZGV4KS5jb25jYXQocm93LmNoaWxkcmVuLmluZGV4T2YobmV4dENlbGwpKSB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBSZW1vdmUgdGhlIGNlbGwgZnJvbSBldmVyeSByb3dcclxuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRhYmxlUG9zaXRpb24uZ2V0V2lkdGgoKSA+IDEpIHtcclxuICAgICAgICAgICAgcm93cy5mb3JFYWNoKChyb3csIHJvd0luZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBhdCA9IHRhYmxlRW50cnlbMV0uY29uY2F0KFtyb3dJbmRleCwgc2VsZWN0Q29sSW5kZXhdKTtcclxuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZXMoZWRpdG9yLCB7IGF0IH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKHRhYmxlLmNvbHVtbnMpIHtcclxuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoXHJcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxyXG4gICAgICAgICAgICAgICAgICAgIHsgY29sdW1uczogcmVtb3ZlQ29sdW1ucyh0YWJsZSwgdGFibGUuY29sdW1ucy5sZW5ndGggLSAxLCBzZWxlY3RDb2xJbmRleCkgfSxcclxuICAgICAgICAgICAgICAgICAgICB7IGF0OiB0YWJsZUVudHJ5WzFdIH1cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBJZiBsYXN0IGNvbHVtbiwgY2xlYXIgdGV4dCBpbiBjZWxscyBpbnN0ZWFkXHJcbiAgICAgICAgICAgIHJvd3MuZm9yRWFjaCgocm93LCByb3dJbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcm93LmNoaWxkcmVuLmZvckVhY2goKGNlbGwsIGNlbGxJbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGF0ID0gdGFibGVFbnRyeVsxXS5jb25jYXQoW3Jvd0luZGV4LCBjZWxsSW5kZXhdKTtcclxuICAgICAgICAgICAgICAgICAgICBjbGVhckNlbGwob3B0cywgZWRpdG9yLCBbY2VsbCBhcyBFbGVtZW50LCBhdF0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import { Editor, Transforms } from 'slate';
|
|
2
|
-
import { TablePosition } from '../utils';
|
|
3
|
-
import { clearCell } from './clear-cell';
|
|
4
|
-
export function removeRow(opts, editor, selectRowIndex) {
|
|
5
|
-
const { selection } = editor;
|
|
6
|
-
const { anchor: { path } } = selection;
|
|
7
|
-
const tablePosition = TablePosition.create(opts, editor, path);
|
|
8
|
-
const { tableEntry, table, rowEntry: [rowNode, rowPath] } = tablePosition;
|
|
9
|
-
selectRowIndex = selectRowIndex === undefined ? [...rowPath].pop() : selectRowIndex;
|
|
10
|
-
const at = tableEntry[1].concat(selectRowIndex);
|
|
11
|
-
Editor.withoutNormalizing(editor, () => {
|
|
12
|
-
table.children.map((row, rowIndex) => {
|
|
13
|
-
if (rowIndex < selectRowIndex) {
|
|
14
|
-
const dirtyCells = row.children.filter((cell, columnIndex) => !cell.hidden && cell.rowspan && cell.rowspan + rowIndex > selectRowIndex);
|
|
15
|
-
if (dirtyCells.length) {
|
|
16
|
-
dirtyCells.map((dirtyCell) => {
|
|
17
|
-
const rowspan = dirtyCell.rowspan - 1 > 1 ? dirtyCell.rowspan - 1 : null;
|
|
18
|
-
Transforms.setNodes(editor, { rowspan }, {
|
|
19
|
-
at: tablePosition.tableEntry[1].concat(rowIndex).concat(row.children.indexOf(dirtyCell))
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
const removeRow = table.children[selectRowIndex];
|
|
26
|
-
const nextRow = table.children[selectRowIndex + 1];
|
|
27
|
-
if (nextRow) {
|
|
28
|
-
removeRow.children.map((cell, cellIndex) => {
|
|
29
|
-
const nextCell = nextRow.children[cellIndex];
|
|
30
|
-
if (nextCell && cell.rowspan > 1 && nextCell.hidden) {
|
|
31
|
-
const rowspan = cell.rowspan - 1 > 1 ? cell.rowspan - 1 : null;
|
|
32
|
-
Transforms.setNodes(editor, { colspan: cell.colspan || null, rowspan, hidden: null }, { at: tablePosition.tableEntry[1].concat(selectRowIndex + 1).concat(cellIndex) });
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
// Update table by removing the row
|
|
38
|
-
if (tablePosition.getHeight() > 1) {
|
|
39
|
-
Transforms.removeNodes(editor, { at });
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
// If last remaining row, clear it instead
|
|
43
|
-
Editor.withoutNormalizing(editor, () => {
|
|
44
|
-
rowNode.children.forEach((cell, cellIndex) => {
|
|
45
|
-
clearCell(opts, editor, [cell, at.concat(cellIndex)]);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Editor, Transforms } from 'slate';
|
|
2
|
+
import { TablePosition } from '../utils';
|
|
3
|
+
import { clearCell } from './clear-cell';
|
|
4
|
+
export function removeRow(opts, editor, selectRowIndex) {
|
|
5
|
+
const { selection } = editor;
|
|
6
|
+
const { anchor: { path } } = selection;
|
|
7
|
+
const tablePosition = TablePosition.create(opts, editor, path);
|
|
8
|
+
const { tableEntry, table, rowEntry: [rowNode, rowPath] } = tablePosition;
|
|
9
|
+
selectRowIndex = selectRowIndex === undefined ? [...rowPath].pop() : selectRowIndex;
|
|
10
|
+
const at = tableEntry[1].concat(selectRowIndex);
|
|
11
|
+
Editor.withoutNormalizing(editor, () => {
|
|
12
|
+
table.children.map((row, rowIndex) => {
|
|
13
|
+
if (rowIndex < selectRowIndex) {
|
|
14
|
+
const dirtyCells = row.children.filter((cell, columnIndex) => !cell.hidden && cell.rowspan && cell.rowspan + rowIndex > selectRowIndex);
|
|
15
|
+
if (dirtyCells.length) {
|
|
16
|
+
dirtyCells.map((dirtyCell) => {
|
|
17
|
+
const rowspan = dirtyCell.rowspan - 1 > 1 ? dirtyCell.rowspan - 1 : null;
|
|
18
|
+
Transforms.setNodes(editor, { rowspan }, {
|
|
19
|
+
at: tablePosition.tableEntry[1].concat(rowIndex).concat(row.children.indexOf(dirtyCell))
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const removeRow = table.children[selectRowIndex];
|
|
26
|
+
const nextRow = table.children[selectRowIndex + 1];
|
|
27
|
+
if (nextRow) {
|
|
28
|
+
removeRow.children.map((cell, cellIndex) => {
|
|
29
|
+
const nextCell = nextRow.children[cellIndex];
|
|
30
|
+
if (nextCell && cell.rowspan > 1 && nextCell.hidden) {
|
|
31
|
+
const rowspan = cell.rowspan - 1 > 1 ? cell.rowspan - 1 : null;
|
|
32
|
+
Transforms.setNodes(editor, { colspan: cell.colspan || null, rowspan, hidden: null }, { at: tablePosition.tableEntry[1].concat(selectRowIndex + 1).concat(cellIndex) });
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
// Update table by removing the row
|
|
38
|
+
if (tablePosition.getHeight() > 1) {
|
|
39
|
+
Transforms.removeNodes(editor, { at });
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
// If last remaining row, clear it instead
|
|
43
|
+
Editor.withoutNormalizing(editor, () => {
|
|
44
|
+
rowNode.children.forEach((cell, cellIndex) => {
|
|
45
|
+
clearCell(opts, editor, [cell, at.concat(cellIndex)]);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RyYW5zZm9ybXMvcmVtb3ZlLXJvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFXLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUdwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFrQixFQUFFLE1BQWMsRUFBRSxjQUF1QjtJQUNqRixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzdCLE1BQU0sRUFDRixNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFDbkIsR0FBRyxTQUFTLENBQUM7SUFFZCxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsTUFBTSxFQUNGLFVBQVUsRUFDVixLQUFLLEVBQ0wsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUMvQixHQUFHLGFBQWEsQ0FBQztJQUVsQixjQUFjLEdBQUcsY0FBYyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDcEYsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVoRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtRQUNuQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUs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QztRQUNQLENBQUMsQ0FBQyxDQUFDO0tBQ047QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50LCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xyXG5pbXBvcnQgeyBUYWJsZUNlbGxFbGVtZW50LCBUYWJsZVJvd0VsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xyXG5pbXBvcnQgeyBUYWJsZU9wdGlvbnMgfSBmcm9tICcuLi90YWJsZS50eXBlcyc7XHJcbmltcG9ydCB7IFRhYmxlUG9zaXRpb24gfSBmcm9tICcuLi91dGlscyc7XHJcbmltcG9ydCB7IGNsZWFyQ2VsbCB9IGZyb20gJy4vY2xlYXItY2VsbCc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlUm93KG9wdHM6IFRhYmxlT3B0aW9ucywgZWRpdG9yOiBFZGl0b3IsIHNlbGVjdFJvd0luZGV4PzogbnVtYmVyKSB7XHJcbiAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICAgIGFuY2hvcjogeyBwYXRoIH1cclxuICAgIH0gPSBzZWxlY3Rpb247XHJcblxyXG4gICAgY29uc3QgdGFibGVQb3NpdGlvbiA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgcGF0aCk7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgICAgdGFibGVFbnRyeSxcclxuICAgICAgICB0YWJsZSxcclxuICAgICAgICByb3dFbnRyeTogW3Jvd05vZGUsIHJvd1BhdGhdXHJcbiAgICB9ID0gdGFibGVQb3NpdGlvbjtcclxuXHJcbiAgICBzZWxlY3RSb3dJbmRleCA9IHNlbGVjdFJvd0luZGV4ID09PSB1bmRlZmluZWQgPyBbLi4ucm93UGF0aF0ucG9wKCkgOiBzZWxlY3RSb3dJbmRleDtcclxuICAgIGNvbnN0IGF0ID0gdGFibGVFbnRyeVsxXS5jb25jYXQoc2VsZWN0Um93SW5kZXgpO1xyXG5cclxuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XHJcbiAgICAgICAgdGFibGUuY2hpbGRyZW4ubWFwKChyb3csIHJvd0luZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyb3dJbmRleCA8IHNlbGVjdFJvd0luZGV4KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkaXJ0eUNlbGxzID0gcm93LmNoaWxkcmVuLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAoY2VsbDogVGFibGVDZWxsRWxlbWVudCwgY29sdW1uSW5kZXg6IG51bWJlcikgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIWNlbGwuaGlkZGVuICYmIGNlbGwucm93c3BhbiAmJiBjZWxsLnJvd3NwYW4gKyByb3dJbmRleCA+IHNlbGVjdFJvd0luZGV4XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgaWYgKGRpcnR5Q2VsbHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlydHlDZWxscy5tYXAoKGRpcnR5Q2VsbDogVGFibGVDZWxsRWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByb3dzcGFuID0gZGlydHlDZWxsLnJvd3NwYW4gLSAxID4gMSA/IGRpcnR5Q2VsbC5yb3dzcGFuIC0gMSA6IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHJvd3NwYW4gfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdDogdGFibGVQb3NpdGlvbi50YWJsZUVudHJ5WzFdLmNvbmNhdChyb3dJbmRleCkuY29uY2F0KHJvdy5jaGlsZHJlbi5pbmRleE9mKGRpcnR5Q2VsbCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zdCByZW1vdmVSb3cgPSB0YWJsZS5jaGlsZHJlbltzZWxlY3RSb3dJbmRleF0gYXMgVGFibGVSb3dFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IG5leHRSb3cgPSB0YWJsZS5jaGlsZHJlbltzZWxlY3RSb3dJbmRleCArIDFdIGFzIFRhYmxlUm93RWxlbWVudDtcclxuICAgICAgICBpZiAobmV4dFJvdykge1xyXG4gICAgICAgICAgICByZW1vdmVSb3cuY2hpbGRyZW4ubWFwKChjZWxsOiBUYWJsZUNlbGxFbGVtZW50LCBjZWxsSW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG5leHRDZWxsID0gbmV4dFJvdy5jaGlsZHJlbltjZWxsSW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgaWYgKG5leHRDZWxsICYmIGNlbGwucm93c3BhbiA+IDEgJiYgbmV4dENlbGwuaGlkZGVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93c3BhbiA9IGNlbGwucm93c3BhbiAtIDEgPiAxID8gY2VsbC5yb3dzcGFuIC0gMSA6IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGNvbHNwYW46IGNlbGwuY29sc3BhbiB8fCBudWxsLCByb3dzcGFuLCBoaWRkZW46IG51bGwgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgeyBhdDogdGFibGVQb3NpdGlvbi50YWJsZUVudHJ5WzFdLmNvbmNhdChzZWxlY3RSb3dJbmRleCArIDEpLmNvbmNhdChjZWxsSW5kZXgpIH1cclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBVcGRhdGUgdGFibGUgYnkgcmVtb3ZpbmcgdGhlIHJvd1xyXG4gICAgaWYgKHRhYmxlUG9zaXRpb24uZ2V0SGVpZ2h0KCkgPiAxKSB7XHJcbiAgICAgICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlcyhlZGl0b3IsIHsgYXQgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIElmIGxhc3QgcmVtYWluaW5nIHJvdywgY2xlYXIgaXQgaW5zdGVhZFxyXG4gICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIChyb3dOb2RlLmNoaWxkcmVuIGFzIEVsZW1lbnRbXSkuZm9yRWFjaCgoY2VsbCwgY2VsbEluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjbGVhckNlbGwob3B0cywgZWRpdG9yLCBbY2VsbCwgYXQuY29uY2F0KGNlbGxJbmRleCldKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
import { Editor, Path, Transforms } from 'slate';
|
|
2
|
-
import { createEmptyParagraph } from '../../../utils/create-empty-paragraph';
|
|
3
|
-
import { TablePosition } from '../utils';
|
|
4
|
-
import { NextPath } from '../utils/next-path';
|
|
5
|
-
export function removeTable(opts, editor) {
|
|
6
|
-
const { selection } = editor;
|
|
7
|
-
const { anchor: { path } } = selection;
|
|
8
|
-
const pos = TablePosition.create(opts, editor, path);
|
|
9
|
-
const { table, tableEntry: [, tablePath] } = pos;
|
|
10
|
-
let nextFocusEntry = null;
|
|
11
|
-
let shouldCollapseToEnd = false;
|
|
12
|
-
const nextEntry = Editor.next(editor, { at: tablePath });
|
|
13
|
-
if (nextEntry) {
|
|
14
|
-
nextFocusEntry = nextEntry;
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
const prevEntry = Editor.previous(editor, { at: tablePath });
|
|
18
|
-
if (prevEntry) {
|
|
19
|
-
nextFocusEntry = prevEntry;
|
|
20
|
-
shouldCollapseToEnd = true;
|
|
21
|
-
}
|
|
22
|
-
else if (opts.exitBlockType) {
|
|
23
|
-
nextFocusEntry = [
|
|
24
|
-
{
|
|
25
|
-
type: opts.exitBlockType,
|
|
26
|
-
children: [{ text: '' }]
|
|
27
|
-
},
|
|
28
|
-
null
|
|
29
|
-
];
|
|
30
|
-
nextFocusEntry[1] = NextPath(tablePath);
|
|
31
|
-
Transforms.insertNodes(editor, nextFocusEntry[0], { at: nextFocusEntry[1] });
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
Transforms.removeNodes(editor, { at: tablePath });
|
|
35
|
-
Transforms.insertNodes(editor, createEmptyParagraph(), { at: tablePath });
|
|
36
|
-
if (!nextFocusEntry) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
if (shouldCollapseToEnd) {
|
|
40
|
-
const endPoint = Editor.end(editor, nextFocusEntry[1]);
|
|
41
|
-
Transforms.select(editor, endPoint);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
const previousPath = Path.previous(nextFocusEntry[1]);
|
|
45
|
-
const startPoint = Editor.start(editor, previousPath);
|
|
46
|
-
Transforms.select(editor, startPoint);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Editor, Path, Transforms } from 'slate';
|
|
2
|
+
import { createEmptyParagraph } from '../../../utils/create-empty-paragraph';
|
|
3
|
+
import { TablePosition } from '../utils';
|
|
4
|
+
import { NextPath } from '../utils/next-path';
|
|
5
|
+
export function removeTable(opts, editor) {
|
|
6
|
+
const { selection } = editor;
|
|
7
|
+
const { anchor: { path } } = selection;
|
|
8
|
+
const pos = TablePosition.create(opts, editor, path);
|
|
9
|
+
const { table, tableEntry: [, tablePath] } = pos;
|
|
10
|
+
let nextFocusEntry = null;
|
|
11
|
+
let shouldCollapseToEnd = false;
|
|
12
|
+
const nextEntry = Editor.next(editor, { at: tablePath });
|
|
13
|
+
if (nextEntry) {
|
|
14
|
+
nextFocusEntry = nextEntry;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
const prevEntry = Editor.previous(editor, { at: tablePath });
|
|
18
|
+
if (prevEntry) {
|
|
19
|
+
nextFocusEntry = prevEntry;
|
|
20
|
+
shouldCollapseToEnd = true;
|
|
21
|
+
}
|
|
22
|
+
else if (opts.exitBlockType) {
|
|
23
|
+
nextFocusEntry = [
|
|
24
|
+
{
|
|
25
|
+
type: opts.exitBlockType,
|
|
26
|
+
children: [{ text: '' }]
|
|
27
|
+
},
|
|
28
|
+
null
|
|
29
|
+
];
|
|
30
|
+
nextFocusEntry[1] = NextPath(tablePath);
|
|
31
|
+
Transforms.insertNodes(editor, nextFocusEntry[0], { at: nextFocusEntry[1] });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
Transforms.removeNodes(editor, { at: tablePath });
|
|
35
|
+
Transforms.insertNodes(editor, createEmptyParagraph(), { at: tablePath });
|
|
36
|
+
if (!nextFocusEntry) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (shouldCollapseToEnd) {
|
|
40
|
+
const endPoint = Editor.end(editor, nextFocusEntry[1]);
|
|
41
|
+
Transforms.select(editor, endPoint);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const previousPath = Path.previous(nextFocusEntry[1]);
|
|
45
|
+
const startPoint = Editor.start(editor, previousPath);
|
|
46
|
+
Transforms.select(editor, startPoint);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdHJhbnNmb3Jtcy9yZW1vdmUtdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBVyxJQUFJLEVBQUUsVUFBVSxFQUF5QixNQUFNLE9BQU8sQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQWtCLEVBQUUsTUFBYztJQUMxRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzdCLE1BQU0sRUFDRixNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFDbkIsR0FBRyxTQUFTLENBQUM7SUFDZCxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsTUFBTSxFQUNGLEtBQUssRUFDTCxVQUFVLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUM1QixHQUFHLEdBQUcsQ0FBQztJQUNSLElBQUksY0FBYyxHQUF1QixJQUFJLENBQUM7SUFDOUMsSUFBSSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFFaEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBVSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNsRSxJQUFJLFNBQVMsRUFBRTtRQUNYLGNBQWMsR0FBRyxTQUFTLENBQUM7S0FDOUI7U0FBTTtRQUNILE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQVUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDdEUsSUFBSSxTQUFTLEVBQUU7WUFDWCxjQUFjLEdBQUcsU0FBUyxDQUFDO1lBQzNCLG1CQUFtQixHQUFHLElBQUksQ0FBQztTQUM5QjthQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUMzQixjQUFjLEdBQUc7Z0JBQ2I7b0JBQ0ksSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhO29CQUN4QixRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztpQkFDaEI7Z0JBQ1osSUFBSTthQUNQLENBQUM7WUFDRixjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3hDLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2hGO0tBQ0o7SUFFRCxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUUxRSxJQUFJLENBQUMsY0FBYyxFQUFFO1FBQ2pCLE9BQU87S0FDVjtJQUVELElBQUksbUJBQW1CLEVBQUU7UUFDckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7S0FDdkM7U0FBTTtRQUNILE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDdEQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7S0FDekM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50LCBQYXRoLCBUcmFuc2Zvcm1zLCBOb2RlRW50cnksIERlc2NlbmRhbnQgfSBmcm9tICdzbGF0ZSc7XHJcbmltcG9ydCB7IGNyZWF0ZUVtcHR5UGFyYWdyYXBoIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY3JlYXRlLWVtcHR5LXBhcmFncmFwaCc7XHJcbmltcG9ydCB7IFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcclxuaW1wb3J0IHsgVGFibGVQb3NpdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcclxuaW1wb3J0IHsgTmV4dFBhdGggfSBmcm9tICcuLi91dGlscy9uZXh0LXBhdGgnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVRhYmxlKG9wdHM6IFRhYmxlT3B0aW9ucywgZWRpdG9yOiBFZGl0b3IpIHtcclxuICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgICAgYW5jaG9yOiB7IHBhdGggfVxyXG4gICAgfSA9IHNlbGVjdGlvbjtcclxuICAgIGNvbnN0IHBvcyA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgcGF0aCk7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgICAgdGFibGUsXHJcbiAgICAgICAgdGFibGVFbnRyeTogWywgdGFibGVQYXRoXVxyXG4gICAgfSA9IHBvcztcclxuICAgIGxldCBuZXh0Rm9jdXNFbnRyeTogTm9kZUVudHJ5PEVsZW1lbnQ+ID0gbnVsbDtcclxuICAgIGxldCBzaG91bGRDb2xsYXBzZVRvRW5kID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgbmV4dEVudHJ5ID0gRWRpdG9yLm5leHQ8RWxlbWVudD4oZWRpdG9yLCB7IGF0OiB0YWJsZVBhdGggfSk7XHJcbiAgICBpZiAobmV4dEVudHJ5KSB7XHJcbiAgICAgICAgbmV4dEZvY3VzRW50cnkgPSBuZXh0RW50cnk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHByZXZFbnRyeSA9IEVkaXRvci5wcmV2aW91czxFbGVtZW50PihlZGl0b3IsIHsgYXQ6IHRhYmxlUGF0aCB9KTtcclxuICAgICAgICBpZiAocHJldkVudHJ5KSB7XHJcbiAgICAgICAgICAgIG5leHRGb2N1c0VudHJ5ID0gcHJldkVudHJ5O1xyXG4gICAgICAgICAgICBzaG91bGRDb2xsYXBzZVRvRW5kID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2UgaWYgKG9wdHMuZXhpdEJsb2NrVHlwZSkge1xyXG4gICAgICAgICAgICBuZXh0Rm9jdXNFbnRyeSA9IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBvcHRzLmV4aXRCbG9ja1R5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFt7IHRleHQ6ICcnIH1dXHJcbiAgICAgICAgICAgICAgICB9IGFzIEVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICBudWxsXHJcbiAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgIG5leHRGb2N1c0VudHJ5WzFdID0gTmV4dFBhdGgodGFibGVQYXRoKTtcclxuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIG5leHRGb2N1c0VudHJ5WzBdLCB7IGF0OiBuZXh0Rm9jdXNFbnRyeVsxXSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlcyhlZGl0b3IsIHsgYXQ6IHRhYmxlUGF0aCB9KTtcclxuICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBjcmVhdGVFbXB0eVBhcmFncmFwaCgpLCB7IGF0OiB0YWJsZVBhdGggfSk7XHJcblxyXG4gICAgaWYgKCFuZXh0Rm9jdXNFbnRyeSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2hvdWxkQ29sbGFwc2VUb0VuZCkge1xyXG4gICAgICAgIGNvbnN0IGVuZFBvaW50ID0gRWRpdG9yLmVuZChlZGl0b3IsIG5leHRGb2N1c0VudHJ5WzFdKTtcclxuICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGVuZFBvaW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgcHJldmlvdXNQYXRoID0gUGF0aC5wcmV2aW91cyhuZXh0Rm9jdXNFbnRyeVsxXSk7XHJcbiAgICAgICAgY29uc3Qgc3RhcnRQb2ludCA9IEVkaXRvci5zdGFydChlZGl0b3IsIHByZXZpb3VzUGF0aCk7XHJcbiAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBzdGFydFBvaW50KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { TableOptions } from '../table.types';
|
|
2
|
-
export function addColumns(table, columnsCount, insertIndex) {
|
|
3
|
-
if (table.columns.length < columnsCount) {
|
|
4
|
-
if (!insertIndex && insertIndex !== 0) {
|
|
5
|
-
insertIndex = table.columns.length;
|
|
6
|
-
}
|
|
7
|
-
const opts = new TableOptions();
|
|
8
|
-
let columns = table.columns.slice(0, columnsCount).map(item => {
|
|
9
|
-
return { width: item.width };
|
|
10
|
-
});
|
|
11
|
-
const preTotalWidth = table.columns.reduce((prevValue, column) => {
|
|
12
|
-
return prevValue + column.width;
|
|
13
|
-
}, 0);
|
|
14
|
-
for (let i = 0; i < columnsCount - table.columns.length; i++) {
|
|
15
|
-
columns.splice(insertIndex, 0, { width: opts.defaultWidth });
|
|
16
|
-
}
|
|
17
|
-
const currentTotalWidth = columns.reduce((prevValue, column) => {
|
|
18
|
-
return prevValue + column.width;
|
|
19
|
-
}, 0);
|
|
20
|
-
const percentage = preTotalWidth / currentTotalWidth;
|
|
21
|
-
return columns.map((column, index) => {
|
|
22
|
-
const width = Math.round(column.width * percentage > opts.minWidthPx ? column.width * percentage : opts.minWidthPx);
|
|
23
|
-
return { width };
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
return table.columns;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { TableOptions } from '../table.types';
|
|
2
|
+
export function addColumns(table, columnsCount, insertIndex) {
|
|
3
|
+
if (table.columns.length < columnsCount) {
|
|
4
|
+
if (!insertIndex && insertIndex !== 0) {
|
|
5
|
+
insertIndex = table.columns.length;
|
|
6
|
+
}
|
|
7
|
+
const opts = new TableOptions();
|
|
8
|
+
let columns = table.columns.slice(0, columnsCount).map(item => {
|
|
9
|
+
return { width: item.width };
|
|
10
|
+
});
|
|
11
|
+
const preTotalWidth = table.columns.reduce((prevValue, column) => {
|
|
12
|
+
return prevValue + column.width;
|
|
13
|
+
}, 0);
|
|
14
|
+
for (let i = 0; i < columnsCount - table.columns.length; i++) {
|
|
15
|
+
columns.splice(insertIndex, 0, { width: opts.defaultWidth });
|
|
16
|
+
}
|
|
17
|
+
const currentTotalWidth = columns.reduce((prevValue, column) => {
|
|
18
|
+
return prevValue + column.width;
|
|
19
|
+
}, 0);
|
|
20
|
+
const percentage = preTotalWidth / currentTotalWidth;
|
|
21
|
+
return columns.map((column, index) => {
|
|
22
|
+
const width = Math.round(column.width * percentage > opts.minWidthPx ? column.width * percentage : opts.minWidthPx);
|
|
23
|
+
return { width };
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return table.columns;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbHVtbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9hZGQtY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFtQixFQUFFLFlBQW9CLEVBQUUsV0FBb0I7SUFDdEYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxZQUFZLEVBQUU7UUFDckMsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLEtBQUssQ0FBQyxFQUFFO1lBQ25DLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUN0QztRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzdELE9BQU8sU0FBUyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDcEMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRU4sS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxRCxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7U0FDaEU7UUFDRCxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0QsT0FBTyxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNwQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFTixNQUFNLFVBQVUsR0FBRyxhQUFhLEdBQUcsaUJBQWlCLENBQUM7UUFDckQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwSCxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7S0FDTjtJQUNELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcclxuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZENvbHVtbnModGFibGU6IFRhYmxlRWxlbWVudCwgY29sdW1uc0NvdW50OiBudW1iZXIsIGluc2VydEluZGV4PzogbnVtYmVyKSB7XHJcbiAgICBpZiAodGFibGUuY29sdW1ucy5sZW5ndGggPCBjb2x1bW5zQ291bnQpIHtcclxuICAgICAgICBpZiAoIWluc2VydEluZGV4ICYmIGluc2VydEluZGV4ICE9PSAwKSB7XHJcbiAgICAgICAgICAgIGluc2VydEluZGV4ID0gdGFibGUuY29sdW1ucy5sZW5ndGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKCk7XHJcbiAgICAgICAgbGV0IGNvbHVtbnMgPSB0YWJsZS5jb2x1bW5zLnNsaWNlKDAsIGNvbHVtbnNDb3VudCkubWFwKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4geyB3aWR0aDogaXRlbS53aWR0aCB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnN0IHByZVRvdGFsV2lkdGggPSB0YWJsZS5jb2x1bW5zLnJlZHVjZSgocHJldlZhbHVlLCBjb2x1bW4pID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHByZXZWYWx1ZSArIGNvbHVtbi53aWR0aDtcclxuICAgICAgICB9LCAwKTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2x1bW5zQ291bnQgLSB0YWJsZS5jb2x1bW5zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbHVtbnMuc3BsaWNlKGluc2VydEluZGV4LCAwLCB7IHdpZHRoOiBvcHRzLmRlZmF1bHRXaWR0aCB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgY3VycmVudFRvdGFsV2lkdGggPSBjb2x1bW5zLnJlZHVjZSgocHJldlZhbHVlLCBjb2x1bW4pID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHByZXZWYWx1ZSArIGNvbHVtbi53aWR0aDtcclxuICAgICAgICB9LCAwKTtcclxuXHJcbiAgICAgICAgY29uc3QgcGVyY2VudGFnZSA9IHByZVRvdGFsV2lkdGggLyBjdXJyZW50VG90YWxXaWR0aDtcclxuICAgICAgICByZXR1cm4gY29sdW1ucy5tYXAoKGNvbHVtbiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBNYXRoLnJvdW5kKGNvbHVtbi53aWR0aCAqIHBlcmNlbnRhZ2UgPiBvcHRzLm1pbldpZHRoUHggPyBjb2x1bW4ud2lkdGggKiBwZXJjZW50YWdlIDogb3B0cy5taW5XaWR0aFB4KTtcclxuICAgICAgICAgICAgcmV0dXJuIHsgd2lkdGggfTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiB0YWJsZS5jb2x1bW5zO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { AngularEditor } from 'slate-angular';
|
|
2
|
-
import * as TheQueries from '../../../queries';
|
|
3
|
-
export function calculateAnchorPositionInCell(editor) {
|
|
4
|
-
let isFirstLine = false;
|
|
5
|
-
let isLastLine = false;
|
|
6
|
-
const anchorBlock = TheQueries.anchorBlock(editor);
|
|
7
|
-
const anchorBlockPath = TheQueries.findPath(editor, anchorBlock);
|
|
8
|
-
const anchorBlockDom = AngularEditor.toDOMNode(editor, anchorBlock);
|
|
9
|
-
const valueRangeRect = anchorBlockDom.getBoundingClientRect();
|
|
10
|
-
const anchorBlockHeight = window.getComputedStyle(anchorBlockDom).lineHeight;
|
|
11
|
-
const nativeSelection = window.getSelection();
|
|
12
|
-
const nativeRange = nativeSelection && nativeSelection.getRangeAt(0);
|
|
13
|
-
const nativeRangeRect = nativeRange && nativeRange.getBoundingClientRect();
|
|
14
|
-
if (valueRangeRect && nativeRangeRect && anchorBlockHeight) {
|
|
15
|
-
const lineHeight = parseInt(anchorBlockHeight, 10);
|
|
16
|
-
isFirstLine = nativeRangeRect.top - valueRangeRect.top < lineHeight;
|
|
17
|
-
isLastLine = valueRangeRect.bottom - nativeRangeRect.bottom < lineHeight;
|
|
18
|
-
}
|
|
19
|
-
return {
|
|
20
|
-
isFirstLine,
|
|
21
|
-
isLastLine,
|
|
22
|
-
anchorBlockPath
|
|
23
|
-
};
|
|
24
|
-
}
|
|
1
|
+
import { AngularEditor } from 'slate-angular';
|
|
2
|
+
import * as TheQueries from '../../../queries';
|
|
3
|
+
export function calculateAnchorPositionInCell(editor) {
|
|
4
|
+
let isFirstLine = false;
|
|
5
|
+
let isLastLine = false;
|
|
6
|
+
const anchorBlock = TheQueries.anchorBlock(editor);
|
|
7
|
+
const anchorBlockPath = TheQueries.findPath(editor, anchorBlock);
|
|
8
|
+
const anchorBlockDom = AngularEditor.toDOMNode(editor, anchorBlock);
|
|
9
|
+
const valueRangeRect = anchorBlockDom.getBoundingClientRect();
|
|
10
|
+
const anchorBlockHeight = window.getComputedStyle(anchorBlockDom).lineHeight;
|
|
11
|
+
const nativeSelection = window.getSelection();
|
|
12
|
+
const nativeRange = nativeSelection && nativeSelection.getRangeAt(0);
|
|
13
|
+
const nativeRangeRect = nativeRange && nativeRange.getBoundingClientRect();
|
|
14
|
+
if (valueRangeRect && nativeRangeRect && anchorBlockHeight) {
|
|
15
|
+
const lineHeight = parseInt(anchorBlockHeight, 10);
|
|
16
|
+
isFirstLine = nativeRangeRect.top - valueRangeRect.top < lineHeight;
|
|
17
|
+
isLastLine = valueRangeRect.bottom - nativeRangeRect.bottom < lineHeight;
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
isFirstLine,
|
|
21
|
+
isLastLine,
|
|
22
|
+
anchorBlockPath
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
25
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsYy1hbmNob3ItcG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9jYWxjLWFuY2hvci1wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxVQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFFL0MsTUFBTSxVQUFVLDZCQUE2QixDQUFDLE1BQWM7SUFDeEQsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztJQUN2QixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzlELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUM3RSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsTUFBTSxXQUFXLEdBQUcsZUFBZSxJQUFJLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckUsTUFBTSxlQUFlLEdBQUcsV0FBVyxJQUFJLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzNFLElBQUksY0FBYyxJQUFJLGVBQWUsSUFBSSxpQkFBaUIsRUFBRTtRQUN4RCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkQsV0FBVyxHQUFHLGVBQWUsQ0FBQyxHQUFHLEdBQUcsY0FBYyxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUM7UUFDcEUsVUFBVSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUM7S0FDNUU7SUFDRCxPQUFPO1FBQ0gsV0FBVztRQUNYLFVBQVU7UUFDVixlQUFlO0tBQ2xCLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUFuY2hvclBvc2l0aW9uSW5DZWxsKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgbGV0IGlzRmlyc3RMaW5lID0gZmFsc2U7XG4gICAgbGV0IGlzTGFzdExpbmUgPSBmYWxzZTtcbiAgICBjb25zdCBhbmNob3JCbG9jayA9IFRoZVF1ZXJpZXMuYW5jaG9yQmxvY2soZWRpdG9yKTtcbiAgICBjb25zdCBhbmNob3JCbG9ja1BhdGggPSBUaGVRdWVyaWVzLmZpbmRQYXRoKGVkaXRvciwgYW5jaG9yQmxvY2spO1xuICAgIGNvbnN0IGFuY2hvckJsb2NrRG9tID0gQW5ndWxhckVkaXRvci50b0RPTU5vZGUoZWRpdG9yLCBhbmNob3JCbG9jayk7XG4gICAgY29uc3QgdmFsdWVSYW5nZVJlY3QgPSBhbmNob3JCbG9ja0RvbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBhbmNob3JCbG9ja0hlaWdodCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGFuY2hvckJsb2NrRG9tKS5saW5lSGVpZ2h0O1xuICAgIGNvbnN0IG5hdGl2ZVNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICBjb25zdCBuYXRpdmVSYW5nZSA9IG5hdGl2ZVNlbGVjdGlvbiAmJiBuYXRpdmVTZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKTtcbiAgICBjb25zdCBuYXRpdmVSYW5nZVJlY3QgPSBuYXRpdmVSYW5nZSAmJiBuYXRpdmVSYW5nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBpZiAodmFsdWVSYW5nZVJlY3QgJiYgbmF0aXZlUmFuZ2VSZWN0ICYmIGFuY2hvckJsb2NrSGVpZ2h0KSB7XG4gICAgICAgIGNvbnN0IGxpbmVIZWlnaHQgPSBwYXJzZUludChhbmNob3JCbG9ja0hlaWdodCwgMTApO1xuICAgICAgICBpc0ZpcnN0TGluZSA9IG5hdGl2ZVJhbmdlUmVjdC50b3AgLSB2YWx1ZVJhbmdlUmVjdC50b3AgPCBsaW5lSGVpZ2h0O1xuICAgICAgICBpc0xhc3RMaW5lID0gdmFsdWVSYW5nZVJlY3QuYm90dG9tIC0gbmF0aXZlUmFuZ2VSZWN0LmJvdHRvbSA8IGxpbmVIZWlnaHQ7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGlzRmlyc3RMaW5lLFxuICAgICAgICBpc0xhc3RMaW5lLFxuICAgICAgICBhbmNob3JCbG9ja1BhdGhcbiAgICB9O1xufVxuIl19
|