devexpress-richedit 24.1.8-build-24316-0102 → 24.2.2-beta
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/bin/gulpfile.js +1 -1
- package/bin/index-custom.js +1 -1
- package/bin/localization-builder.js +1 -1
- package/bin/nspell-index.js +1 -1
- package/bin/nspell.webpack.config.js +1 -1
- package/bin/webpack-externals.js +1 -1
- package/bin/webpack.config.js +1 -1
- package/dist/dx.richedit.d.ts +12 -1
- package/dist/dx.richedit.js +1174 -907
- package/dist/dx.richedit.min.js +2 -2
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/lib/client/api/loading-panel.js +3 -3
- package/lib/client/bars/rich-edit-ribbon/ribbon-items-data.d.ts +2 -2
- package/lib/client/bars/rich-edit-ribbon/ribbon-items-data.js +2 -1
- package/lib/client/client-rich-edit.d.ts +1 -0
- package/lib/client/client-rich-edit.js +15 -11
- package/lib/client/commands/commands.js +3 -0
- package/lib/client/commands/new-document-command.js +2 -1
- package/lib/client/commands/open-document-command.d.ts +1 -1
- package/lib/client/default-localization.js +2 -0
- package/lib/client/dialogs/dialog-base.js +3 -3
- package/lib/client/document-processor/public/processor.js +3 -3
- package/lib/client/formats/docx/export/data.js +5 -5
- package/lib/client/formats/docx/export/exporters/base/sections.js +4 -4
- package/lib/client/formats/docx/export/exporters/base.js +1 -1
- package/lib/client/formats/docx/export/exporters/content-types.js +4 -4
- package/lib/client/formats/docx/export/exporters/relations/relation-collection.js +1 -1
- package/lib/client/formats/docx/export/exporters/sub-document/base-sub-document.d.ts +1 -1
- package/lib/client/formats/docx/export/exporters/sub-document/base-sub-document.js +3 -3
- package/lib/client/formats/docx/export/exporters/sub-document/header-footer-sub-document-exporter.js +1 -1
- package/lib/client/formats/docx/import/data.js +2 -2
- package/lib/client/formats/docx/import/destination/character-properties/run-properties-base-destination.js +1 -1
- package/lib/client/formats/docx/import/destination/destination.d.ts +2 -2
- package/lib/client/formats/docx/import/destination/destination.js +7 -7
- package/lib/client/formats/docx/import/destination/drawing/drawing-anchor-position-destination.js +9 -9
- package/lib/client/formats/docx/import/destination/drawing/drawing-anchor-relative-size-destination.js +6 -6
- package/lib/client/formats/docx/import/destination/drawing/drawing-destination.js +38 -38
- package/lib/client/formats/docx/import/destination/drawing/non-visual-pucture-properties-destination.js +3 -3
- package/lib/client/formats/docx/import/destination/drawing/shape-properties-destination.js +9 -9
- package/lib/client/formats/docx/import/destination/notes/note-destination.d.ts +1 -1
- package/lib/client/formats/docx/import/destination/notes/note-properties-destination.js +3 -3
- package/lib/client/formats/docx/import/destination/numbering/numberings-destination.js +15 -15
- package/lib/client/formats/docx/import/destination/paragraph/paragraph-destination.js +3 -3
- package/lib/client/formats/docx/import/destination/paragraph-properties/paragraph-numbering-reference-destination.js +5 -5
- package/lib/client/formats/docx/import/destination/paragraph-properties/paragraph-properties-base-destination.js +3 -3
- package/lib/client/formats/docx/import/destination/paragraph-properties/paragraph-properties-destination.js +7 -7
- package/lib/client/formats/docx/import/destination/relationships/relationships-destination.js +3 -3
- package/lib/client/formats/docx/import/destination/runs/inline-object-destination.js +3 -3
- package/lib/client/formats/docx/import/destination/style/destinations/style-paragraph-properties-destination.js +4 -4
- package/lib/client/formats/docx/import/destination/table/cell/properties/table-cell-properties-destination-core.js +3 -3
- package/lib/client/formats/docx/import/destination/table/cell/table-cell-destination.js +3 -3
- package/lib/client/formats/docx/import/destination/table/row/properties/table-row-properties-destination.js +3 -3
- package/lib/client/formats/docx/import/destination/table/row/table-row-destination.js +3 -3
- package/lib/client/formats/docx/import/destination/table/table/properties/table-cell-margins-destination.d.ts +1 -1
- package/lib/client/formats/docx/import/destination/table/table/properties/table-properties-destination-core.js +3 -3
- package/lib/client/formats/docx/import/destination/table/table/properties/table-properties-destination.js +3 -3
- package/lib/client/formats/docx/import/destination/table/table/properties/table-properties-leaf-element-destination.js +3 -3
- package/lib/client/formats/docx/import/destination/table/table/table-destination.js +3 -3
- package/lib/client/formats/docx/import/destination/themes/color/drawing-color-properties-destination-base.js +3 -3
- package/lib/client/formats/docx/import/destination/themes/font/office-theme-font-collection-scheme-destination.js +7 -7
- package/lib/client/formats/docx/import/destination/vml/v-mlshape-destination.js +7 -7
- package/lib/client/formats/docx/import/importers/character-importer.js +6 -6
- package/lib/client/formats/docx/import/importers/comments-importer.js +1 -1
- package/lib/client/formats/docx/import/importers/field-importer.js +2 -2
- package/lib/client/formats/docx/import/importers/table-importer.js +1 -1
- package/lib/client/formats/docx/import/list/open-xml-list-level-override.js +3 -3
- package/lib/client/formats/docx/import/list/open-xml-numbering-list-info.d.ts +1 -1
- package/lib/client/formats/docx/utils/constants.js +6 -6
- package/lib/client/formats/docx/zip/xml-reader.js +10 -10
- package/lib/client/i-rich-constructor-settings.d.ts +2 -1
- package/lib/client/model-api/api-utils/parameter-checker.d.ts +1 -1
- package/lib/client/model-api/collections/drawing-object-collection.js +1 -1
- package/lib/client/model-api/fonts/control-font.js +4 -4
- package/lib/client/model-api/images/image-iterator.js +3 -3
- package/lib/client/model-api/interval.js +1 -1
- package/lib/client/public/api/authentication-options.js +3 -3
- package/lib/client/public/api/range-permission-options.js +3 -3
- package/lib/client/public/client-events.d.ts +2 -1
- package/lib/client/public/client-events.js +3 -1
- package/lib/client/public/commands/enum.d.ts +2 -1
- package/lib/client/public/commands/enum.js +1 -0
- package/lib/client/public/context-menu/menu.js +5 -5
- package/lib/client/public/events.d.ts +6 -0
- package/lib/client/public/events.js +8 -0
- package/lib/client/public/nusa/external-types.d.ts +2 -2
- package/lib/client/public/nusa/settings.js +1 -1
- package/lib/client/public/options.d.ts +1 -0
- package/lib/client/public/ribbon/item-ids.d.ts +2 -1
- package/lib/client/public/ribbon/item-ids.js +1 -0
- package/lib/client/public/ribbon/tab.d.ts +4 -4
- package/lib/client/public/ribbon/tab.js +2 -2
- package/lib/client/public/rich-edit.js +2 -2
- package/lib/client/ribbon/i-toolbar-item-options.d.ts +1 -1
- package/lib/client/ribbon/ribbon.d.ts +3 -3
- package/lib/client/ribbon/ribbon.js +1 -1
- package/lib/client/ribbon/toolbar-items/toolbar-interactive-item.d.ts +2 -2
- package/lib/client/settings.js +2 -0
- package/lib/client/utils/devextreme/devextreme-types.d.ts +17 -17
- package/lib/client/utils/devextreme/dxt-utils.d.ts +1 -1
- package/lib/common/auto-correct/auto-correct-providers.js +1 -1
- package/lib/common/bars/base.js +1 -1
- package/lib/common/canvas/canvas-manager.js +3 -3
- package/lib/common/canvas/canvas-scroll-manager.js +2 -2
- package/lib/common/canvas/listeners/anchor-listener.js +3 -3
- package/lib/common/canvas/listeners/resize-box-listener.js +5 -5
- package/lib/common/canvas/renderes/canvas-listener/canvas-listener.js +1 -1
- package/lib/common/canvas/renderes/change-active-sub-document/renderer.js +10 -10
- package/lib/common/canvas/renderes/common/document-renderer.d.ts +1 -1
- package/lib/common/canvas/renderes/common/document-renderer.js +1 -1
- package/lib/common/canvas/renderes/view-manager.js +3 -3
- package/lib/common/client-side-events.d.ts +1 -0
- package/lib/common/client-side-events.js +3 -0
- package/lib/common/commands/client-command.d.ts +2 -1
- package/lib/common/commands/client-command.js +1 -0
- package/lib/common/commands/command-base.js +10 -10
- package/lib/common/commands/command-manager.js +2 -1
- package/lib/common/commands/command-states.js +3 -3
- package/lib/common/commands/dialogs/dialog-spell-checker-command.js +3 -3
- package/lib/common/commands/document/print-document-on-client-command.js +4 -4
- package/lib/common/commands/fields/create-field-command.d.ts +4 -0
- package/lib/common/commands/fields/create-field-command.js +8 -0
- package/lib/common/commands/fields/open-hyperlink-command.js +3 -2
- package/lib/common/commands/floating-objects/floating-object-drag-drop-change-position-command.js +1 -1
- package/lib/common/commands/floating-objects/insert-anchored-text-box-command.js +1 -1
- package/lib/common/commands/ruler/toggle-show-horizontal-ruler-command.js +3 -1
- package/lib/common/commands/text/change-text-case-commands.d.ts +1 -1
- package/lib/common/event-manager.js +4 -4
- package/lib/common/formats/html/export/html-document-exporter.js +1 -1
- package/lib/common/formats/html/export/html-export.d.ts +7 -1
- package/lib/common/formats/html/export/html-export.js +38 -38
- package/lib/common/formats/html/import/html-importer.d.ts +1 -1
- package/lib/common/formats/html/import/html-importer.js +12 -12
- package/lib/common/formats/html/import/html-model-inserter.js +4 -4
- package/lib/common/formats/html/import/importers/base.js +1 -1
- package/lib/common/formats/html/import/importers/list-base.js +4 -4
- package/lib/common/formats/html/import/utils/character-properties-utils.js +4 -4
- package/lib/common/formats/i-document-importer.d.ts +2 -2
- package/lib/common/formats/pdf/exporter.js +3 -3
- package/lib/common/formats/pdf/interfaces.d.ts +2 -2
- package/lib/common/formats/rtf/export/exporter.js +1 -1
- package/lib/common/formats/rtf/export/exporters/rtf-anchored-picture-run-exporter.js +5 -5
- package/lib/common/formats/rtf/export/exporters/rtf-content-exporter.d.ts +1 -1
- package/lib/common/formats/rtf/export/exporters/rtf-content-exporter.js +2 -2
- package/lib/common/formats/rtf/export/rtf-builder.d.ts +2 -2
- package/lib/common/formats/rtf/import/destination/base/destination.d.ts +4 -4
- package/lib/common/formats/rtf/import/destination/base/destination.js +1 -1
- package/lib/common/formats/rtf/import/destination/base/skip-destination.js +3 -3
- package/lib/common/formats/rtf/import/destination/base/string-property-base-destination.js +2 -2
- package/lib/common/formats/rtf/import/destination/base/string-property-destination.js +2 -2
- package/lib/common/formats/rtf/import/destination/base/unicode-destination.js +2 -2
- package/lib/common/formats/rtf/import/destination/fields/field-sub-destination.js +1 -1
- package/lib/common/formats/rtf/import/destination/fields/table-content-field-destination.js +1 -1
- package/lib/common/formats/rtf/import/destination/font-table-destination.js +3 -3
- package/lib/common/formats/rtf/import/destination/numbering-list/destination-old-paragraph-numbering.js +1 -1
- package/lib/common/formats/rtf/import/destination/numbering-list/destination-old-section-numbering-level.js +1 -1
- package/lib/common/formats/rtf/import/destination/picture/picture-destination.js +4 -4
- package/lib/common/formats/rtf/import/destination/shape/shape-properties-destination-base.js +2 -2
- package/lib/common/formats/rtf/import/destination/shape/shape-property-destination.js +2 -2
- package/lib/common/formats/rtf/import/destination/shape/shape-property-hsv-value-destination.js +2 -2
- package/lib/common/formats/rtf/import/destination/styles/character-style-destination.js +5 -5
- package/lib/common/formats/rtf/import/destination/styles/style-sheet-destination.js +3 -3
- package/lib/common/formats/rtf/import/destination/styles/table-style-destination.js +7 -7
- package/lib/common/formats/rtf/import/destination/sub-document/destination-sub-document.js +2 -2
- package/lib/common/formats/rtf/import/destination/sub-document/section-header-footer-destination-base.js +1 -1
- package/lib/common/formats/rtf/import/importers/character-importer.js +1 -1
- package/lib/common/formats/rtf/import/importers/field-importer.js +2 -2
- package/lib/common/formats/rtf/import/importers/paragraph-importer.js +4 -4
- package/lib/common/formats/rtf/import/importers/range-permission-importer.js +1 -1
- package/lib/common/formats/rtf/import/importers/section-importer.js +4 -4
- package/lib/common/formats/rtf/import/importers/styles/paragraph-style-importer.js +4 -4
- package/lib/common/formats/rtf/import/model/numbering-lists/rtf-old-list-level-info.js +10 -10
- package/lib/common/formats/rtf/import/rtf-import-data.js +13 -13
- package/lib/common/formats/txt/txt-exporter.js +1 -1
- package/lib/common/global-event-dispatcher.d.ts +1 -1
- package/lib/common/input-controller.d.ts +14 -1
- package/lib/common/input-controller.js +58 -20
- package/lib/common/interfaces/i-control-owner.d.ts +1 -0
- package/lib/common/layout/document-layout.js +1 -1
- package/lib/common/layout/main-structures/layout-boxes/layout-anchored-object-box.d.ts +1 -1
- package/lib/common/layout/main-structures/layout-boxes/layout-dash-box.js +1 -1
- package/lib/common/layout/main-structures/layout-boxes/layout-line-break-box.js +4 -4
- package/lib/common/layout/main-structures/layout-boxes/layout-numbering-list-box.js +10 -10
- package/lib/common/layout/main-structures/layout-boxes/layout-page-break-box.js +4 -4
- package/lib/common/layout/main-structures/layout-boxes/layout-space-box.js +1 -1
- package/lib/common/layout/main-structures/layout-row.js +1 -1
- package/lib/common/layout/table/table-cell-iterator.js +6 -6
- package/lib/common/layout-engine/hit-test-manager/hit-test-result.d.ts +1 -1
- package/lib/common/layout-engine/selection/selection-formatter.js +1 -1
- package/lib/common/layout-formatter/box/generator/box-infos-generator.js +3 -3
- package/lib/common/layout-formatter/changes/changes/layout-change-base.js +12 -12
- package/lib/common/layout-formatter/invalidator/layout-invalidator.js +3 -3
- package/lib/common/layout-formatter/managers/formatter-manager.d.ts +1 -1
- package/lib/common/layout-formatter/managers/formatter-manager.js +2 -2
- package/lib/common/layout-formatter/row/result.js +3 -3
- package/lib/common/layout-formatter/row/size-engine/row-formatting-info.js +2 -2
- package/lib/common/layout-formatter/row/size-engine/row-height-calculator.js +3 -3
- package/lib/common/layout-formatter/row/tab-info.js +8 -8
- package/lib/common/layout-formatter/table/borders/border-helper.d.ts +1 -1
- package/lib/common/layout-formatter/table/borders/border-helper.js +5 -5
- package/lib/common/layout-formatter/table/formatter.js +12 -12
- package/lib/common/layout-formatter/table/grid-engine/calculators/column-interval.js +3 -3
- package/lib/common/layout-formatter/table/grid-engine/calculators/grid-calculator.js +3 -3
- package/lib/common/layout-formatter/table/grid-engine/calculators/table-properties-cache.js +7 -7
- package/lib/common/layout-formatter/table/info/cell-info.js +8 -8
- package/lib/common/layout-formatter/table/info/row-info.js +1 -1
- package/lib/common/layout-formatter/table/info/table-info.js +17 -17
- package/lib/common/model/bookmarks.js +7 -7
- package/lib/common/model/borders/border-base.js +3 -3
- package/lib/common/model/caches/hash-based-cache.d.ts +1 -1
- package/lib/common/model/caches/hash-based-cache.js +2 -2
- package/lib/common/model/caches/images.js +11 -11
- package/lib/common/model/changes/change.d.ts +1 -1
- package/lib/common/model/changes/sub-document/list/paragraph-numbering-list-changed.js +1 -1
- package/lib/common/model/changes/sub-document/table/cell-property-changed.js +1 -1
- package/lib/common/model/changes/sub-document/table/property-changed.js +1 -1
- package/lib/common/model/changes/sub-document/table/row-property-changed.js +1 -1
- package/lib/common/model/character/character-property-descriptor.d.ts +1 -1
- package/lib/common/model/color/color-model-info.js +6 -6
- package/lib/common/model/creator/font-corrector.js +5 -5
- package/lib/common/model/document-model.js +10 -10
- package/lib/common/model/fields/field-request-manager.d.ts +1 -1
- package/lib/common/model/fields/field-request-manager.js +2 -2
- package/lib/common/model/fields/names.d.ts +2 -1
- package/lib/common/model/fields/names.js +1 -0
- package/lib/common/model/fields/parsers/field-code-parser-client-updating-base.js +1 -1
- package/lib/common/model/fields/parsers/field-code-parser-doc-variable.js +1 -1
- package/lib/common/model/fields/parsers/field-code-parser-hyperlink.js +1 -1
- package/lib/common/model/fields/parsers/field-code-parser-if.d.ts +39 -0
- package/lib/common/model/fields/parsers/field-code-parser-if.js +138 -0
- package/lib/common/model/fields/parsers/field-code-parser-merge-field.js +1 -1
- package/lib/common/model/fields/parsers/field-code-parser.d.ts +5 -4
- package/lib/common/model/fields/parsers/field-code-parser.js +6 -12
- package/lib/common/model/fields/tree-creator.js +3 -1
- package/lib/common/model/floating-objects/sizes.js +2 -2
- package/lib/common/model/fonts/control-font.js +9 -9
- package/lib/common/model/fonts/loader.js +1 -1
- package/lib/common/model/footnotes/footnote.d.ts +1 -1
- package/lib/common/model/history/base/history-item.js +6 -6
- package/lib/common/model/history/base/interval-based-history-item.js +2 -2
- package/lib/common/model/history/base/position-based-history-item.js +2 -2
- package/lib/common/model/history/items/floating-objects/insert-anchored-picture-history-item.js +1 -0
- package/lib/common/model/history/items/insert-text-history-item.js +3 -3
- package/lib/common/model/history/items/switch-text-box-sub-documents-state-history-item.js +0 -1
- package/lib/common/model/history/selection/scroll-history-item.js +3 -3
- package/lib/common/model/history/selection/selection-history-item.js +3 -3
- package/lib/common/model/json/importers/sub-document/run-importers.d.ts +2 -2
- package/lib/common/model/manipulators/base-manipulator.js +2 -2
- package/lib/common/model/manipulators/document/sub-document-inserter.js +6 -6
- package/lib/common/model/manipulators/model-manipulator.js +1 -1
- package/lib/common/model/manipulators/picture-manipulator/insert-picture-manipulator-params.js +1 -1
- package/lib/common/model/manipulators/picture-manipulator/loader/image-loading-options.d.ts +1 -1
- package/lib/common/model/manipulators/picture-manipulator/loader/picture-loader.d.ts +1 -1
- package/lib/common/model/manipulators/picture-manipulator/loader/picture-loader.js +1 -1
- package/lib/common/model/manipulators/range/create-range-copy-operation.js +3 -3
- package/lib/common/model/manipulators/range/remove-interval-operation.js +8 -2
- package/lib/common/model/manipulators/tables/insert-table-cell-operation.js +1 -1
- package/lib/common/model/manipulators/tables/insert-table-row-operation.js +1 -1
- package/lib/common/model/manipulators/tables/merge-table-cells-operation.js +1 -1
- package/lib/common/model/manipulators/tables/table-normalizator.d.ts +2 -2
- package/lib/common/model/manipulators/text-box-manipulator.d.ts +1 -1
- package/lib/common/model/manipulators/text-box-manipulator.js +2 -1
- package/lib/common/model/options/fields.d.ts +1 -0
- package/lib/common/model/options/fields.js +3 -1
- package/lib/common/model/options/pdf.d.ts +2 -2
- package/lib/common/model/options/rich-options.js +3 -3
- package/lib/common/model/paragraph/paragraph-property-descriptors.d.ts +1 -1
- package/lib/common/model/paragraph/paragraph.js +1 -1
- package/lib/common/model/position/linked-interval.js +4 -4
- package/lib/common/model/range-permissions.js +3 -3
- package/lib/common/model/runs/anchored-picture-run.js +4 -4
- package/lib/common/model/runs/inline-picture-run.d.ts +1 -1
- package/lib/common/model/runs/inline-picture-run.js +1 -1
- package/lib/common/model/runs/run-base.js +4 -4
- package/lib/common/model/section/section-property-descriptor.d.ts +1 -1
- package/lib/common/model/shadings/shading-info.js +3 -3
- package/lib/common/model/styles-manager.d.ts +1 -1
- package/lib/common/model/tables/main-structures/table-row.js +1 -1
- package/lib/common/mouse-handler/base/manipulator-handler-state-base.js +2 -2
- package/lib/common/mouse-handler/mouse-handler/mouse-handler-drag-column-or-row-state.d.ts +1 -1
- package/lib/common/rich-edit-core.js +11 -11
- package/lib/common/rich-utils/debug/runtime-template-model-creator.js +6 -6
- package/lib/common/scroll/model-states.d.ts +1 -1
- package/lib/common/scroll/model-states.js +4 -4
- package/lib/common/selection/selected-cells-engine.js +12 -12
- package/lib/common/selection/selection-intervals-info.js +7 -7
- package/lib/common/selection/selection-state.js +5 -5
- package/lib/common/selection/selection.js +15 -14
- package/lib/common/ui/quick-search-panel.js +1 -1
- package/lib/common/ui/ruler/controls/base.js +1 -1
- package/lib/common/ui/ruler/controls/column.js +1 -1
- package/lib/common/ui/ruler/controls/divisions.js +1 -1
- package/lib/common/ui/ruler/controls/indent/first-line.js +7 -7
- package/lib/common/ui/ruler/controls/indent/left.js +6 -6
- package/lib/common/ui/ruler/controls/indent/right.js +7 -7
- package/lib/common/ui/ruler/controls/margin/left.js +4 -4
- package/lib/common/ui/ruler/controls/margin/right.js +1 -1
- package/lib/common/ui/ruler/controls/owner.js +1 -1
- package/lib/common/ui/ruler/controls/ruler.js +5 -5
- package/lib/common/ui/ruler/controls/tab/tab-type.js +5 -5
- package/lib/common/ui/ruler/controls/tab/tab.js +7 -7
- package/lib/common/ui/ruler/controls/tab/utils.d.ts +2 -2
- package/lib/common/ui/ruler/controls/tab/utils.js +5 -5
- package/lib/common/ui/ruler/controls/table.js +1 -1
- package/lib/common/ui/ruler/controls/vertical-line.d.ts +1 -2
- package/lib/common/ui/ruler/controls/vertical-line.js +2 -2
- package/lib/common/ui/ruler/controls/wrapper.js +1 -1
- package/lib/common/ui/ruler/manager.js +19 -19
- package/lib/common/ui/ruler/model-data.d.ts +8 -2
- package/lib/common/ui/ruler/model-data.js +10 -4
- package/lib/common/ui/ruler/ruler.js +4 -3
- package/lib/common/utils/utils.d.ts +8 -1
- package/lib/common/utils/utils.js +39 -8
- package/lib/common/view-settings/views-settings.js +6 -6
- package/package.json +3 -3
@@ -23,9 +23,16 @@ export const INPUT_CLASS_NAME = "dxreInputTarget";
|
|
23
23
|
const EMPTY_KEYCODE = 229;
|
24
24
|
const TAB_KEYCODE = 9;
|
25
25
|
const IDEOGRAPHIC_SPACE_CHARCODE = 12288;
|
26
|
+
var IMEState;
|
27
|
+
(function (IMEState) {
|
28
|
+
IMEState[IMEState["None"] = 0] = "None";
|
29
|
+
IMEState[IMEState["Start"] = 1] = "Start";
|
30
|
+
IMEState[IMEState["Process"] = 2] = "Process";
|
31
|
+
})(IMEState || (IMEState = {}));
|
26
32
|
export class InputEditorBase {
|
27
33
|
constructor(control, eventManager, parent) {
|
28
34
|
this.newLineRegexp = /(\r\n|\n|\r)/gm;
|
35
|
+
this.IMEState = IMEState.None;
|
29
36
|
this.processTextOnKeyPress = false;
|
30
37
|
this.evtHandlersHolder = new DomEventHandlersHolder();
|
31
38
|
this.control = control;
|
@@ -33,7 +40,6 @@ export class InputEditorBase {
|
|
33
40
|
this.canInsertTextOnInputEvent = this.canUseInputEvent();
|
34
41
|
this.createHierarchy(parent);
|
35
42
|
this.initialize();
|
36
|
-
this.isIME = false;
|
37
43
|
this.inputWithAlt = false;
|
38
44
|
}
|
39
45
|
dispose() {
|
@@ -106,7 +112,7 @@ export class InputEditorBase {
|
|
106
112
|
}
|
107
113
|
onKeyDown(evt) {
|
108
114
|
if (!this.control.clientSideEvents.raiseKeyDown(evt)) {
|
109
|
-
if (
|
115
|
+
if (this.IMEState === IMEState.None) {
|
110
116
|
evt = this.getNormalizedEvent(evt);
|
111
117
|
const keyCode = KeyUtils.getEventKeyCode(evt);
|
112
118
|
this.needProcessShortcut = !keyCode || keyCode == EMPTY_KEYCODE;
|
@@ -271,6 +277,9 @@ export class DivInputEditor extends InputEditorBase {
|
|
271
277
|
dispose() {
|
272
278
|
super.dispose();
|
273
279
|
clearTimeout(this.clearInputTimerId);
|
280
|
+
clearTimeout(this.composUpdateTimerId);
|
281
|
+
clearTimeout(this.composEndTimerId);
|
282
|
+
clearTimeout(this.onTextInputTimerId);
|
274
283
|
}
|
275
284
|
initializeIfNotReadOnlyCore() {
|
276
285
|
this.inputElement.contentEditable = "true";
|
@@ -281,14 +290,21 @@ export class DivInputEditor extends InputEditorBase {
|
|
281
290
|
}
|
282
291
|
createInputElement() {
|
283
292
|
const element = document.createElement("DIV");
|
284
|
-
|
285
|
-
element.autocapitalize = "off";
|
293
|
+
element.autocapitalize = "off";
|
286
294
|
if (Browser.MacOSMobilePlatform && (Number(Browser.PlaformMajorVersion) >= 16
|
287
295
|
|| Browser.Safari && Browser.MajorVersion >= 16)) {
|
288
296
|
element.classList.add('dxreiOS16');
|
289
297
|
}
|
290
298
|
return element;
|
291
299
|
}
|
300
|
+
initEvents() {
|
301
|
+
super.initEvents();
|
302
|
+
this.evtHandlersHolder.addListener(this.getEditableDocument(), "compositionstart", this.onCompositionStart.bind(this));
|
303
|
+
this.evtHandlersHolder.addListener(this.getEditableDocument(), "compositionupdate", (evt) => Browser.IE || Browser.Edge ?
|
304
|
+
this.onCompositionUpdate(evt) : this.composUpdateTimerId = setTimeout(() => this.onCompositionUpdate(evt), 0));
|
305
|
+
this.evtHandlersHolder.addListener(this.getEditableDocument(), "compositionend", (evt) => !Browser.Safari ?
|
306
|
+
this.onCompositionEnd(evt) : this.composEndTimerId = setTimeout(() => this.onCompositionEnd(evt), 0));
|
307
|
+
}
|
292
308
|
onKeyDown(evt) {
|
293
309
|
var _a;
|
294
310
|
this.handled = false;
|
@@ -357,21 +373,15 @@ export class DivInputEditor extends InputEditorBase {
|
|
357
373
|
this.onTextReplace(text.substr(lastWordStartIndex), text);
|
358
374
|
else
|
359
375
|
super.onTextInput(data);
|
360
|
-
if (this.previousText && text.length < this.previousText.length || !text.length) {
|
361
|
-
let deletedCharacterCount = this.previousText ? this.previousText.length - text.length : 1;
|
362
|
-
for (let i = 0; i < deletedCharacterCount; i++)
|
363
|
-
this.eventManager.onShortcut(KeyCode.Backspace);
|
364
|
-
this.previousText = text;
|
365
|
-
}
|
366
376
|
this.cursorWasSetOnLastPosition = true;
|
367
377
|
}
|
368
378
|
this.handled = true;
|
369
|
-
if (
|
379
|
+
if (text[text.length - 1] == " ")
|
370
380
|
this.clearInputElement();
|
371
381
|
}
|
372
382
|
}
|
373
383
|
tryHandleShortcutByInputString(data) {
|
374
|
-
if (data &&
|
384
|
+
if (data && this.IMEState === IMEState.None) {
|
375
385
|
let enteredChar = data.charAt(data.length - 1);
|
376
386
|
const keyCode = this.tryObtainCodeFromChar(enteredChar);
|
377
387
|
if (keyCode != EMPTY_KEYCODE) {
|
@@ -462,6 +472,31 @@ export class DivInputEditor extends InputEditorBase {
|
|
462
472
|
selection.selectAllChildren(this.inputElement);
|
463
473
|
super.selectEditableDocumentContent();
|
464
474
|
}
|
475
|
+
onCompositionStart(_evt) {
|
476
|
+
this.IMEState = IMEState.Start;
|
477
|
+
this.needProcessShortcut = false;
|
478
|
+
this.clearInputElement();
|
479
|
+
}
|
480
|
+
onCompositionUpdate(_evt) {
|
481
|
+
const text = this.getEditableDocumentText();
|
482
|
+
if (text.length && this.previousText != text) {
|
483
|
+
if (this.IMEState === IMEState.Start)
|
484
|
+
this.onText(text, text, this.previousText.length > 0);
|
485
|
+
else if (this.IMEState === IMEState.Process)
|
486
|
+
this.onTextReplace(text, text);
|
487
|
+
}
|
488
|
+
this.IMEState = IMEState.Process;
|
489
|
+
}
|
490
|
+
onCompositionEnd(_evt) {
|
491
|
+
const text = this.getEditableDocumentText();
|
492
|
+
if (this.previousText != text) {
|
493
|
+
if (text.length > 0)
|
494
|
+
this.onTextReplace(text, text);
|
495
|
+
else
|
496
|
+
this.onShortcutCore(_evt, KeyCode.Backspace);
|
497
|
+
}
|
498
|
+
this.IMEState = IMEState.None;
|
499
|
+
}
|
465
500
|
}
|
466
501
|
export class IFrameInputEditor extends InputEditorBase {
|
467
502
|
constructor(control, eventManager, parent) {
|
@@ -565,7 +600,7 @@ export class IFrameInputEditor extends InputEditorBase {
|
|
565
600
|
}
|
566
601
|
setEditableDocumentContent(content) {
|
567
602
|
super.setEditableDocumentContent(content);
|
568
|
-
this.
|
603
|
+
this.IMEState = IMEState.None;
|
569
604
|
this.editableDocument.body.innerHTML = "";
|
570
605
|
if (typeof content === "string")
|
571
606
|
this.editableDocument.body.innerHTML = content;
|
@@ -613,7 +648,7 @@ export class IFrameInputEditor extends InputEditorBase {
|
|
613
648
|
}
|
614
649
|
onBlur(evt) {
|
615
650
|
super.onBlur(evt);
|
616
|
-
this.
|
651
|
+
this.IMEState = IMEState.None;
|
617
652
|
this.endInputIME();
|
618
653
|
}
|
619
654
|
onShortcutCore(evt, shortcutCode) {
|
@@ -642,7 +677,7 @@ export class IFrameInputEditor extends InputEditorBase {
|
|
642
677
|
}
|
643
678
|
}
|
644
679
|
onCompositionStart(_evt) {
|
645
|
-
this.
|
680
|
+
this.IMEState = IMEState.Start;
|
646
681
|
this.needProcessShortcut = false;
|
647
682
|
if (!Browser.IE && !Browser.Edge)
|
648
683
|
this.clearInputElement();
|
@@ -650,10 +685,11 @@ export class IFrameInputEditor extends InputEditorBase {
|
|
650
685
|
}
|
651
686
|
onCompositionUpdate(_evt) {
|
652
687
|
const text = this.getEditableDocumentText();
|
653
|
-
if (this.
|
688
|
+
if (this.IMEState !== IMEState.None && text.length && this.previousText != text) {
|
654
689
|
this.onTextReplace(text, text);
|
655
690
|
this.updateInputIME();
|
656
691
|
}
|
692
|
+
this.IMEState = IMEState.Process;
|
657
693
|
}
|
658
694
|
onCompositionEnd(_evt) {
|
659
695
|
const text = this.getEditableDocumentText();
|
@@ -663,7 +699,7 @@ export class IFrameInputEditor extends InputEditorBase {
|
|
663
699
|
this.clearInputElement();
|
664
700
|
if (text.charCodeAt(text.length - 1) == IDEOGRAPHIC_SPACE_CHARCODE)
|
665
701
|
this.clearInputElement();
|
666
|
-
this.
|
702
|
+
this.IMEState = IMEState.None;
|
667
703
|
this.endInputIME();
|
668
704
|
}
|
669
705
|
startInputIME() {
|
@@ -732,7 +768,10 @@ export class InputController {
|
|
732
768
|
this.inputEditor = this.createInputEditor(parent, eventManager);
|
733
769
|
}
|
734
770
|
initExporter() {
|
735
|
-
this.exporter = new HtmlExporter(this.control.getExportModelOptions()
|
771
|
+
this.exporter = new HtmlExporter(this.control.getExportModelOptions(), {
|
772
|
+
sanitaizeHyperlinkURIs: true,
|
773
|
+
convertRelativeURIsToAbsolute: true
|
774
|
+
});
|
736
775
|
}
|
737
776
|
dispose() {
|
738
777
|
this.inputEditor.dispose();
|
@@ -797,9 +836,8 @@ export class InputController {
|
|
797
836
|
if (typeof html === 'string')
|
798
837
|
el.innerHTML = html;
|
799
838
|
});
|
800
|
-
if (typeof html !== "string")
|
839
|
+
if (typeof html !== "string")
|
801
840
|
builder.assignFrom(html);
|
802
|
-
}
|
803
841
|
builder.endChild('b');
|
804
842
|
builder.endChild('span');
|
805
843
|
builder.endChild('a');
|
@@ -37,6 +37,7 @@ export interface IControlOwner {
|
|
37
37
|
raiseSelectionChanged(): any;
|
38
38
|
raiseCustomCommandExecuted(command: any, parameter: any): any;
|
39
39
|
raiseFloatingObjectMovedObject(args: FloatingObjectMovedArgumentInner): any;
|
40
|
+
raiseHorizontalRulerVisibleChanged(horizontalRulerVisible: boolean): any;
|
40
41
|
showPopupMenu(getPoint: (contextMenuBar: ContextMenuBarBase) => Point): any;
|
41
42
|
hidePopupMenu(): any;
|
42
43
|
isRibbon(element: HTMLElement): boolean;
|
@@ -19,7 +19,7 @@ export class AnchorObjectsPositionInfo {
|
|
19
19
|
}
|
20
20
|
add(obj, modelPosition) {
|
21
21
|
this.delete(obj.objectId);
|
22
|
-
this.cache[obj.objectId] = new ModelPositionHolder(modelPosition, this.model.
|
22
|
+
this.cache[obj.objectId] = new ModelPositionHolder(modelPosition, this.model.subDocumentsCollection.collection[obj.belongsToSubDocId].positionManager);
|
23
23
|
}
|
24
24
|
delete(id) {
|
25
25
|
const info = this.cache[id];
|
@@ -15,7 +15,7 @@ export declare enum AnchoredObjectLevelType {
|
|
15
15
|
InText = 1,
|
16
16
|
BeforeText = 2
|
17
17
|
}
|
18
|
-
export
|
18
|
+
export type LayoutAnchoredObjectBoxTypes = LayoutAnchoredPictureBox | LayoutAnchoredTextBox;
|
19
19
|
export declare abstract class LayoutAnchoredObjectBox extends LayoutBox {
|
20
20
|
belongsToSubDocId: number;
|
21
21
|
rotationInRadians: number;
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import { MeasureInfoNonText } from '../../../measurer/measure-info';
|
2
2
|
import { LayoutBox, LayoutBoxType } from './layout-box';
|
3
3
|
export class LayoutDashBox extends LayoutBox {
|
4
|
+
get isDashBox() { return true; }
|
4
5
|
constructor(characterProperties, colorInfo, text) {
|
5
6
|
super(characterProperties, colorInfo);
|
6
7
|
this.text = text;
|
7
8
|
}
|
8
|
-
get isDashBox() { return true; }
|
9
9
|
equals(obj) {
|
10
10
|
return super.equals(obj) &&
|
11
11
|
this.text == obj.text;
|
@@ -3,6 +3,10 @@ import { CharacterProperties } from '../../../model/character/character-properti
|
|
3
3
|
import { RichUtils } from '../../../model/rich-utils';
|
4
4
|
import { LayoutBox, LayoutBoxType, LayoutRenderCharacterProperties } from './layout-box';
|
5
5
|
export class LayoutLineBreakBox extends LayoutBox {
|
6
|
+
equals(obj) {
|
7
|
+
return super.equals(obj) &&
|
8
|
+
this.lineBreakSymbol == obj.lineBreakSymbol;
|
9
|
+
}
|
6
10
|
constructor(characterProperties, colorInfo) {
|
7
11
|
super(characterProperties, colorInfo);
|
8
12
|
if (!LayoutLineBreakBox.renderCharacterProperties && characterProperties) {
|
@@ -15,10 +19,6 @@ export class LayoutLineBreakBox extends LayoutBox {
|
|
15
19
|
LayoutLineBreakBox.renderCharacterProperties.fontInfo.scriptMultiplier = 0.65;
|
16
20
|
}
|
17
21
|
}
|
18
|
-
equals(obj) {
|
19
|
-
return super.equals(obj) &&
|
20
|
-
this.lineBreakSymbol == obj.lineBreakSymbol;
|
21
|
-
}
|
22
22
|
clone() {
|
23
23
|
const newObj = new LayoutLineBreakBox(this.characterProperties, this.colorInfo);
|
24
24
|
newObj.copyFrom(this);
|
@@ -6,6 +6,16 @@ import { LayoutSpaceBox } from './layout-space-box';
|
|
6
6
|
import { LayoutTabSpaceBoxJustForBoxIterator, TabLeaderType } from './layout-tab-space-box';
|
7
7
|
import { LayoutTextBox } from './layout-text-box';
|
8
8
|
export class LayoutNumberingListBox extends LayoutBox {
|
9
|
+
getFont(fontInfoCache) {
|
10
|
+
let fontInfo = fontInfoCache.getItemByName('Arial');
|
11
|
+
if (!fontInfo) {
|
12
|
+
fontInfo = fontInfoCache.getItemByName('Times New Roman');
|
13
|
+
if (!fontInfo) {
|
14
|
+
fontInfo = fontInfoCache.getItemByName('Calibri');
|
15
|
+
}
|
16
|
+
}
|
17
|
+
return fontInfo;
|
18
|
+
}
|
9
19
|
constructor(characterProperties, colorInfo, text, separatorChar, mergedCharacterPropertiesCache, alignment = ListNumberAlignment.Left, fontInfoCache) {
|
10
20
|
super(characterProperties, colorInfo);
|
11
21
|
this.textBox = new LayoutTextBox(characterProperties, colorInfo, text);
|
@@ -38,16 +48,6 @@ export class LayoutNumberingListBox extends LayoutBox {
|
|
38
48
|
}
|
39
49
|
}
|
40
50
|
}
|
41
|
-
getFont(fontInfoCache) {
|
42
|
-
let fontInfo = fontInfoCache.getItemByName('Arial');
|
43
|
-
if (!fontInfo) {
|
44
|
-
fontInfo = fontInfoCache.getItemByName('Times New Roman');
|
45
|
-
if (!fontInfo) {
|
46
|
-
fontInfo = fontInfoCache.getItemByName('Calibri');
|
47
|
-
}
|
48
|
-
}
|
49
|
-
return fontInfo;
|
50
|
-
}
|
51
51
|
equals(obj) {
|
52
52
|
return obj &&
|
53
53
|
super.equals(obj) &&
|
@@ -2,6 +2,10 @@ import { MeasureInfoText } from '../../../measurer/measure-info';
|
|
2
2
|
import { CharacterProperties } from '../../../model/character/character-properties';
|
3
3
|
import { LayoutBox, LayoutBoxType, LayoutRenderCharacterProperties } from './layout-box';
|
4
4
|
export class LayoutPageBreakBox extends LayoutBox {
|
5
|
+
equals(obj) {
|
6
|
+
return super.equals(obj) &&
|
7
|
+
this.text == obj.text;
|
8
|
+
}
|
5
9
|
constructor(characterProperties, colorInfo) {
|
6
10
|
super(characterProperties, colorInfo);
|
7
11
|
if (!LayoutPageBreakBox.renderCharacterProperties && characterProperties) {
|
@@ -14,10 +18,6 @@ export class LayoutPageBreakBox extends LayoutBox {
|
|
14
18
|
LayoutPageBreakBox.renderCharacterProperties.fontInfo.scriptMultiplier = 0.65;
|
15
19
|
}
|
16
20
|
}
|
17
|
-
equals(obj) {
|
18
|
-
return super.equals(obj) &&
|
19
|
-
this.text == obj.text;
|
20
|
-
}
|
21
21
|
clone() {
|
22
22
|
const newObj = new LayoutPageBreakBox(this.characterProperties, this.colorInfo);
|
23
23
|
newObj.copyFrom(this);
|
@@ -22,7 +22,7 @@ export class LayoutSpaceBox extends LayoutBox {
|
|
22
22
|
return LayoutBoxType.Space;
|
23
23
|
}
|
24
24
|
pushInfoForMeasure(info, showHiddenSymbols) {
|
25
|
-
info.push(new MeasureInfoNonText(
|
25
|
+
info.push(new MeasureInfoNonText(RichUtils.specialCharacters.Space, this.characterProperties));
|
26
26
|
if (showHiddenSymbols)
|
27
27
|
info.push(new MeasureInfoNonText(RichUtils.specialCharacters.HiddenSpace, this.characterProperties));
|
28
28
|
}
|
@@ -14,6 +14,7 @@ export var LayoutRowStateFlags;
|
|
14
14
|
LayoutRowStateFlags[LayoutRowStateFlags["PageBreakBefore"] = 128] = "PageBreakBefore";
|
15
15
|
})(LayoutRowStateFlags || (LayoutRowStateFlags = {}));
|
16
16
|
export class LayoutRow extends Rectangle {
|
17
|
+
get hasEffectToPageHeight() { return this.boxes.length != 1 || !this.boxes[0].isSectionBreakBox; }
|
17
18
|
constructor(minY = Number.MAX_SAFE_INTEGER) {
|
18
19
|
super(0, 0, 0, 0);
|
19
20
|
this.boxes = [];
|
@@ -22,7 +23,6 @@ export class LayoutRow extends Rectangle {
|
|
22
23
|
this.flags = new Flag(LayoutRowStateFlags.NormallyEnd);
|
23
24
|
this.initialY = minY;
|
24
25
|
}
|
25
|
-
get hasEffectToPageHeight() { return this.boxes.length != 1 || !this.boxes[0].isSectionBreakBox; }
|
26
26
|
getEndPosition() {
|
27
27
|
return this.columnOffset + this.getLastBoxEndPositionInRow();
|
28
28
|
}
|
@@ -19,6 +19,12 @@ export class ParentLinkTableCell {
|
|
19
19
|
}
|
20
20
|
}
|
21
21
|
export class TableCellIterator {
|
22
|
+
get tableCellInfo() {
|
23
|
+
return this.tableCellInfoInternal;
|
24
|
+
}
|
25
|
+
get isInTable() {
|
26
|
+
return this.layoutRowIndexInCell > -1;
|
27
|
+
}
|
22
28
|
constructor(position, layout, measurer) {
|
23
29
|
this.tableIndex = -1;
|
24
30
|
this.tableRowIndex = -1;
|
@@ -43,12 +49,6 @@ export class TableCellIterator {
|
|
43
49
|
}
|
44
50
|
}
|
45
51
|
}
|
46
|
-
get tableCellInfo() {
|
47
|
-
return this.tableCellInfoInternal;
|
48
|
-
}
|
49
|
-
get isInTable() {
|
50
|
-
return this.layoutRowIndexInCell > -1;
|
51
|
-
}
|
52
52
|
readTables(tables, parentCell = null, layountIndex = -1) {
|
53
53
|
for (let tableIndex = 0, table; table = tables[tableIndex]; tableIndex++) {
|
54
54
|
for (let rowIndex = 0, row; row = table.tableRows[rowIndex]; rowIndex++) {
|
@@ -3,7 +3,7 @@ import { LayoutPosition } from '../../layout/layout-position';
|
|
3
3
|
import { LayoutAnchoredObjectBox } from '../../layout/main-structures/layout-boxes/layout-anchored-object-box';
|
4
4
|
import { SubDocument } from '../../model/sub-document';
|
5
5
|
import { HitTestDeviation } from '@devexpress/utils/lib/geometry/rectangle';
|
6
|
-
export
|
6
|
+
export type HitTestResultDeviations = Record<number, HitTestDeviation>;
|
7
7
|
export declare class HitTestResult extends LayoutPosition {
|
8
8
|
subDocument: SubDocument;
|
9
9
|
deviations: HitTestResultDeviations;
|
@@ -33,6 +33,7 @@ export var SimpleSelectionLayoutType;
|
|
33
33
|
SimpleSelectionLayoutType[SimpleSelectionLayoutType["RangePermission"] = 2] = "RangePermission";
|
34
34
|
})(SimpleSelectionLayoutType || (SimpleSelectionLayoutType = {}));
|
35
35
|
export class SelectionFormatter extends BatchUpdatableObject {
|
36
|
+
get highlightRanges() { return this.documentProtectionSettings.highlightRanges; }
|
36
37
|
constructor(selection, measurer, layoutSelection, documentProtectionSettings) {
|
37
38
|
super();
|
38
39
|
this.onSelectionLayoutChanged = new EventDispatcher();
|
@@ -41,7 +42,6 @@ export class SelectionFormatter extends BatchUpdatableObject {
|
|
41
42
|
this.layoutSelection = layoutSelection;
|
42
43
|
this.documentProtectionSettings = documentProtectionSettings;
|
43
44
|
}
|
44
|
-
get highlightRanges() { return this.documentProtectionSettings.highlightRanges; }
|
45
45
|
modelChanged(change) {
|
46
46
|
if (change.type == ModelChangeType.RangePermissionsPropertiesChanged)
|
47
47
|
this.onRangePermissionPropertiesChanged();
|
@@ -41,6 +41,9 @@ import { FieldIterator, TableIterator } from './recursive-objects-iterators';
|
|
41
41
|
import { ColorModelInfo } from '../../../model/color/color-model-info';
|
42
42
|
import { ColorUtils } from '@devexpress/utils/lib/utils/color';
|
43
43
|
export class BoxGenerator {
|
44
|
+
static get MAX_NUM_NEW_BOXES() { return BoxWrapsHolder.AVERAGE_BOXES_ON_PAGE; }
|
45
|
+
;
|
46
|
+
get colorProvider() { return this.manager.model.colorProvider; }
|
44
47
|
constructor(manager, boxesHolder) {
|
45
48
|
this.positionFromStartGenerate = -1;
|
46
49
|
this.waitForMoreChunks = false;
|
@@ -61,9 +64,6 @@ export class BoxGenerator {
|
|
61
64
|
this.manager = manager;
|
62
65
|
this.boxWrapsHolder = boxesHolder;
|
63
66
|
}
|
64
|
-
static get MAX_NUM_NEW_BOXES() { return BoxWrapsHolder.AVERAGE_BOXES_ON_PAGE; }
|
65
|
-
;
|
66
|
-
get colorProvider() { return this.manager.model.colorProvider; }
|
67
67
|
isNotEmptyParagraphOrSectionRunBeforeTable(box) {
|
68
68
|
const hasNewWrappers = this.newWrappers && this.newWrappers.length;
|
69
69
|
const lastWrapperNotInsideTable = hasNewWrappers && !ListUtils.last(this.newWrappers).info.tablePosition;
|
@@ -6,14 +6,14 @@ export var LayoutChangeType;
|
|
6
6
|
LayoutChangeType[LayoutChangeType["Inserted"] = 3] = "Inserted";
|
7
7
|
})(LayoutChangeType || (LayoutChangeType = {}));
|
8
8
|
export class LayoutChangeBase {
|
9
|
-
constructor(index, changeType = LayoutChangeType.Updated) {
|
10
|
-
this.index = index;
|
11
|
-
this.changeType = changeType;
|
12
|
-
}
|
13
9
|
get layoutIndex() { return this.index; }
|
14
10
|
;
|
15
11
|
get canvasIndex() { return this.index; }
|
16
12
|
;
|
13
|
+
constructor(index, changeType = LayoutChangeType.Updated) {
|
14
|
+
this.index = index;
|
15
|
+
this.changeType = changeType;
|
16
|
+
}
|
17
17
|
summarizeChanges(_change) {
|
18
18
|
}
|
19
19
|
}
|
@@ -38,32 +38,32 @@ export class TableChange extends LayoutChangeBase {
|
|
38
38
|
}
|
39
39
|
}
|
40
40
|
export class RowChangeSV extends RowChange {
|
41
|
-
constructor(layoutIndex, canvasIndex, changeType) {
|
42
|
-
super(canvasIndex, changeType);
|
43
|
-
this._layoutIndex = layoutIndex;
|
44
|
-
}
|
45
41
|
get layoutIndex() { return this._layoutIndex; }
|
46
42
|
;
|
47
43
|
get canvasIndex() { return this.index; }
|
48
44
|
;
|
49
|
-
}
|
50
|
-
export class TableChangeSV extends TableChange {
|
51
45
|
constructor(layoutIndex, canvasIndex, changeType) {
|
52
46
|
super(canvasIndex, changeType);
|
53
47
|
this._layoutIndex = layoutIndex;
|
54
48
|
}
|
49
|
+
}
|
50
|
+
export class TableChangeSV extends TableChange {
|
55
51
|
get layoutIndex() { return this._layoutIndex; }
|
56
52
|
;
|
57
53
|
get canvasIndex() { return this.index; }
|
58
54
|
;
|
59
|
-
}
|
60
|
-
export class ParagraphFrameChangeSV extends ParagraphFrameChange {
|
61
55
|
constructor(layoutIndex, canvasIndex, changeType) {
|
62
56
|
super(canvasIndex, changeType);
|
63
57
|
this._layoutIndex = layoutIndex;
|
64
58
|
}
|
59
|
+
}
|
60
|
+
export class ParagraphFrameChangeSV extends ParagraphFrameChange {
|
65
61
|
get layoutIndex() { return this._layoutIndex; }
|
66
62
|
;
|
67
63
|
get canvasIndex() { return this.index; }
|
68
64
|
;
|
65
|
+
constructor(layoutIndex, canvasIndex, changeType) {
|
66
|
+
super(canvasIndex, changeType);
|
67
|
+
this._layoutIndex = layoutIndex;
|
68
|
+
}
|
69
69
|
}
|
@@ -13,12 +13,12 @@ import { LogSource } from '../../rich-utils/debug/logger/base-logger/log-source'
|
|
13
13
|
import { HeaderFooterInvalidatorHelper } from './header-footer-invalidator-helper';
|
14
14
|
import { RemoveContentHelper } from './remove-content-helper';
|
15
15
|
export class LayoutInvalidator {
|
16
|
-
constructor(manager) {
|
17
|
-
this.manager = manager;
|
18
|
-
}
|
19
16
|
get model() { return this.manager.model; }
|
20
17
|
get layout() { return this.manager.layout; }
|
21
18
|
get mainSubDoc() { return this.model.mainSubDocument; }
|
19
|
+
constructor(manager) {
|
20
|
+
this.manager = manager;
|
21
|
+
}
|
22
22
|
onContentInserted(subDocumentId, logPosition, length, restartFromParagraphStart) {
|
23
23
|
const subDocument = this.model.subDocuments[subDocumentId];
|
24
24
|
const pages = this.layout.pages;
|
@@ -26,7 +26,7 @@ import { RestartManager } from './restart-manager';
|
|
26
26
|
export interface ILayoutFormatterManagerHolder {
|
27
27
|
layoutFormatterManager: FormatterManager;
|
28
28
|
}
|
29
|
-
export
|
29
|
+
export type BrowserUtils = {
|
30
30
|
MacOSPlatform: boolean;
|
31
31
|
};
|
32
32
|
export declare class FormatterManager extends BatchUpdatableObject {
|
@@ -18,6 +18,8 @@ import { LayoutInvalidator } from '../invalidator/layout-invalidator';
|
|
18
18
|
import { RestartManager } from './restart-manager';
|
19
19
|
import { Browser } from '@devexpress/utils/lib/browser';
|
20
20
|
export class FormatterManager extends BatchUpdatableObject {
|
21
|
+
get activeSubDocument() { return this.activeSubDocumentHolder.activeSubDocument; }
|
22
|
+
get isDocumentOpened() { return this._isDocumentOpened; }
|
21
23
|
constructor(measurer, innerClientProperties, model, layout, activeSubDocumentHolder, bookmarksSettings, documentProtectionSettings, controlHeightProvider, stringResources, layoutChangesListeners, browserUtils) {
|
22
24
|
super();
|
23
25
|
this.formatterProcessID = null;
|
@@ -49,8 +51,6 @@ export class FormatterManager extends BatchUpdatableObject {
|
|
49
51
|
this.anchoredObjectsManager = new AnchoredObjectsManager(this);
|
50
52
|
this.browserUtils = browserUtils !== null && browserUtils !== void 0 ? browserUtils : { MacOSPlatform: Browser.MacOSPlatform };
|
51
53
|
}
|
52
|
-
get activeSubDocument() { return this.activeSubDocumentHolder.activeSubDocument; }
|
53
|
-
get isDocumentOpened() { return this._isDocumentOpened; }
|
54
54
|
dispose() {
|
55
55
|
clearTimeout(this.formatterProcessID);
|
56
56
|
clearTimeout(this.unhideProcessID);
|
@@ -21,15 +21,15 @@ export var BoxBracketsType;
|
|
21
21
|
BoxBracketsType[BoxBracketsType["Close"] = 2] = "Close";
|
22
22
|
})(BoxBracketsType || (BoxBracketsType = {}));
|
23
23
|
export class RowFormatterResult {
|
24
|
+
get rowStartPos() {
|
25
|
+
return this.rowFormatter.rowSizesManager.rowStartPos;
|
26
|
+
}
|
24
27
|
constructor(rowFormatter, minY) {
|
25
28
|
this.rowFormatter = rowFormatter;
|
26
29
|
this.newAnchoredObjects = [];
|
27
30
|
this.row = new LayoutRow(minY);
|
28
31
|
this.startRowFormatting(true);
|
29
32
|
}
|
30
|
-
get rowStartPos() {
|
31
|
-
return this.rowFormatter.rowSizesManager.rowStartPos;
|
32
|
-
}
|
33
33
|
startRowFormatting(deleteAnchoredObjects) {
|
34
34
|
this.flags = new Flag(RowFormatterResultFlag.None);
|
35
35
|
this.row.boxes = [];
|
@@ -22,6 +22,8 @@ export class RowIntervalInfo extends FixedInterval {
|
|
22
22
|
}
|
23
23
|
}
|
24
24
|
export class RowFormattingInfo {
|
25
|
+
get isFloatingIntersectRow() { return !!this.intersectsObjects.length; }
|
26
|
+
get lastNonEmptyInterval() { return this.intervals[this.lastNonEmptyIntervalIndex]; }
|
25
27
|
constructor(minY, height, outerHorizontalRowContentBounds, boundsOfAnchoredOblectsOnThisColumn, tableCell) {
|
26
28
|
this.intervals = [];
|
27
29
|
this.busyIntervals = [];
|
@@ -33,8 +35,6 @@ export class RowFormattingInfo {
|
|
33
35
|
this.tableCell = tableCell;
|
34
36
|
this.lastNonEmptyIntervalIndex = 0;
|
35
37
|
}
|
36
|
-
get isFloatingIntersectRow() { return !!this.intersectsObjects.length; }
|
37
|
-
get lastNonEmptyInterval() { return this.intervals[this.lastNonEmptyIntervalIndex]; }
|
38
38
|
get currInterval() {
|
39
39
|
return this.intervals[this.currIndex];
|
40
40
|
}
|
@@ -5,6 +5,9 @@ import { ParagraphLineSpacingType } from '../../../model/paragraph/paragraph-pro
|
|
5
5
|
import { LineSpacingCalculator } from '../utils/line-spacing-calculator';
|
6
6
|
import { RowHeightState } from './row-height-state';
|
7
7
|
export class RowHeightCalculator {
|
8
|
+
get row() {
|
9
|
+
return this.rowFormatter.row;
|
10
|
+
}
|
8
11
|
constructor(rowFormatter, rowSpacingBeforeApplier) {
|
9
12
|
this.rowFormatter = rowFormatter;
|
10
13
|
this.rowSpacingBeforeApplier = rowSpacingBeforeApplier;
|
@@ -15,9 +18,6 @@ export class RowHeightCalculator {
|
|
15
18
|
this.currState.spacingBefore = 0;
|
16
19
|
this.applyState(this.getState(this.rowFormatter.currBox));
|
17
20
|
}
|
18
|
-
get row() {
|
19
|
-
return this.rowFormatter.row;
|
20
|
-
}
|
21
21
|
getState(box) {
|
22
22
|
let info;
|
23
23
|
switch (box.getType()) {
|
@@ -16,6 +16,14 @@ import { CompatibilityMode } from '../../model/document-model';
|
|
16
16
|
import { IntervalAlgorithms } from '@devexpress/utils/lib/intervals/algorithms';
|
17
17
|
import { FixedInterval } from '@devexpress/utils/lib/intervals/fixed';
|
18
18
|
export class RowTabInfo {
|
19
|
+
get row() {
|
20
|
+
return this.rowFormatter.row;
|
21
|
+
}
|
22
|
+
get currIntervalOrLastNonEmpty() {
|
23
|
+
const currInterval = this.rowFormatter.rowSizesManager.rowFormattingInfo.currInterval;
|
24
|
+
return currInterval ? currInterval : this.rowFormatter.rowSizesManager.rowFormattingInfo.lastNonEmptyInterval;
|
25
|
+
}
|
26
|
+
get currInterval() { return this.rowFormatter.rowSizesManager.rowFormattingInfo.currInterval; }
|
19
27
|
constructor(rowFormatter, paragraphHorizontalBoundsStart) {
|
20
28
|
this.rowFormatter = rowFormatter;
|
21
29
|
this.paragraphHorizontalBoundsStart = paragraphHorizontalBoundsStart;
|
@@ -36,14 +44,6 @@ export class RowTabInfo {
|
|
36
44
|
pos.position += this.paragraphHorizontalBoundsStart;
|
37
45
|
this.restart();
|
38
46
|
}
|
39
|
-
get row() {
|
40
|
-
return this.rowFormatter.row;
|
41
|
-
}
|
42
|
-
get currIntervalOrLastNonEmpty() {
|
43
|
-
const currInterval = this.rowFormatter.rowSizesManager.rowFormattingInfo.currInterval;
|
44
|
-
return currInterval ? currInterval : this.rowFormatter.rowSizesManager.rowFormattingInfo.lastNonEmptyInterval;
|
45
|
-
}
|
46
|
-
get currInterval() { return this.rowFormatter.rowSizesManager.rowFormattingInfo.currInterval; }
|
47
47
|
restart() {
|
48
48
|
this.lastTabPosition = null;
|
49
49
|
this.lastTabBoxIndex = -1;
|
@@ -22,7 +22,7 @@ export declare class TableBorderInfoProvider {
|
|
22
22
|
constructor(model: DocumentModel, table: Table, converter: SimpleConverter<number>);
|
23
23
|
static borderConvertToPixels(brdInfo: BorderInfo, converter: SimpleConverter<number>): BorderInfo;
|
24
24
|
}
|
25
|
-
export
|
25
|
+
export type CellBorderConstructor = new (tablePropertiesException: TableProperties, isOutsideBorder: boolean) => TableCellPropertiesMergerBorderBase;
|
26
26
|
export declare class BorderHelper {
|
27
27
|
private colorProvider;
|
28
28
|
private tableInfo;
|
@@ -35,11 +35,6 @@ export class TableBorderInfoProvider {
|
|
35
35
|
}
|
36
36
|
}
|
37
37
|
export class BorderHelper {
|
38
|
-
constructor(tableInfo, model) {
|
39
|
-
this.colorProvider = model.colorProvider;
|
40
|
-
this.tableInfo = tableInfo;
|
41
|
-
this.tblbrdProvider = new TableBorderInfoProvider(model, tableInfo.table, UnitConverter.twipsToPixels);
|
42
|
-
}
|
43
38
|
rowCellSpacing(rowIndex) {
|
44
39
|
return this.tblbrdProvider.cellSpacings[rowIndex];
|
45
40
|
}
|
@@ -48,6 +43,11 @@ export class BorderHelper {
|
|
48
43
|
}
|
49
44
|
get grid() { return this.tableInfo.grid; }
|
50
45
|
get tblStyle() { return this.tableInfo.table.style; }
|
46
|
+
constructor(tableInfo, model) {
|
47
|
+
this.colorProvider = model.colorProvider;
|
48
|
+
this.tableInfo = tableInfo;
|
49
|
+
this.tblbrdProvider = new TableBorderInfoProvider(model, tableInfo.table, UnitConverter.twipsToPixels);
|
50
|
+
}
|
51
51
|
getVerticalBorders() {
|
52
52
|
const verticalBorders = [];
|
53
53
|
const rows = this.grid.table.rows;
|