@globalpayments/vega 2.38.0 → 2.40.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/dist/cjs/{app-globals-7087f121.js → app-globals-cdd0972c.js} +14 -4
- package/dist/cjs/check-box-required-rule-1ee54b9a.js +70 -0
- package/dist/cjs/content-state-c5b47ca1.js +6644 -0
- package/dist/cjs/date-required-rule-4e1f84fd.js +92 -0
- package/dist/cjs/{element-appender-slimmer-c6e0f4ca.js → element-appender-slimmer-4f0dc8c6.js} +9 -5
- package/dist/cjs/file-uploader-required-rule-313ec9e3.js +21 -0
- package/dist/cjs/{form-field-controller-slimmer-48c0ad0b.js → form-field-controller-slimmer-d92e8212.js} +28 -1
- package/dist/cjs/{image-annotation-action-7d82f7e1.js → image-annotation-action-75b9c0d3.js} +5 -6
- package/dist/cjs/index.cjs.js +35 -15
- package/dist/cjs/input-phone-number-required-rule-2668fdf1.js +65 -0
- package/dist/cjs/input-range-required-rule-5b9c2a95.js +63 -0
- package/dist/cjs/internal-form-field-validation-rule.abstract-07cdff46.js +15 -0
- package/dist/cjs/loader.cjs.js +10 -10
- package/dist/cjs/{min-number-rule-115c5a3b.js → min-number-rule-5bcccc8f.js} +7 -4
- package/dist/cjs/{min-string-length-rule-75f24a48.js → min-string-length-rule-af215976.js} +8 -4
- package/dist/cjs/public-rules-90b972e5.js +42 -0
- package/dist/cjs/{required-field-rule-7f9945fa.js → required-field-rule-d73c1d8c.js} +6 -3
- package/dist/cjs/rich-text-editor-required-rule-cacc5fe0.js +64 -0
- package/dist/cjs/time-required-rule-ccf178e7.js +141 -0
- package/dist/cjs/toggle-switch-required-rule-88a51b36.js +66 -0
- package/dist/cjs/{valid-credit-card-number-rule-4a9ae5d9.js → valid-credit-card-number-rule-4a1b00b8.js} +3 -2
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +11 -79
- package/dist/cjs/vega-color-picker.cjs.entry.js +3 -2
- package/dist/cjs/vega-combo-box.cjs.entry.js +3 -2
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +9 -91
- package/dist/cjs/vega-dialog_2.cjs.entry.js +29 -1
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +1 -1
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-file-uploader.cjs.entry.js +5 -19
- package/dist/cjs/vega-form.cjs.entry.js +2 -1
- package/dist/cjs/vega-image-uploader.cjs.entry.js +3 -2
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +4 -3
- package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -2
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +38 -70
- package/dist/cjs/vega-input-range.cjs.entry.js +6 -61
- package/dist/cjs/vega-input-select.cjs.entry.js +3 -2
- package/dist/cjs/vega-input.cjs.entry.js +7 -6
- package/dist/cjs/vega-popover_2.cjs.entry.js +15 -1
- package/dist/cjs/vega-radio_2.cjs.entry.js +3 -2
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +18 -19
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +79 -139
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +3 -2
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +3 -2
- package/dist/cjs/vega-signature-capture.cjs.entry.js +3 -2
- package/dist/cjs/vega-stepper.cjs.entry.js +3 -2
- package/dist/cjs/vega-textarea.cjs.entry.js +4 -3
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +11 -140
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +4 -63
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +53 -12
- package/dist/cjs/vega.cjs.js +10 -10
- package/dist/collection/components/vega-checkbox/vega-checkbox.css +82 -33
- package/dist/collection/components/vega-checkbox/vega-checkbox.js +8 -13
- package/dist/collection/components/vega-file-uploader/vega-file-uploader.js +2 -2
- package/dist/collection/components/vega-input-phone-number/slimmers/controllers/vega-input-phone-number-value-controller.js +18 -2
- package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +7 -4
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-layout-controller.js +9 -0
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-scroll-controller.js +16 -0
- package/dist/collection/components/vega-modal/vega-modal.js +6 -0
- package/dist/collection/components/vega-popover/slimmers/controllers/vega-popover-appender-controller.js +4 -0
- package/dist/collection/components/vega-popover/vega-popover.js +37 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.js +52 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.js +63 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-link-group-strategy.js +21 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-text-style-strategy.js +32 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/image-set-annotation-map-strategy.js +13 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-split-text-strategy.js +134 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-update-annotation-map-strategy.js +47 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-blocks-strategy.js +19 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-nodes-strategy.js +21 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-image-strategy.js +54 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.js +152 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-content-strategy.js +99 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-after-strategy.js +15 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-before-strategy.js +38 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-image-into-text-strategy.js +31 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-line-break-strategy.js +57 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-line-break-with-blocks-strategy.js +60 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-new-paragraph-strategy.js +55 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-after-node-strategy.js +14 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-before-node-strategy.js +14 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-merge-nodes-strategy.js +25 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-child-block-strategy.js +15 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.js +21 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-node-with-nodes-strategy.js +28 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-nodes-strategy.js +17 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-image-node-strategy.js +48 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-text-node-strategy.js +43 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-list-strategy.js +26 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-block-insert-image-strategy.js +32 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-line-break-strategy.js +21 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-line-break-with-blocks-strategy.js +55 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-new-paragraph-strategy.js +44 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-update-url-strategy.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-insert-image-strategy.js +22 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-delete-text-content-strategy.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-insert-image-strategy.js +15 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-insert-new-paragraph-strategy.js +92 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-remove-nest-list-strategy.js +22 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-remove-node-strategy.js +19 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-replace-nest-list-strategy.js +15 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.js +27 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.js +36 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.js +63 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/node-replace-selected-text-strategy.js +46 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/node-update-text-strategy.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/image-update-url-action.js +13 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +3 -215
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +31 -244
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +17 -155
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +33 -184
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +40 -352
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +13 -23
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +14 -6
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +23 -182
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/action-handle-strategy-registry.test.js +41 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/block-insert-line-break-with-blocks-strategy.test.js +24 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/content-state-strategy-registry.test.js +14 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.js +30 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-set-annotation-map-strategy.test.js +11 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-update-url-strategy.test.js +16 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-block-strategy-register.test.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-item-strategy-register.test.js +31 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-split-text-strategy.test.js +31 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-update-annotation-map-strategy.test.js +17 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.js +55 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/update-selected-text-strategy.test.js +23 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +2 -2
- package/dist/collection/components/vega-tooltip/slimmers/controllers/vega-tooltip-element-appender-controller.js +45 -11
- package/dist/collection/components/vega-tooltip/vega-tooltip.js +12 -0
- package/dist/collection/global/scripts/before-vega-load.js +11 -0
- package/dist/collection/helpers/slimmers/element-appender-slimmer.js +8 -5
- package/dist/collection/helpers/slimmers/test/element-appender-slimmer.test.js +2 -0
- package/dist/collection/helpers/ui/element-appender.js +1 -0
- package/dist/collection/helpers/ui/test/element-appender.test.js +1 -0
- package/dist/collection/helpers/validator/form-field-controller.js +28 -1
- package/dist/collection/helpers/validator/public-rules.js +10 -0
- package/dist/collection/helpers/validator/rules/check-box-required-rule.js +4 -3
- package/dist/collection/helpers/validator/rules/date-range-rule.js +2 -1
- package/dist/collection/helpers/validator/rules/date-required-rule.js +5 -3
- package/dist/collection/helpers/validator/rules/email-field-rule.js +3 -2
- package/dist/collection/helpers/validator/rules/{object-array-required-rule.js → file-uploader-required-rule.js} +1 -1
- package/dist/collection/helpers/validator/rules/input-phone-number-required-rule.js +5 -3
- package/dist/collection/helpers/validator/rules/input-range-min-and-max-rule.js +3 -1
- package/dist/collection/helpers/validator/rules/input-range-required-rule.js +5 -4
- package/dist/collection/helpers/validator/rules/internal-form-field-validation-rule.abstract.js +11 -0
- package/dist/collection/helpers/validator/rules/max-number-rule.js +4 -2
- package/dist/collection/helpers/validator/rules/max-string-length-rule.js +4 -2
- package/dist/collection/helpers/validator/rules/min-and-max-date-rule.js +3 -1
- package/dist/collection/helpers/validator/rules/min-number-rule.js +4 -2
- package/dist/collection/helpers/validator/rules/min-string-length-rule.js +4 -2
- package/dist/collection/helpers/validator/rules/required-field-rule.js +5 -3
- package/dist/collection/helpers/validator/rules/rich-text-editor-required-rule.js +4 -3
- package/dist/collection/helpers/validator/rules/time-range-required-rule.js +5 -3
- package/dist/collection/helpers/validator/rules/time-range-rule.js +3 -1
- package/dist/collection/helpers/validator/rules/time-required-rule.js +5 -3
- package/dist/collection/helpers/validator/rules/toggle-switch-required-rule.js +4 -3
- package/dist/collection/helpers/validator/rules/valid-credit-card-number-rule.js +3 -2
- package/dist/collection/helpers/validator/rules/valid-phone-number-rule.js +11 -4
- package/dist/collection/helpers/validator/test/rules/file-uploader-required-rule.test.js +7 -0
- package/dist/collection/helpers/validator/test/rules/public-rules.test.js +80 -0
- package/dist/collection/helpers/validator/test/rules/valid-phone-number-rule.test.js +8 -0
- package/dist/collection/index.js +1 -0
- package/dist/esm/{app-globals-4cca4a96.js → app-globals-88fa3549.js} +14 -4
- package/dist/esm/check-box-required-rule-cb0aa339.js +68 -0
- package/dist/esm/content-state-2edba4ec.js +6600 -0
- package/dist/esm/{date-732bc749.js → date-c55b97f0.js} +1 -1
- package/dist/esm/date-required-rule-8944f3bf.js +90 -0
- package/dist/esm/{element-appender-slimmer-f5e703f3.js → element-appender-slimmer-d9155ee0.js} +9 -5
- package/dist/esm/file-uploader-required-rule-ad886d01.js +19 -0
- package/dist/esm/{form-field-controller-slimmer-3535e76a.js → form-field-controller-slimmer-bb64dec7.js} +29 -2
- package/dist/esm/{image-annotation-action-3da42221.js → image-annotation-action-b6668f48.js} +1 -2
- package/dist/esm/{index-6e05b241.js → index-d172bafa.js} +1 -1
- package/dist/esm/index.js +17 -7
- package/dist/esm/input-phone-number-required-rule-be6a5572.js +63 -0
- package/dist/esm/input-range-required-rule-3ad74776.js +61 -0
- package/dist/esm/internal-form-field-validation-rule.abstract-f5b6bdbf.js +13 -0
- package/dist/esm/loader.js +11 -11
- package/dist/esm/{min-number-rule-31d48b22.js → min-number-rule-a6082418.js} +7 -4
- package/dist/esm/{min-string-length-rule-c6a69eeb.js → min-string-length-rule-c31c89f4.js} +8 -4
- package/dist/esm/public-rules-413f6a17.js +27 -0
- package/dist/esm/{required-field-rule-368b31fa.js → required-field-rule-ab4bdc47.js} +6 -3
- package/dist/esm/rich-text-editor-required-rule-75cc2db0.js +62 -0
- package/dist/esm/{string-input-formatter-slimmer-d4132497.js → string-input-formatter-slimmer-418b54f0.js} +2 -2
- package/dist/esm/{sub-state-notify-slimmer-51151fc3.js → sub-state-notify-slimmer-b36fd081.js} +1 -1
- package/dist/esm/{sub-state-observer-slimmer-d77a1c46.js → sub-state-observer-slimmer-09452523.js} +1 -1
- package/dist/esm/time-required-rule-a01163b5.js +138 -0
- package/dist/esm/toggle-switch-required-rule-b3cf4302.js +64 -0
- package/dist/esm/{valid-credit-card-number-rule-2aef3ad5.js → valid-credit-card-number-rule-cc497bec.js} +3 -2
- package/dist/esm/vega-button-group_2.entry.js +3 -3
- package/dist/esm/vega-calendar_3.entry.js +4 -4
- package/dist/esm/vega-checkbox_2.entry.js +12 -80
- package/dist/esm/vega-color-picker.entry.js +4 -3
- package/dist/esm/vega-combo-box.entry.js +4 -3
- package/dist/esm/vega-date-picker_2.entry.js +12 -94
- package/dist/esm/vega-dialog_2.entry.js +29 -1
- package/dist/esm/vega-dropdown_5.entry.js +4 -4
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-file-uploader.entry.js +6 -20
- package/dist/esm/vega-form.entry.js +3 -2
- package/dist/esm/vega-image-uploader.entry.js +4 -3
- package/dist/esm/vega-input-credit-card.entry.js +5 -4
- package/dist/esm/vega-input-numeric.entry.js +5 -4
- package/dist/esm/vega-input-phone-number.entry.js +38 -70
- package/dist/esm/vega-input-range.entry.js +6 -61
- package/dist/esm/vega-input-select.entry.js +4 -3
- package/dist/esm/vega-input.entry.js +11 -10
- package/dist/esm/{vega-internal-event-id-d0690d0d.js → vega-internal-event-id-f269c42f.js} +1 -1
- package/dist/esm/vega-left-nav_5.entry.js +3 -3
- package/dist/esm/vega-popover_2.entry.js +16 -2
- package/dist/esm/vega-radio_2.entry.js +4 -3
- package/dist/esm/vega-rich-text-content.entry.js +6 -7
- package/dist/esm/vega-rich-text-editor_4.entry.js +23 -83
- package/dist/esm/vega-selection-chip_2.entry.js +6 -5
- package/dist/esm/vega-selection-tile_2.entry.js +6 -5
- package/dist/esm/vega-sidenav_3.entry.js +3 -3
- package/dist/esm/vega-signature-capture.entry.js +4 -3
- package/dist/esm/vega-stepper.entry.js +4 -3
- package/dist/esm/vega-table_8.entry.js +3 -3
- package/dist/esm/vega-textarea.entry.js +5 -4
- package/dist/esm/vega-time-picker_2.entry.js +8 -137
- package/dist/esm/vega-toggle-switch.entry.js +4 -63
- package/dist/esm/vega-tooltip_2.entry.js +53 -12
- package/dist/esm/vega.js +11 -11
- package/dist/types/components/vega-input-phone-number/slimmers/controllers/vega-input-phone-number-value-controller.d.ts +7 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-layout-controller.d.ts +4 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-scroll-controller.d.ts +5 -0
- package/dist/types/components/vega-modal/vega-modal.d.ts +1 -0
- package/dist/types/components/vega-popover/slimmers/controllers/vega-popover-appender-controller.d.ts +1 -0
- package/dist/types/components/vega-popover/vega-popover.d.ts +10 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.d.ts +37 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.d.ts +66 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-link-group-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-text-style-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/image-set-annotation-map-strategy.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-split-text-strategy.d.ts +47 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-update-annotation-map-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-blocks-strategy.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-nodes-strategy.d.ts +16 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-image-strategy.d.ts +19 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.d.ts +61 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-content-strategy.d.ts +19 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-after-strategy.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-before-strategy.d.ts +23 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-image-into-text-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-line-break-strategy.d.ts +30 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-line-break-with-blocks-strategy.d.ts +36 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-new-paragraph-strategy.d.ts +29 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-after-node-strategy.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-before-node-strategy.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-merge-nodes-strategy.d.ts +16 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-child-block-strategy.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.d.ts +17 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-node-with-nodes-strategy.d.ts +20 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-nodes-strategy.d.ts +16 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-image-node-strategy.d.ts +30 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-text-node-strategy.d.ts +24 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-list-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-block-insert-image-strategy.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-line-break-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-line-break-with-blocks-strategy.d.ts +27 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-new-paragraph-strategy.d.ts +21 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-update-url-strategy.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-insert-image-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-delete-text-content-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-insert-image-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-insert-new-paragraph-strategy.d.ts +38 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-remove-nest-list-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-remove-node-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-replace-nest-list-strategy.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.d.ts +19 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/node-replace-selected-text-strategy.d.ts +20 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/node-update-text-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/image-update-url-action.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +1 -79
- package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +3 -77
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +0 -38
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +3 -58
- package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +5 -93
- package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +1 -2
- package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +0 -43
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/block-insert-line-break-with-blocks-strategy.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/content-state-strategy-registry.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-set-annotation-map-strategy.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-update-url-strategy.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-block-strategy-register.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-item-strategy-register.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-split-text-strategy.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-update-annotation-map-strategy.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/update-selected-text-strategy.test.d.ts +1 -0
- package/dist/types/components/vega-tooltip/slimmers/controllers/vega-tooltip-element-appender-controller.d.ts +18 -0
- package/dist/types/components/vega-tooltip/vega-tooltip.d.ts +4 -0
- package/dist/types/components.d.ts +14 -0
- package/dist/types/helpers/slimmers/element-appender-slimmer.d.ts +1 -0
- package/dist/types/helpers/slimmers/form-field-controller-slimmer.d.ts +2 -1
- package/dist/types/helpers/validator/form-field-controller.d.ts +10 -0
- package/dist/types/helpers/validator/public-rules.d.ts +10 -0
- package/dist/types/helpers/validator/rules/check-box-required-rule.d.ts +7 -6
- package/dist/types/helpers/validator/rules/date-range-rule.d.ts +3 -2
- package/dist/types/helpers/validator/rules/date-required-rule.d.ts +7 -6
- package/dist/types/helpers/validator/rules/email-field-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/{object-array-required-rule.d.ts → file-uploader-required-rule.d.ts} +1 -1
- package/dist/types/helpers/validator/rules/input-phone-number-required-rule.d.ts +7 -6
- package/dist/types/helpers/validator/rules/input-range-min-and-max-rule.d.ts +3 -2
- package/dist/types/helpers/validator/rules/input-range-required-rule.d.ts +8 -7
- package/dist/types/helpers/validator/rules/internal-form-field-validation-rule.abstract.d.ts +19 -0
- package/dist/types/helpers/validator/rules/max-number-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/max-string-length-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/min-and-max-date-rule.d.ts +3 -2
- package/dist/types/helpers/validator/rules/min-number-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/min-string-length-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/required-field-rule.d.ts +7 -6
- package/dist/types/helpers/validator/rules/rich-text-editor-required-rule.d.ts +7 -6
- package/dist/types/helpers/validator/rules/time-range-required-rule.d.ts +7 -6
- package/dist/types/helpers/validator/rules/time-range-rule.d.ts +3 -2
- package/dist/types/helpers/validator/rules/time-required-rule.d.ts +7 -6
- package/dist/types/helpers/validator/rules/toggle-switch-required-rule.d.ts +5 -4
- package/dist/types/helpers/validator/rules/valid-credit-card-number-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/valid-phone-number-rule.d.ts +7 -4
- package/dist/types/helpers/validator/test/rules/file-uploader-required-rule.test.d.ts +1 -0
- package/dist/types/helpers/validator/test/rules/public-rules.test.d.ts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/types/public-api.d.ts +1 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-04c72f30.entry.js +1 -0
- package/dist/vega/{p-ba077ca8.entry.js → p-073beb31.entry.js} +1 -1
- package/dist/vega/p-07c2725a.js +1 -0
- package/dist/vega/{p-b5990090.js → p-08835909.js} +1 -1
- package/dist/vega/p-0b6d4561.entry.js +1 -0
- package/dist/vega/p-0bb860cc.js +1 -0
- package/dist/vega/p-0cc1ad76.js +1 -0
- package/dist/vega/p-113cd659.entry.js +1 -0
- package/dist/vega/{p-b9a0f136.entry.js → p-154d262e.entry.js} +1 -1
- package/dist/vega/p-17598aac.entry.js +1 -0
- package/dist/vega/p-23130825.entry.js +1 -0
- package/dist/vega/{p-29d6ec6c.js → p-239bae84.js} +1 -1
- package/dist/vega/{p-7198d675.entry.js → p-24ac5151.entry.js} +1 -1
- package/dist/vega/p-280cbcdb.js +1 -0
- package/dist/vega/p-3299c30b.entry.js +1 -0
- package/dist/vega/p-3fd9d39f.entry.js +1 -0
- package/dist/vega/p-42a949f5.entry.js +1 -0
- package/dist/vega/p-4bd1b877.entry.js +1 -0
- package/dist/vega/p-590fd123.js +1 -0
- package/dist/vega/p-5a7eabcc.js +1 -0
- package/dist/vega/p-5e56f3bd.js +1 -0
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/p-612c9374.entry.js +1 -0
- package/dist/vega/p-6408d3dc.entry.js +1 -0
- package/dist/vega/{p-a2a34239.entry.js → p-6585bddc.entry.js} +2 -2
- package/dist/vega/p-6603081a.entry.js +1 -0
- package/dist/vega/p-6e5db02b.js +1 -0
- package/dist/vega/p-6f90d444.js +1 -0
- package/dist/vega/p-7303fff2.entry.js +1 -0
- package/dist/vega/p-7b648a05.entry.js +1 -0
- package/dist/vega/p-7c0b4c36.js +1 -0
- package/dist/vega/p-81b21503.entry.js +1 -0
- package/dist/vega/p-8fae8f9e.js +1 -0
- package/dist/vega/p-924b4e24.js +1 -0
- package/dist/vega/{p-ee2e4bff.entry.js → p-94459733.entry.js} +1 -1
- package/dist/vega/p-a05ca459.entry.js +1 -0
- package/dist/vega/p-a3e80fb2.entry.js +1 -0
- package/dist/vega/p-a7a46358.entry.js +1 -0
- package/dist/vega/{p-34bd9204.js → p-a9e1123a.js} +1 -1
- package/dist/vega/p-abd7aeaa.js +1 -0
- package/dist/vega/{p-267cde46.entry.js → p-b071be5c.entry.js} +1 -1
- package/dist/vega/p-b24da503.entry.js +1 -0
- package/dist/vega/p-b44f3309.js +1 -0
- package/dist/vega/p-b9051ad2.js +1 -0
- package/dist/vega/{p-20326c64.js → p-bd0116f9.js} +1 -1
- package/dist/vega/{p-4ab0d645.js → p-c253d09c.js} +1 -1
- package/dist/vega/p-c56acdd5.entry.js +1 -0
- package/dist/vega/p-cdbbdcc2.js +1 -0
- package/dist/vega/p-d1a06058.entry.js +1 -0
- package/dist/vega/{p-348e95ba.js → p-d2ff56d8.js} +1 -1
- package/dist/vega/p-d51b04ce.entry.js +1 -0
- package/dist/vega/p-e0446879.js +1 -0
- package/dist/vega/p-e08b6542.entry.js +1 -0
- package/dist/vega/p-e0d3ca2d.js +1 -0
- package/dist/vega/{p-e9a5bd12.entry.js → p-f1ebe86b.entry.js} +1 -1
- package/dist/vega/p-f396c69a.js +1 -0
- package/dist/vega/p-fda6c178.entry.js +1 -0
- package/dist/vega/p-ffac4b8c.entry.js +1 -0
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/content-state-f97d3278.js +0 -2990
- package/dist/cjs/node-annotation.abstract-4f6df9cf.js +0 -3223
- package/dist/collection/components/vega-rich-text-editor/dto/actions/clear-child-nodes-action.js +0 -12
- package/dist/collection/components/vega-rich-text-editor/dto/helper/block-base-operator.js +0 -47
- package/dist/collection/helpers/validator/test/rules/object-array-required-rule.test.js +0 -7
- package/dist/esm/content-state-ccf5f960.js +0 -2954
- package/dist/esm/node-annotation.abstract-b2e36bc4.js +0 -3214
- package/dist/types/components/vega-rich-text-editor/dto/actions/clear-child-nodes-action.d.ts +0 -9
- package/dist/types/components/vega-rich-text-editor/dto/helper/block-base-operator.d.ts +0 -24
- package/dist/vega/p-0461e318.js +0 -1
- package/dist/vega/p-12fe63c1.entry.js +0 -1
- package/dist/vega/p-1b67c443.entry.js +0 -1
- package/dist/vega/p-1d93b3a9.js +0 -1
- package/dist/vega/p-23fd9401.entry.js +0 -1
- package/dist/vega/p-2fecbcf9.entry.js +0 -1
- package/dist/vega/p-3152031c.js +0 -1
- package/dist/vega/p-3cb90bdf.entry.js +0 -1
- package/dist/vega/p-3e8f9fcf.entry.js +0 -1
- package/dist/vega/p-497f2f86.entry.js +0 -1
- package/dist/vega/p-50eabdca.entry.js +0 -1
- package/dist/vega/p-52a8a4f8.js +0 -1
- package/dist/vega/p-6419e13e.entry.js +0 -1
- package/dist/vega/p-66b9e86d.entry.js +0 -1
- package/dist/vega/p-74958b1a.js +0 -1
- package/dist/vega/p-7baa4fae.entry.js +0 -1
- package/dist/vega/p-7edcb8d0.entry.js +0 -1
- package/dist/vega/p-904b489a.entry.js +0 -1
- package/dist/vega/p-9689ad99.entry.js +0 -1
- package/dist/vega/p-9728d571.entry.js +0 -1
- package/dist/vega/p-a7e078ac.entry.js +0 -1
- package/dist/vega/p-a7f40a65.entry.js +0 -1
- package/dist/vega/p-a8a809e1.entry.js +0 -1
- package/dist/vega/p-a8b16ff2.js +0 -1
- package/dist/vega/p-aed80794.entry.js +0 -1
- package/dist/vega/p-b517ed15.js +0 -1
- package/dist/vega/p-b809f3d7.entry.js +0 -1
- package/dist/vega/p-ba2833c0.entry.js +0 -1
- package/dist/vega/p-bf4996d5.entry.js +0 -1
- package/dist/vega/p-cb4fd6e1.entry.js +0 -1
- package/dist/vega/p-e9785742.entry.js +0 -1
- package/dist/vega/p-ecaf4cfa.entry.js +0 -1
- package/dist/vega/p-f41102cd.js +0 -1
- package/dist/vega/p-f5b0ce61.js +0 -1
- package/dist/vega/p-f86ec91b.js +0 -1
- /package/dist/types/{helpers/validator/test/rules/object-array-required-rule.test.d.ts → components/vega-rich-text-editor/test/dto/action-handle-strategies/action-handle-strategy-registry.test.d.ts} +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BreakSingleBlockAction } from '../../actions/break-single-block-action';
|
|
2
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
3
|
+
/**
|
|
4
|
+
* The image block insert line break strategy.
|
|
5
|
+
*/
|
|
6
|
+
export class ImageInsertLineBreakStrategy extends ActionHandleStrategy {
|
|
7
|
+
/**
|
|
8
|
+
* The image block not support insert the line break node, so invoke the insert new paragraph logic directly.
|
|
9
|
+
*
|
|
10
|
+
* @param {LineBreakSingleBlockAction} action - The action instance.
|
|
11
|
+
* @param {RTEImageBlock} target - The image block.
|
|
12
|
+
*/
|
|
13
|
+
handleAction(action, target) {
|
|
14
|
+
const insertNewParagraphAction = new BreakSingleBlockAction(action.startContainerNode, action.startOffset);
|
|
15
|
+
target.apply(insertNewParagraphAction);
|
|
16
|
+
const newBlock = insertNewParagraphAction.newBlock;
|
|
17
|
+
if (newBlock) {
|
|
18
|
+
action.lineBreakNode = newBlock.nodes[0];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { generateUUID } from '../../../../../utils/misc';
|
|
2
|
+
import { AppendChildNodesAction } from '../../actions/append-child-nodes-action';
|
|
3
|
+
import { InsertBlocksAfterAction } from '../../actions/insert-blocks-after-block';
|
|
4
|
+
import { RemoveChildAction } from '../../actions/remove-child-action';
|
|
5
|
+
import { RTETextBlock } from '../../blocks/text-block';
|
|
6
|
+
import { RTETextNode } from '../../nodes/text-node';
|
|
7
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
8
|
+
/**
|
|
9
|
+
* Insert a line break node into multiple blocks selection at special position strategy.
|
|
10
|
+
*/
|
|
11
|
+
export class ImageInsertLineBreakWithBlocksStrategy extends ActionHandleStrategy {
|
|
12
|
+
/**
|
|
13
|
+
* @inheritDoc
|
|
14
|
+
*/
|
|
15
|
+
handleAction(action, target) {
|
|
16
|
+
action.lineBreakNode = this.lineBreakMultipleBlocks(action.selectedBlocks, target);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Inserts a new paragraph block with a line break after a selected block of text in a rich text editor.
|
|
20
|
+
*
|
|
21
|
+
* @param {RTEBlock[]} selectedBlocks - An array of RTEBlock objects that represent the blocks that have been selected for a specific action in the Rich Text Editor.
|
|
22
|
+
* @param {RTEImageBlock} target - The image block.
|
|
23
|
+
* @returns {Nullable<RTETextNode>} Returns a Nullable RTETextNode.
|
|
24
|
+
*/
|
|
25
|
+
lineBreakMultipleBlocks(selectedBlocks, target) {
|
|
26
|
+
const newParagraph = RTETextBlock.from({
|
|
27
|
+
id: generateUUID(),
|
|
28
|
+
type: 'paragraph',
|
|
29
|
+
nodes: [{ id: generateUUID(), type: 'text', text: '\n' }],
|
|
30
|
+
});
|
|
31
|
+
target.parent.apply(new InsertBlocksAfterAction(target, newParagraph));
|
|
32
|
+
const afterNodes = this.concatBlocksNodes(selectedBlocks.slice(1));
|
|
33
|
+
if (afterNodes.length === 0 || (afterNodes[0] && afterNodes[0].text === '')) {
|
|
34
|
+
afterNodes.push(new RTETextNode(generateUUID(), '\n', newParagraph));
|
|
35
|
+
}
|
|
36
|
+
newParagraph.apply(new AppendChildNodesAction(afterNodes));
|
|
37
|
+
return newParagraph['nodes'][0];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Concat the child nodes of multiple RTEBlocks if both are not images.
|
|
41
|
+
*
|
|
42
|
+
* @param {RTEBlock[]} blocks - multiple block of content in a rich text editor, such as a paragraph, heading, image, etc.
|
|
43
|
+
* @returns {RTENode[]} Array of connected block nodes
|
|
44
|
+
*/
|
|
45
|
+
concatBlocksNodes(blocks) {
|
|
46
|
+
const nodes = [];
|
|
47
|
+
blocks.map((block) => {
|
|
48
|
+
if (block.type !== 'image') {
|
|
49
|
+
nodes.push(...block['nodes']);
|
|
50
|
+
block.parent.apply(new RemoveChildAction(block));
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return nodes;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { generateUUID } from '../../../../../utils/misc';
|
|
2
|
+
import { InsertBlocksAfterAction } from '../../actions/insert-blocks-after-block';
|
|
3
|
+
import { InsertBlocksBeforeAction } from '../../actions/insert-blocks-before-block';
|
|
4
|
+
import { SplitBlockWithNodeAction } from '../../actions/split-block-with-node-action';
|
|
5
|
+
import { RTETextBlock } from '../../blocks/text-block';
|
|
6
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
7
|
+
/**
|
|
8
|
+
* Insert a new paragraph at the image block special position strategy.
|
|
9
|
+
*/
|
|
10
|
+
export class ImageInsertNewParagraphStrategy extends ActionHandleStrategy {
|
|
11
|
+
/**
|
|
12
|
+
* @inheritDoc
|
|
13
|
+
*/
|
|
14
|
+
handleAction(action, target) {
|
|
15
|
+
action.newBlock = this.breakSingleBlock(action.startContainerNode, action.startOffset, target);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Used to split a block of text at a specific position and insert a new paragraph block.
|
|
19
|
+
*
|
|
20
|
+
* @param {RTEImageNode} splitNode - The node that needs to be split into separate blocks.
|
|
21
|
+
* @param {number} startOffsetOfNode - The index or position within the `splitNode` where the block should be broken or split.
|
|
22
|
+
* @param {RTEImageBlock} target - The image block.
|
|
23
|
+
* @returns {Nullable<RTEBlock>} Returns either a new paragraph block or the new block created after splitting the original block.
|
|
24
|
+
*/
|
|
25
|
+
breakSingleBlock(splitNode, startOffsetOfNode, target) {
|
|
26
|
+
const newParagraph = RTETextBlock.from({
|
|
27
|
+
id: generateUUID(),
|
|
28
|
+
type: 'paragraph',
|
|
29
|
+
nodes: [{ id: generateUUID(), type: 'text', text: '' }],
|
|
30
|
+
});
|
|
31
|
+
if (this.isCaretPositionAtImageBlockEnd(target, splitNode, startOffsetOfNode)) {
|
|
32
|
+
target.parent.apply(new InsertBlocksAfterAction(target, newParagraph));
|
|
33
|
+
}
|
|
34
|
+
else if (this.isCaretPositionAtImageBlockStart(target, splitNode, startOffsetOfNode)) {
|
|
35
|
+
target.parent.apply(new InsertBlocksBeforeAction(target, newParagraph));
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
const splitBlockAction = new SplitBlockWithNodeAction(splitNode, startOffsetOfNode);
|
|
39
|
+
target.apply(splitBlockAction);
|
|
40
|
+
return splitBlockAction.newBlock;
|
|
41
|
+
}
|
|
42
|
+
return newParagraph;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
2
|
+
/**
|
|
3
|
+
* The image node update property url strategy.
|
|
4
|
+
*/
|
|
5
|
+
export class ImageUpdateUrlStrategy extends ActionHandleStrategy {
|
|
6
|
+
/**
|
|
7
|
+
* @inheritDoc
|
|
8
|
+
*/
|
|
9
|
+
handleAction(action, target) {
|
|
10
|
+
target.url = action.url;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { InsertBlocksAfterAction } from '../../actions/insert-blocks-after-block';
|
|
2
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
3
|
+
/**
|
|
4
|
+
* Insert image to list block strategy.
|
|
5
|
+
*/
|
|
6
|
+
export class ListInsertImageStrategy extends ActionHandleStrategy {
|
|
7
|
+
/**
|
|
8
|
+
* Insert image block at behind of the list item block.
|
|
9
|
+
*
|
|
10
|
+
* @param {InsertImageToBlockAction} action - The insert image action instance.
|
|
11
|
+
* @param {RTEListBlock} target - The list block.
|
|
12
|
+
*/
|
|
13
|
+
handleAction(action, target) {
|
|
14
|
+
const imageBlock = action.imageBlockToBeInserted;
|
|
15
|
+
if (target.parent['type'] !== 'list-item') {
|
|
16
|
+
target.parent.apply(new InsertBlocksAfterAction(target, imageBlock));
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
target.parent.apply(action);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { RemoveChildAction } from '../../actions/remove-child-action';
|
|
2
|
+
import { BlockDeleteTextContentStrategy } from './block-delete-text-content-strategy';
|
|
3
|
+
/**
|
|
4
|
+
* The list item block block delete text content strategy.
|
|
5
|
+
*/
|
|
6
|
+
export class ListItemDeleteTextContentStrategy extends BlockDeleteTextContentStrategy {
|
|
7
|
+
/**
|
|
8
|
+
* Delete the list item content and delete the parent list after delete the last item.
|
|
9
|
+
*
|
|
10
|
+
* @param {DeleteBlockContentAction} action - The delete block content action instance.
|
|
11
|
+
* @param {RTEListItemBlock} target - The list item block.
|
|
12
|
+
*/
|
|
13
|
+
handleAction(action, target) {
|
|
14
|
+
const listBlock = target.parent;
|
|
15
|
+
this.deleteNodeContent(action, target);
|
|
16
|
+
if (listBlock.blocks.length === 0) {
|
|
17
|
+
listBlock.parent.apply(new RemoveChildAction(listBlock));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
2
|
+
/**
|
|
3
|
+
* Insert image node to list item block strategy.
|
|
4
|
+
*/
|
|
5
|
+
export class ListItemInsertImageStrategy extends ActionHandleStrategy {
|
|
6
|
+
/**
|
|
7
|
+
* The image node can not insert into list item block, so insert image after parent list block.
|
|
8
|
+
*
|
|
9
|
+
* @param {InsertImageToBlockAction} action - The action instance.
|
|
10
|
+
* @param {RTEListItemBlock} target - The list item block.
|
|
11
|
+
*/
|
|
12
|
+
handleAction(action, target) {
|
|
13
|
+
target.parent.apply(action);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { generateUUID } from '../../../../../utils/misc';
|
|
2
|
+
import { AppendChildNodesAction } from '../../actions/append-child-nodes-action';
|
|
3
|
+
import { InsertBlocksAfterAction } from '../../actions/insert-blocks-after-block';
|
|
4
|
+
import { InsertBlocksBeforeAction } from '../../actions/insert-blocks-before-block';
|
|
5
|
+
import { RemoveChildAction } from '../../actions/remove-child-action';
|
|
6
|
+
import { SplitBlockWithNodeAction } from '../../actions/split-block-with-node-action';
|
|
7
|
+
import { NodeAnnotationTypeEnum } from '../../annotations/node-annotation.abstract';
|
|
8
|
+
import { RTETextBlock } from '../../blocks/text-block';
|
|
9
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
10
|
+
/**
|
|
11
|
+
* Insert new paragraph into current list item block at special position.
|
|
12
|
+
*/
|
|
13
|
+
export class ListItemInsertNewParagraphStrategy extends ActionHandleStrategy {
|
|
14
|
+
/**
|
|
15
|
+
* @inheritDoc
|
|
16
|
+
*/
|
|
17
|
+
handleAction(action, target) {
|
|
18
|
+
action.newBlock = this.breakSingleListItemBlock(action.startContainerNode, action.startOffset, target);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Breaks a single list item block at a specific position.
|
|
22
|
+
*
|
|
23
|
+
* @param {RTETextNode} splitNode - The node that needs to be split within a list item block.
|
|
24
|
+
* @param {number} startOffsetOfNode - The index within the `splitNode` where the break operation should occur.
|
|
25
|
+
* @param {RTEListItemBlock} target - The list item block.
|
|
26
|
+
* @returns {Nullable<RTEBlock>} Returns either a new `RTEListItemBlock` if the caret
|
|
27
|
+
* position is at the end of the `splitNode`, or it returns the result of splitting the block at the
|
|
28
|
+
* caret position if it is neither at the start nor at the end.
|
|
29
|
+
*/
|
|
30
|
+
breakSingleListItemBlock(splitNode, startOffsetOfNode, target) {
|
|
31
|
+
const newListItem = target.createNewListItem();
|
|
32
|
+
const newBreakNode = this.copyInlineStyleToNewNode(splitNode);
|
|
33
|
+
newListItem.apply(new AppendChildNodesAction([newBreakNode]));
|
|
34
|
+
if (this.isCaretPositionAtTextBlockEnd(target, splitNode, startOffsetOfNode)) {
|
|
35
|
+
return this.breakListItemAtEnd(newListItem, target);
|
|
36
|
+
}
|
|
37
|
+
else if (this.isCaretPositionAtTextBlockStart(target, splitNode, startOffsetOfNode)) {
|
|
38
|
+
target.parent.apply(new InsertBlocksBeforeAction(target, newListItem));
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
const splitBlockAction = new SplitBlockWithNodeAction(splitNode, startOffsetOfNode);
|
|
42
|
+
target.apply(splitBlockAction);
|
|
43
|
+
return splitBlockAction.newBlock;
|
|
44
|
+
}
|
|
45
|
+
return newListItem;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Breaks a list item at the end and handles the insertion of a new list item or paragraph accordingly.
|
|
49
|
+
*
|
|
50
|
+
* @param {RTEListItemBlock} newListItem - Item that represents a new list item to be added to the existing list.
|
|
51
|
+
* @param {RTEListItemBlock} target - The list item block.
|
|
52
|
+
* @returns {RTEBlock} Returns a `RTEBlock`.
|
|
53
|
+
*/
|
|
54
|
+
breakListItemAtEnd(newListItem, target) {
|
|
55
|
+
const lastItem = target.parent.blocks[target.parent.blocks.length - 1];
|
|
56
|
+
const currentItemIsEmpty = target.nodes.length === 1 && target.nodes[0].isEmpty();
|
|
57
|
+
if (target === lastItem && currentItemIsEmpty) {
|
|
58
|
+
const parentParent = target.parent.parent;
|
|
59
|
+
if (parentParent['type'] !== 'list-item') {
|
|
60
|
+
const newParagraph = RTETextBlock.from({
|
|
61
|
+
id: generateUUID(),
|
|
62
|
+
type: 'paragraph',
|
|
63
|
+
nodes: [],
|
|
64
|
+
});
|
|
65
|
+
newParagraph.apply(new AppendChildNodesAction(newListItem.nodes));
|
|
66
|
+
parentParent.apply(new InsertBlocksAfterAction(target.parent, newParagraph));
|
|
67
|
+
target.parent.apply(new RemoveChildAction(target));
|
|
68
|
+
return newParagraph;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
parentParent.parent.apply(new InsertBlocksAfterAction(parentParent, newListItem));
|
|
72
|
+
target.parent.apply(new RemoveChildAction(target));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
target.parent.apply(new InsertBlocksAfterAction(target, newListItem));
|
|
77
|
+
}
|
|
78
|
+
return newListItem;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Copy the inline style to new node
|
|
82
|
+
*
|
|
83
|
+
* @param {RTETextNode} needCopedNode - The node that needed to be copied to
|
|
84
|
+
* @returns {RTETextNode} Returns a `RTETextNode`.
|
|
85
|
+
*/
|
|
86
|
+
copyInlineStyleToNewNode(needCopedNode) {
|
|
87
|
+
const textNode = needCopedNode.cloneWithText('');
|
|
88
|
+
// The link annotation doesn't need to inherit
|
|
89
|
+
textNode.annotationMap.delete(NodeAnnotationTypeEnum.LINK);
|
|
90
|
+
return textNode;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
2
|
+
/**
|
|
3
|
+
* Remove list item nest list block strategy.
|
|
4
|
+
*/
|
|
5
|
+
export class ListItemRemoveNestListStrategy extends ActionHandleStrategy {
|
|
6
|
+
/**
|
|
7
|
+
* Remove the nest list block from the list item, clear the property children when the children is empty.
|
|
8
|
+
*
|
|
9
|
+
* @param {RemoveNestListAction} action - The action instance.
|
|
10
|
+
* @param {RTEListItemBlock} target - The list item block.
|
|
11
|
+
*/
|
|
12
|
+
handleAction(action, target) {
|
|
13
|
+
if (target.children) {
|
|
14
|
+
if (target.children.length > 1) {
|
|
15
|
+
target.children = target.children.filter((child) => child !== action.nestListBlockToBeRemoved);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
target.children = undefined;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { RemoveChildAction } from '../../actions/remove-child-action';
|
|
2
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
3
|
+
/**
|
|
4
|
+
* Remove list item child node strategy.
|
|
5
|
+
*/
|
|
6
|
+
export class ListItemRemoveNodeStrategy extends ActionHandleStrategy {
|
|
7
|
+
/**
|
|
8
|
+
* Remove child node from the list item, remove the list item if the list item is empty.
|
|
9
|
+
*
|
|
10
|
+
* @param {RemoveChildAction} action - The remove child action instance.
|
|
11
|
+
* @param {RTEListItemBlock} target - The list item block.
|
|
12
|
+
*/
|
|
13
|
+
handleAction(action, target) {
|
|
14
|
+
target.nodes = target.nodes.filter((node) => node !== action.entityToBeRemoved);
|
|
15
|
+
if (target.nodes.length === 0 && (!target.children || !target.children.length)) {
|
|
16
|
+
target.parent.apply(new RemoveChildAction(target));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
2
|
+
/**
|
|
3
|
+
* Replace list item nest list strategy.
|
|
4
|
+
*/
|
|
5
|
+
export class ListItemReplaceNestListStrategy extends ActionHandleStrategy {
|
|
6
|
+
/**
|
|
7
|
+
* @inheritDoc
|
|
8
|
+
*/
|
|
9
|
+
handleAction(action, target) {
|
|
10
|
+
action.newList.forEach((listBlock) => {
|
|
11
|
+
listBlock.parent = target;
|
|
12
|
+
});
|
|
13
|
+
target.children = action.newList;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { RemoveChildAction } from '../../actions/remove-child-action';
|
|
2
|
+
import { RemoveNestListAction } from '../../actions/remove-nest-list-action';
|
|
3
|
+
import { BlockRemoveChildBlockStrategy } from './block-remove-child-block-strategy';
|
|
4
|
+
/**
|
|
5
|
+
* List remove list item strategy.
|
|
6
|
+
*/
|
|
7
|
+
export class ListRemoveListItemStrategy extends BlockRemoveChildBlockStrategy {
|
|
8
|
+
/**
|
|
9
|
+
* Remove the list item, check the list item and remove self if the list item is empty.
|
|
10
|
+
*
|
|
11
|
+
* @param {RemoveChildAction} action - The remove action instance.
|
|
12
|
+
* @param {RTEListBlock} target - The list block.
|
|
13
|
+
*/
|
|
14
|
+
handleAction(action, target) {
|
|
15
|
+
super.handleAction(action, target);
|
|
16
|
+
const parent = target.parent;
|
|
17
|
+
if (target.blocks.length === 0 && parent) {
|
|
18
|
+
// The parent is a list item mean the current block is a nest list, so we need to use RemoveNestListAction to remove the item
|
|
19
|
+
if (parent['type'] === 'list-item') {
|
|
20
|
+
parent.apply(new RemoveNestListAction(target));
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
parent.apply(new RemoveChildAction(target));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { AppendChildNodesAction } from '../../actions/append-child-nodes-action';
|
|
2
|
+
import { InsertBlocksAfterAction } from '../../actions/insert-blocks-after-block';
|
|
3
|
+
import { RemoveChildAction } from '../../actions/remove-child-action';
|
|
4
|
+
import { SyncUpSelectionAction } from '../../actions/sync-up-selection-action';
|
|
5
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
6
|
+
/**
|
|
7
|
+
* Convert the selected blocks to list strategy.
|
|
8
|
+
*/
|
|
9
|
+
export class ListTransformToListStrategy extends ActionHandleStrategy {
|
|
10
|
+
/**
|
|
11
|
+
* @inheritDoc
|
|
12
|
+
*/
|
|
13
|
+
handleAction(action, target) {
|
|
14
|
+
const selectedBlocks = action.selectedBlocks;
|
|
15
|
+
const bulletList = target.parent.createList(action.listType);
|
|
16
|
+
const isSameList = selectedBlocks.every((block) => block.parent === target);
|
|
17
|
+
if (isSameList) {
|
|
18
|
+
// Select one or more list items belonging to the same list, and all items in this list should be updated
|
|
19
|
+
bulletList.apply(new AppendChildNodesAction(target.blocks));
|
|
20
|
+
target.parent.apply(new InsertBlocksAfterAction(target, bulletList));
|
|
21
|
+
target.parent.apply(new RemoveChildAction(target));
|
|
22
|
+
selectedBlocks.forEach((block) => block.nodes.map((node) => node.apply(new SyncUpSelectionAction())));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const listItems = action.selectedBlocks.map((block) => target.parent.toListItem(block));
|
|
26
|
+
bulletList.apply(new AppendChildNodesAction(listItems));
|
|
27
|
+
target.parent.apply(new InsertBlocksAfterAction(target, bulletList));
|
|
28
|
+
action.selectedBlocks.forEach((block) => {
|
|
29
|
+
block.parent.apply(new RemoveChildAction(block));
|
|
30
|
+
});
|
|
31
|
+
if (target.blocks.length === 0) {
|
|
32
|
+
target.parent.apply(new RemoveChildAction(target));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { generateUUID } from '../../../../../utils/misc';
|
|
2
|
+
import { AppendChildNodesAction } from '../../actions/append-child-nodes-action';
|
|
3
|
+
import { InsertBlocksAfterAction } from '../../actions/insert-blocks-after-block';
|
|
4
|
+
import { InsertBlocksBeforeAction } from '../../actions/insert-blocks-before-block';
|
|
5
|
+
import { RemoveChildAction } from '../../actions/remove-child-action';
|
|
6
|
+
import { SyncUpSelectionAction } from '../../actions/sync-up-selection-action';
|
|
7
|
+
import { RTETextBlock } from '../../blocks/text-block';
|
|
8
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
9
|
+
/**
|
|
10
|
+
* Convert the selected list block to paragraph strategy.
|
|
11
|
+
*/
|
|
12
|
+
export class ListTransformToParagraphStrategy extends ActionHandleStrategy {
|
|
13
|
+
/**
|
|
14
|
+
* @inheritDoc
|
|
15
|
+
*/
|
|
16
|
+
handleAction(action, target) {
|
|
17
|
+
let isSelectedFirstBlock = false;
|
|
18
|
+
let isSelectedLastBlock = false;
|
|
19
|
+
const selectedBlocks = action.selectedBlocks;
|
|
20
|
+
const currentParagraph = selectedBlocks.map((block) => {
|
|
21
|
+
block.nodes.map((node) => node.apply(new SyncUpSelectionAction()));
|
|
22
|
+
if (block === target.blocks[0])
|
|
23
|
+
isSelectedFirstBlock = true;
|
|
24
|
+
if (block === target.blocks[target.blocks.length - 1])
|
|
25
|
+
isSelectedLastBlock = true;
|
|
26
|
+
return this.toParagraph(block);
|
|
27
|
+
});
|
|
28
|
+
if (isSelectedFirstBlock) {
|
|
29
|
+
target.parent.apply(new InsertBlocksBeforeAction(target, ...currentParagraph));
|
|
30
|
+
}
|
|
31
|
+
else if (isSelectedLastBlock) {
|
|
32
|
+
target.parent.apply(new InsertBlocksAfterAction(target, ...currentParagraph));
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
const startIndex = target.blocks.indexOf(selectedBlocks[0]);
|
|
36
|
+
const lastIndex = target.blocks.indexOf(selectedBlocks[selectedBlocks.length - 1]);
|
|
37
|
+
const firstBulletList = target.parent.createList(target.type);
|
|
38
|
+
firstBulletList.apply(new AppendChildNodesAction(target.blocks.slice(0, startIndex)));
|
|
39
|
+
const lastBulletList = target.parent.createList(target.type);
|
|
40
|
+
lastBulletList.apply(new AppendChildNodesAction(target.blocks.slice(lastIndex + 1)));
|
|
41
|
+
target.parent.apply(new InsertBlocksBeforeAction(target, firstBulletList, ...currentParagraph, lastBulletList));
|
|
42
|
+
target.parent.apply(new RemoveChildAction(target));
|
|
43
|
+
}
|
|
44
|
+
selectedBlocks.map((block) => {
|
|
45
|
+
target.apply(new RemoveChildAction(block));
|
|
46
|
+
});
|
|
47
|
+
if (target.blocks.length === 0) {
|
|
48
|
+
target.parent.apply(new RemoveChildAction(target));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Converts a RTEListItemBlock to a RTETextBlock representing a paragraph.
|
|
53
|
+
*
|
|
54
|
+
* @param {RTEListItemBlock} block - The block that will be covered
|
|
55
|
+
* @returns {RTETextBlock} Returns a `RTETextBlock`.
|
|
56
|
+
*/
|
|
57
|
+
toParagraph(block) {
|
|
58
|
+
const textBlock = new RTETextBlock(generateUUID(), 'paragraph');
|
|
59
|
+
textBlock.apply(new AppendChildNodesAction(block['nodes']));
|
|
60
|
+
textBlock['annotationMap'] = block['annotationMap'];
|
|
61
|
+
return textBlock;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import stateEntityRenderingRegistry from '../../../slimmers/controllers/state-entity-rendering-registry';
|
|
2
|
+
import { UpdateTextAction } from '../../actions/update-text-action';
|
|
3
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
4
|
+
/**
|
|
5
|
+
* Replaces the rich text node selected text strategy.
|
|
6
|
+
*/
|
|
7
|
+
export class NodeReplaceSelectedTextStrategy extends ActionHandleStrategy {
|
|
8
|
+
/**
|
|
9
|
+
* @inheritDoc
|
|
10
|
+
*/
|
|
11
|
+
handleAction(action, target) {
|
|
12
|
+
this.replaceSelectedText(action.textToBeInsert, action.currentRange, target);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Replaces the selected text within a given range with a new text in a TypeScript class.
|
|
16
|
+
*
|
|
17
|
+
* @param {string} text - The new text that will replace the currently selected text within the specified range.
|
|
18
|
+
* @param {RTERange} currentRange - A range of text within a Rich Text Editor (RTE).
|
|
19
|
+
* @param {RTETextNode} target - The RTE text node instance.
|
|
20
|
+
*/
|
|
21
|
+
replaceSelectedText(text, currentRange, target) {
|
|
22
|
+
if (currentRange && currentRange.startContainer && currentRange.endContainer) {
|
|
23
|
+
const { startContainer, endContainer, startOffset, endOffset } = currentRange;
|
|
24
|
+
let newText = target.text;
|
|
25
|
+
if (startContainer === endContainer && startOffset === endOffset && text) {
|
|
26
|
+
newText = target.text.slice(0, startOffset) + text + target.text.slice(startOffset);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
const startNode = startContainer.parentElement;
|
|
30
|
+
const endNode = endContainer.parentElement;
|
|
31
|
+
const startItemDto = startNode && stateEntityRenderingRegistry.getEntityByDOM(startNode);
|
|
32
|
+
const endItemDto = endNode && stateEntityRenderingRegistry.getEntityByDOM(endNode);
|
|
33
|
+
let startIndex = 0, endIndex = target.text.length;
|
|
34
|
+
if (startItemDto && startItemDto === target) {
|
|
35
|
+
startIndex = startOffset;
|
|
36
|
+
endIndex = startContainer === endContainer ? endOffset : endIndex;
|
|
37
|
+
}
|
|
38
|
+
else if (endItemDto && endItemDto === target) {
|
|
39
|
+
endIndex = endOffset;
|
|
40
|
+
}
|
|
41
|
+
newText = target.text.slice(0, startIndex) + text + target.text.slice(endIndex);
|
|
42
|
+
}
|
|
43
|
+
target.apply(new UpdateTextAction(newText));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NodeAnnotationTypeEnum } from '../../annotations/node-annotation.abstract';
|
|
2
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
3
|
+
/**
|
|
4
|
+
* Update the editor text node text content strategy.
|
|
5
|
+
*/
|
|
6
|
+
export class NodeUpdateTextStrategy extends ActionHandleStrategy {
|
|
7
|
+
/**
|
|
8
|
+
* Updates the text content of a node and unlink the node if it is a link node and the text is deleted.
|
|
9
|
+
*
|
|
10
|
+
* @param {UpdateTextAction} action - The update text action instance.
|
|
11
|
+
* @param {RTETextNode} target - The text node instance which need update the text.
|
|
12
|
+
*/
|
|
13
|
+
handleAction(action, target) {
|
|
14
|
+
target.text = action.newTextContent;
|
|
15
|
+
// The link node should unlink when delete all text
|
|
16
|
+
if (!target.text && target.annotationMap.has('LINK')) {
|
|
17
|
+
target.annotationMap.delete(NodeAnnotationTypeEnum.LINK);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
package/dist/collection/components/vega-rich-text-editor/dto/actions/image-update-url-action.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ModifyContentAction, ModifyContentActionType } from './modify-content-action.abstract';
|
|
2
|
+
/**
|
|
3
|
+
* Update the image node property url after the image uploaded.
|
|
4
|
+
*
|
|
5
|
+
* @example currentImageNode.apply(new ImageUpdateUrlAction(url))
|
|
6
|
+
*/
|
|
7
|
+
export class ImageUpdateUrlAction extends ModifyContentAction {
|
|
8
|
+
constructor(newUrl) {
|
|
9
|
+
super();
|
|
10
|
+
this.type = ModifyContentActionType.UPDATE_IMAGE_NODE_URL;
|
|
11
|
+
this.url = newUrl;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -5,7 +5,6 @@ export var ModifyContentActionType;
|
|
|
5
5
|
ModifyContentActionType["UPDATE_TEXT"] = "UPDATE_TEXT";
|
|
6
6
|
ModifyContentActionType["REPLACE_SELECTED_TEXT"] = "REPLACE_SELECTED_TEXT";
|
|
7
7
|
ModifyContentActionType["APPEND_CHILD_NODES"] = "APPEND_CHILD_NODES";
|
|
8
|
-
ModifyContentActionType["CLEAR_CHILD_NODES"] = "CLEAR_CHILD_NODES";
|
|
9
8
|
ModifyContentActionType["INSERT_BLOCKS_AFTER"] = "INSERT_BLOCKS_AFTER";
|
|
10
9
|
ModifyContentActionType["INSERT_BLOCKS_BEFORE"] = "INSERT_BLOCKS_BEFORE";
|
|
11
10
|
ModifyContentActionType["INSERT_NODES_AFTER"] = "INSERT_NODES_AFTER";
|
|
@@ -21,6 +20,7 @@ export var ModifyContentActionType;
|
|
|
21
20
|
ModifyContentActionType["TRANSFORM_PARAGRAPH_BLOCK"] = "TRANSFORM_PARAGRAPH_BLOCK";
|
|
22
21
|
ModifyContentActionType["DELETE_BLOCK_CONTENT"] = "DELETE_BLOCK_CONTENT";
|
|
23
22
|
ModifyContentActionType["INSERT_IMAGE_TO_BLOCK"] = "INSERT_IMAGE_TO_BLOCK";
|
|
23
|
+
ModifyContentActionType["UPDATE_IMAGE_NODE_URL"] = "UPDATE_IMAGE_NODE_URL";
|
|
24
24
|
})(ModifyContentActionType || (ModifyContentActionType = {}));
|
|
25
25
|
/**
|
|
26
26
|
* Abstract class for update node content, delete node, insert node
|