@syncfusion/ej2-docx 0.0.0-stage → 35.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -2
- package/core.js +4 -0
- package/dist/ej2-docx.umd.min.js +2 -0
- package/dist/ej2-docx.umd.min.js.map +1 -0
- package/dist/es6/ej2-docx.es2015.js +66697 -0
- package/dist/es6/ej2-docx.es2015.js.map +1 -0
- package/dist/es6/ej2-docx.es5.js +77568 -0
- package/dist/es6/ej2-docx.es5.js.map +1 -0
- package/dist/global/ej2-docx.min.js +2 -0
- package/dist/global/ej2-docx.min.js.map +1 -0
- package/dist/global/index.d.ts +5 -0
- package/features.js +4 -0
- package/index.js +4 -0
- package/license +10 -0
- package/package.json +31 -4
- package/src/all.d.ts +50 -0
- package/src/all.js +147 -0
- package/src/core/compat/base64.d.ts +13 -0
- package/src/core/compat/base64.js +90 -0
- package/src/core/compat/object-compat.d.ts +30 -0
- package/src/core/compat/object-compat.js +40 -0
- package/src/core/compat/sha256.d.ts +9 -0
- package/src/core/compat/sha256.js +98 -0
- package/src/core/errors/docx-error.d.ts +89 -0
- package/src/core/errors/docx-error.js +138 -0
- package/src/core/errors/error-codes.d.ts +8 -0
- package/src/core/errors/error-codes.js +0 -0
- package/src/core/errors/index.d.ts +10 -0
- package/src/core/errors/index.js +9 -0
- package/src/core/index.d.ts +12 -0
- package/src/core/index.js +12 -0
- package/src/core/mc/alternate-content.d.ts +7 -0
- package/src/core/mc/alternate-content.js +67 -0
- package/src/core/mc/attributes.d.ts +24 -0
- package/src/core/mc/attributes.js +82 -0
- package/src/core/mc/index.d.ts +7 -0
- package/src/core/mc/index.js +5 -0
- package/src/core/mc/inspect.d.ts +16 -0
- package/src/core/mc/inspect.js +148 -0
- package/src/core/mc/namespaces.d.ts +4 -0
- package/src/core/mc/namespaces.js +4 -0
- package/src/core/mc/scope.d.ts +6 -0
- package/src/core/mc/scope.js +47 -0
- package/src/core/opc/content-types.d.ts +34 -0
- package/src/core/opc/content-types.js +162 -0
- package/src/core/opc/index.d.ts +8 -0
- package/src/core/opc/index.js +4 -0
- package/src/core/opc/package.d.ts +49 -0
- package/src/core/opc/package.js +324 -0
- package/src/core/opc/part-name.d.ts +47 -0
- package/src/core/opc/part-name.js +205 -0
- package/src/core/opc/relationships.d.ts +46 -0
- package/src/core/opc/relationships.js +212 -0
- package/src/core/preservation/index.d.ts +2 -0
- package/src/core/preservation/index.js +1 -0
- package/src/core/preservation/opaque-body.d.ts +16 -0
- package/src/core/preservation/opaque-body.js +69 -0
- package/src/core/registry/block-handlers.d.ts +30 -0
- package/src/core/registry/block-handlers.js +36 -0
- package/src/core/registry/create-defaults.d.ts +39 -0
- package/src/core/registry/create-defaults.js +42 -0
- package/src/core/registry/feature-registry.d.ts +20 -0
- package/src/core/registry/feature-registry.js +29 -0
- package/src/core/registry/index.d.ts +9 -0
- package/src/core/registry/index.js +8 -0
- package/src/core/registry/inline-handlers.d.ts +20 -0
- package/src/core/registry/inline-handlers.js +30 -0
- package/src/core/registry/materialize-handlers.d.ts +35 -0
- package/src/core/registry/materialize-handlers.js +75 -0
- package/src/core/registry/multi-part-handlers.d.ts +37 -0
- package/src/core/registry/multi-part-handlers.js +206 -0
- package/src/core/registry/package-part-handlers.d.ts +28 -0
- package/src/core/registry/package-part-handlers.js +190 -0
- package/src/core/registry/part-handlers.d.ts +24 -0
- package/src/core/registry/part-handlers.js +172 -0
- package/src/core/registry/run-leaf-handlers.d.ts +26 -0
- package/src/core/registry/run-leaf-handlers.js +72 -0
- package/src/core/security/limits.d.ts +40 -0
- package/src/core/security/limits.js +26 -0
- package/src/core/xml/index.d.ts +7 -0
- package/src/core/xml/index.js +3 -0
- package/src/core/xml/model.d.ts +66 -0
- package/src/core/xml/model.js +17 -0
- package/src/core/xml/parse.d.ts +12 -0
- package/src/core/xml/parse.js +382 -0
- package/src/core/xml/serialize.d.ts +6 -0
- package/src/core/xml/serialize.js +93 -0
- package/src/core/zip/crc32.d.ts +2 -0
- package/src/core/zip/crc32.js +25 -0
- package/src/core/zip/deflate.d.ts +6 -0
- package/src/core/zip/deflate.js +6 -0
- package/src/core/zip/index.d.ts +10 -0
- package/src/core/zip/index.js +4 -0
- package/src/core/zip/inflate-raw.d.ts +17 -0
- package/src/core/zip/inflate-raw.js +450 -0
- package/src/core/zip/names.d.ts +6 -0
- package/src/core/zip/names.js +52 -0
- package/src/core/zip/read.d.ts +8 -0
- package/src/core/zip/read.js +262 -0
- package/src/core/zip/write.d.ts +7 -0
- package/src/core/zip/write.js +189 -0
- package/src/core/zip/zip-entry.d.ts +4 -0
- package/src/core/zip/zip-entry.js +0 -0
- package/src/features/bibliography/index.d.ts +100 -0
- package/src/features/bibliography/index.js +290 -0
- package/src/features/bookmarks/index.d.ts +331 -0
- package/src/features/bookmarks/index.js +1009 -0
- package/src/features/comments/comment-extensions.d.ts +157 -0
- package/src/features/comments/comment-extensions.js +356 -0
- package/src/features/comments/index.d.ts +579 -0
- package/src/features/comments/index.js +1727 -0
- package/src/features/content-controls/index.d.ts +821 -0
- package/src/features/content-controls/index.js +2857 -0
- package/src/features/custom-xml/index.d.ts +236 -0
- package/src/features/custom-xml/index.js +661 -0
- package/src/features/document/alignment.d.ts +23 -0
- package/src/features/document/alignment.js +36 -0
- package/src/features/document/alt-chunk.d.ts +103 -0
- package/src/features/document/alt-chunk.js +221 -0
- package/src/features/document/assert-never.d.ts +1 -0
- package/src/features/document/assert-never.js +4 -0
- package/src/features/document/augmentations.d.ts +578 -0
- package/src/features/document/augmentations.js +0 -0
- package/src/features/document/body-always-on.d.ts +36 -0
- package/src/features/document/body-always-on.js +66 -0
- package/src/features/document/body-blocks.d.ts +7 -0
- package/src/features/document/body-blocks.js +78 -0
- package/src/features/document/body-item-adapters.d.ts +62 -0
- package/src/features/document/body-item-adapters.js +97 -0
- package/src/features/document/body-item-collection.d.ts +151 -0
- package/src/features/document/body-item-collection.js +440 -0
- package/src/features/document/body-item.d.ts +35 -0
- package/src/features/document/body-item.js +8 -0
- package/src/features/document/body.d.ts +150 -0
- package/src/features/document/body.js +263 -0
- package/src/features/document/character-format.d.ts +413 -0
- package/src/features/document/character-format.js +2054 -0
- package/src/features/document/color.d.ts +178 -0
- package/src/features/document/color.js +495 -0
- package/src/features/document/document.d.ts +410 -0
- package/src/features/document/document.js +1049 -0
- package/src/features/document/element-type.d.ts +68 -0
- package/src/features/document/element-type.js +133 -0
- package/src/features/document/entity-type.d.ts +92 -0
- package/src/features/document/entity-type.js +93 -0
- package/src/features/document/feature-block.d.ts +16 -0
- package/src/features/document/feature-block.js +0 -0
- package/src/features/document/feature-inline.d.ts +13 -0
- package/src/features/document/feature-inline.js +0 -0
- package/src/features/document/feature-multi-package-part.d.ts +19 -0
- package/src/features/document/feature-multi-package-part.js +8 -0
- package/src/features/document/feature-package-level-part.d.ts +18 -0
- package/src/features/document/feature-package-level-part.js +8 -0
- package/src/features/document/feature-package-part.d.ts +14 -0
- package/src/features/document/feature-package-part.js +0 -0
- package/src/features/document/feature-run-leaf.d.ts +9 -0
- package/src/features/document/feature-run-leaf.js +0 -0
- package/src/features/document/headers-footers.d.ts +206 -0
- package/src/features/document/headers-footers.js +384 -0
- package/src/features/document/index.d.ts +41 -0
- package/src/features/document/index.js +34 -0
- package/src/features/document/length.d.ts +152 -0
- package/src/features/document/length.js +245 -0
- package/src/features/document/load-options.d.ts +14 -0
- package/src/features/document/load-options.js +0 -0
- package/src/features/document/locale-ids.d.ts +227 -0
- package/src/features/document/locale-ids.js +485 -0
- package/src/features/document/on-off.d.ts +9 -0
- package/src/features/document/on-off.js +27 -0
- package/src/features/document/page-setup.d.ts +339 -0
- package/src/features/document/page-setup.js +244 -0
- package/src/features/document/paragraph-format.d.ts +880 -0
- package/src/features/document/paragraph-format.js +2807 -0
- package/src/features/document/paragraph-item-collection.d.ts +162 -0
- package/src/features/document/paragraph-item-collection.js +363 -0
- package/src/features/document/paragraph-item.d.ts +83 -0
- package/src/features/document/paragraph-item.js +103 -0
- package/src/features/document/paragraph.d.ts +435 -0
- package/src/features/document/paragraph.js +888 -0
- package/src/features/document/run.d.ts +1 -0
- package/src/features/document/run.js +768 -0
- package/src/features/document/section-partition-flatten.d.ts +124 -0
- package/src/features/document/section-partition-flatten.js +217 -0
- package/src/features/document/section-properties-model.d.ts +13 -0
- package/src/features/document/section-properties-model.js +0 -0
- package/src/features/document/section.d.ts +93 -0
- package/src/features/document/section.js +178 -0
- package/src/features/document/sections.d.ts +103 -0
- package/src/features/document/sections.js +217 -0
- package/src/features/document/sub-super-script.d.ts +23 -0
- package/src/features/document/sub-super-script.js +43 -0
- package/src/features/document/text-range.d.ts +445 -0
- package/src/features/document/text-range.js +1156 -0
- package/src/features/document/typed-body-collections.d.ts +162 -0
- package/src/features/document/typed-body-collections.js +371 -0
- package/src/features/document/underline-style.d.ts +38 -0
- package/src/features/document/underline-style.js +126 -0
- package/src/features/document/units.d.ts +8 -0
- package/src/features/document/units.js +7 -0
- package/src/features/document/wml.d.ts +16 -0
- package/src/features/document/wml.js +67 -0
- package/src/features/drawing/authoring.d.ts +27 -0
- package/src/features/drawing/authoring.js +271 -0
- package/src/features/drawing/body-pr.d.ts +271 -0
- package/src/features/drawing/body-pr.js +663 -0
- package/src/features/drawing/drawing-shape.d.ts +1192 -0
- package/src/features/drawing/drawing-shape.js +3239 -0
- package/src/features/drawing/encode-builders.d.ts +176 -0
- package/src/features/drawing/encode-builders.js +390 -0
- package/src/features/drawing/fill-format.d.ts +52 -0
- package/src/features/drawing/fill-format.js +124 -0
- package/src/features/drawing/host-codec.d.ts +632 -0
- package/src/features/drawing/host-codec.js +2595 -0
- package/src/features/drawing/index.d.ts +13 -0
- package/src/features/drawing/index.js +33 -0
- package/src/features/drawing/line-format.d.ts +76 -0
- package/src/features/drawing/line-format.js +343 -0
- package/src/features/drawing/parse-register.d.ts +50 -0
- package/src/features/drawing/parse-register.js +257 -0
- package/src/features/drawing/residual-utils.d.ts +47 -0
- package/src/features/drawing/residual-utils.js +290 -0
- package/src/features/drawing/shape-types.d.ts +433 -0
- package/src/features/drawing/shape-types.js +437 -0
- package/src/features/drawing/sp-pr.d.ts +396 -0
- package/src/features/drawing/sp-pr.js +610 -0
- package/src/features/drawing/text-frame.d.ts +90 -0
- package/src/features/drawing/text-frame.js +152 -0
- package/src/features/drawing/types.d.ts +352 -0
- package/src/features/drawing/types.js +60 -0
- package/src/features/drawing/wrap-format.d.ts +62 -0
- package/src/features/drawing/wrap-format.js +114 -0
- package/src/features/editable-ranges/index.d.ts +494 -0
- package/src/features/editable-ranges/index.js +1348 -0
- package/src/features/fields/index.d.ts +428 -0
- package/src/features/fields/index.js +2148 -0
- package/src/features/fields/paragraph-field.d.ts +187 -0
- package/src/features/fields/paragraph-field.js +692 -0
- package/src/features/font-table/font-substitution-table.d.ts +75 -0
- package/src/features/font-table/font-substitution-table.js +257 -0
- package/src/features/font-table/font-table-entry.d.ts +255 -0
- package/src/features/font-table/font-table-entry.js +823 -0
- package/src/features/font-table/font-table.d.ts +128 -0
- package/src/features/font-table/font-table.js +313 -0
- package/src/features/font-table/index.d.ts +27 -0
- package/src/features/font-table/index.js +48 -0
- package/src/features/glossary/index.d.ts +97 -0
- package/src/features/glossary/index.js +286 -0
- package/src/features/headers-footers/index.d.ts +506 -0
- package/src/features/headers-footers/index.js +1666 -0
- package/src/features/hyperlinks/index.d.ts +230 -0
- package/src/features/hyperlinks/index.js +685 -0
- package/src/features/images/caption-authoring-api.d.ts +33 -0
- package/src/features/images/caption-authoring-api.js +33 -0
- package/src/features/images/caption-enums.d.ts +52 -0
- package/src/features/images/caption-enums.js +141 -0
- package/src/features/images/caption-host.d.ts +10 -0
- package/src/features/images/caption-host.js +21 -0
- package/src/features/images/captions.d.ts +13 -0
- package/src/features/images/captions.js +142 -0
- package/src/features/images/host-codec.d.ts +103 -0
- package/src/features/images/host-codec.js +720 -0
- package/src/features/images/image-sniff.d.ts +21 -0
- package/src/features/images/image-sniff.js +71 -0
- package/src/features/images/index.d.ts +506 -0
- package/src/features/images/index.js +1429 -0
- package/src/features/images/layout-types.d.ts +232 -0
- package/src/features/images/layout-types.js +294 -0
- package/src/features/images/public-entry.d.ts +9 -0
- package/src/features/images/public-entry.js +9 -0
- package/src/features/index.d.ts +35 -0
- package/src/features/index.js +36 -0
- package/src/features/mail-merge/index.d.ts +113 -0
- package/src/features/mail-merge/index.js +315 -0
- package/src/features/notes/index.d.ts +573 -0
- package/src/features/notes/index.js +1725 -0
- package/src/features/numbering/abstract-numbering.d.ts +90 -0
- package/src/features/numbering/abstract-numbering.js +292 -0
- package/src/features/numbering/index.d.ts +182 -0
- package/src/features/numbering/index.js +668 -0
- package/src/features/numbering/list-format.d.ts +158 -0
- package/src/features/numbering/list-format.js +590 -0
- package/src/features/numbering/list-string.d.ts +7 -0
- package/src/features/numbering/list-string.js +423 -0
- package/src/features/numbering/list-style.d.ts +204 -0
- package/src/features/numbering/list-style.js +1084 -0
- package/src/features/numbering/numbering-instance.d.ts +101 -0
- package/src/features/numbering/numbering-instance.js +329 -0
- package/src/features/numbering/numbering-level.d.ts +118 -0
- package/src/features/numbering/numbering-level.js +501 -0
- package/src/features/numbering/picture-bullet.d.ts +34 -0
- package/src/features/numbering/picture-bullet.js +88 -0
- package/src/features/ole-object/catalog.d.ts +300 -0
- package/src/features/ole-object/catalog.js +908 -0
- package/src/features/ole-object/index.d.ts +526 -0
- package/src/features/ole-object/index.js +1421 -0
- package/src/features/ole-object/relationship.d.ts +27 -0
- package/src/features/ole-object/relationship.js +27 -0
- package/src/features/ole-object/typed-dom.d.ts +186 -0
- package/src/features/ole-object/typed-dom.js +595 -0
- package/src/features/properties/index.d.ts +205 -0
- package/src/features/properties/index.js +549 -0
- package/src/features/revisions/index.d.ts +204 -0
- package/src/features/revisions/index.js +695 -0
- package/src/features/sections/column-collection.d.ts +119 -0
- package/src/features/sections/column-collection.js +478 -0
- package/src/features/sections/column.d.ts +15 -0
- package/src/features/sections/column.js +37 -0
- package/src/features/sections/index.d.ts +91 -0
- package/src/features/sections/index.js +1096 -0
- package/src/features/sections/margins.d.ts +40 -0
- package/src/features/sections/margins.js +105 -0
- package/src/features/sections/page-number-style.d.ts +21 -0
- package/src/features/sections/page-number-style.js +62 -0
- package/src/features/sections/page-orientation.d.ts +10 -0
- package/src/features/sections/page-orientation.js +10 -0
- package/src/features/sections/page-setup.d.ts +435 -0
- package/src/features/sections/page-setup.js +1479 -0
- package/src/features/sections/page-size.d.ts +59 -0
- package/src/features/sections/page-size.js +68 -0
- package/src/features/sections/section-break-code.d.ts +27 -0
- package/src/features/sections/section-break-code.js +60 -0
- package/src/features/sections/section-document-association.d.ts +18 -0
- package/src/features/sections/section-document-association.js +31 -0
- package/src/features/sections/section-validation.d.ts +43 -0
- package/src/features/sections/section-validation.js +97 -0
- package/src/features/settings/attached-template.d.ts +35 -0
- package/src/features/settings/attached-template.js +98 -0
- package/src/features/settings/compat-settings.d.ts +216 -0
- package/src/features/settings/compat-settings.js +508 -0
- package/src/features/settings/document-background.d.ts +59 -0
- package/src/features/settings/document-background.js +131 -0
- package/src/features/settings/document-protection.d.ts +65 -0
- package/src/features/settings/document-protection.js +157 -0
- package/src/features/settings/document-settings-facades.d.ts +108 -0
- package/src/features/settings/document-settings-facades.js +312 -0
- package/src/features/settings/document-settings-values.d.ts +43 -0
- package/src/features/settings/document-settings-values.js +60 -0
- package/src/features/settings/footnote-properties.d.ts +211 -0
- package/src/features/settings/footnote-properties.js +591 -0
- package/src/features/settings/index.d.ts +356 -0
- package/src/features/settings/index.js +829 -0
- package/src/features/settings/settings-children.d.ts +151 -0
- package/src/features/settings/settings-children.js +505 -0
- package/src/features/settings/web-settings.d.ts +88 -0
- package/src/features/settings/web-settings.js +227 -0
- package/src/features/settings/zoom.d.ts +79 -0
- package/src/features/settings/zoom.js +147 -0
- package/src/features/styles/builtin-catalog.d.ts +159 -0
- package/src/features/styles/builtin-catalog.js +963 -0
- package/src/features/styles/builtin-resolver.d.ts +49 -0
- package/src/features/styles/builtin-resolver.js +165 -0
- package/src/features/styles/default-styles.d.ts +37 -0
- package/src/features/styles/default-styles.js +186 -0
- package/src/features/styles/default-theme.d.ts +13 -0
- package/src/features/styles/default-theme.js +13 -0
- package/src/features/styles/doc-defaults.d.ts +58 -0
- package/src/features/styles/doc-defaults.js +178 -0
- package/src/features/styles/formatting-resolver.d.ts +27 -0
- package/src/features/styles/formatting-resolver.js +72 -0
- package/src/features/styles/index.d.ts +256 -0
- package/src/features/styles/index.js +1325 -0
- package/src/features/styles/latent-styles.d.ts +68 -0
- package/src/features/styles/latent-styles.js +305 -0
- package/src/features/styles/paragraph-properties.d.ts +71 -0
- package/src/features/styles/paragraph-properties.js +237 -0
- package/src/features/styles/run-properties.d.ts +93 -0
- package/src/features/styles/run-properties.js +516 -0
- package/src/features/styles/style-base.d.ts +402 -0
- package/src/features/styles/style-base.js +1026 -0
- package/src/features/styles/style-collection.d.ts +264 -0
- package/src/features/styles/style-collection.js +714 -0
- package/src/features/styles/style-format-bridge.d.ts +64 -0
- package/src/features/styles/style-format-bridge.js +100 -0
- package/src/features/styles/style.d.ts +84 -0
- package/src/features/styles/style.js +375 -0
- package/src/features/styles/styles-with-effects.d.ts +71 -0
- package/src/features/styles/styles-with-effects.js +180 -0
- package/src/features/styles/table-style.d.ts +272 -0
- package/src/features/styles/table-style.js +1226 -0
- package/src/features/styles/theme.d.ts +126 -0
- package/src/features/styles/theme.js +377 -0
- package/src/features/tables/border-style-map.d.ts +24 -0
- package/src/features/tables/border-style-map.js +81 -0
- package/src/features/tables/borders.d.ts +126 -0
- package/src/features/tables/borders.js +527 -0
- package/src/features/tables/collections.d.ts +113 -0
- package/src/features/tables/collections.js +261 -0
- package/src/features/tables/format.d.ts +208 -0
- package/src/features/tables/format.js +716 -0
- package/src/features/tables/index.d.ts +597 -0
- package/src/features/tables/index.js +2386 -0
- package/src/features/tables/paddings.d.ts +41 -0
- package/src/features/tables/paddings.js +97 -0
- package/src/features/tables/tbl-pr-positioning.d.ts +27 -0
- package/src/features/tables/tbl-pr-positioning.js +178 -0
- package/src/features/tables/tbl-pr.d.ts +528 -0
- package/src/features/tables/tbl-pr.js +1208 -0
- package/src/features/tables/tc-pr.d.ts +168 -0
- package/src/features/tables/tc-pr.js +553 -0
- package/src/features/tables/tr-pr.d.ts +60 -0
- package/src/features/tables/tr-pr.js +215 -0
- package/src/features/watermark/detect.d.ts +76 -0
- package/src/features/watermark/detect.js +219 -0
- package/src/features/watermark/index.d.ts +28 -0
- package/src/features/watermark/index.js +91 -0
- package/src/features/watermark/logical-store.d.ts +29 -0
- package/src/features/watermark/logical-store.js +31 -0
- package/src/features/watermark/model.d.ts +285 -0
- package/src/features/watermark/model.js +597 -0
- package/src/features/watermark/parse.d.ts +84 -0
- package/src/features/watermark/parse.js +815 -0
- package/src/features/watermark/serialize.d.ts +98 -0
- package/src/features/watermark/serialize.js +1517 -0
- package/src/global.js +1 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +2 -0
|
@@ -0,0 +1,695 @@
|
|
|
1
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
2
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
|
+
if (!m) return o;
|
|
4
|
+
var i = m.call(o), r, ar = [], e;
|
|
5
|
+
try {
|
|
6
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7
|
+
}
|
|
8
|
+
catch (error) { e = { error: error }; }
|
|
9
|
+
finally {
|
|
10
|
+
try {
|
|
11
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
12
|
+
}
|
|
13
|
+
finally { if (e) throw e.error; }
|
|
14
|
+
}
|
|
15
|
+
return ar;
|
|
16
|
+
};
|
|
17
|
+
var __spread = (this && this.__spread) || function () {
|
|
18
|
+
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
|
19
|
+
return ar;
|
|
20
|
+
};
|
|
21
|
+
var __values = (this && this.__values) || function (o) {
|
|
22
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
|
|
23
|
+
if (m) return m.call(o);
|
|
24
|
+
return {
|
|
25
|
+
next: function () {
|
|
26
|
+
if (o && i >= o.length) o = void 0;
|
|
27
|
+
return { value: o && o[i++], done: !o };
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
import { DetachedObjectError } from '../../core/errors/docx-error';
|
|
32
|
+
import { registerAlwaysOnBodyFeatureBootstrap } from '../document/body-always-on';
|
|
33
|
+
import { FeatureInlineParagraphItem, serializeRun, TextRange, } from '../document/text-range';
|
|
34
|
+
import { elementChildren, isWml, wmlAttr, wmlElement } from '../document/wml';
|
|
35
|
+
import { featureId, registerFeature, registerFeatureBlockHandler, registerFeatureInlineHandler, visitParagraphsInDocumentOrder, } from '../../core/registry/index';
|
|
36
|
+
var REVISIONS = featureId('revisions');
|
|
37
|
+
// TS 3.3: plain string-array literals widen to string[] even with a ReadonlyArray annotation.
|
|
38
|
+
var TRACK_CHANGE_LOCAL_NAMES = [
|
|
39
|
+
'ins',
|
|
40
|
+
'del',
|
|
41
|
+
'moveFrom',
|
|
42
|
+
'moveTo',
|
|
43
|
+
];
|
|
44
|
+
function wmlAttribute(el, localName) {
|
|
45
|
+
var __ts33_0;
|
|
46
|
+
return ((__ts33_0 = el.attributes.find(function (a) { return a.localName === localName && (a.namespaceUri === '' || a.prefix === 'w'); })), __ts33_0 == null ? undefined : __ts33_0.value);
|
|
47
|
+
}
|
|
48
|
+
function parseDecimalId(raw) {
|
|
49
|
+
if (raw === undefined || !/^\d+$/.test(raw)) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
return Number.parseInt(raw, 10);
|
|
53
|
+
}
|
|
54
|
+
var TrackChangeRunOwner = /** @class */ (function () {
|
|
55
|
+
function TrackChangeRunOwner() {
|
|
56
|
+
this.runs = [];
|
|
57
|
+
}
|
|
58
|
+
TrackChangeRunOwner.prototype.assertAttachedItem = function (target) {
|
|
59
|
+
if (!(target instanceof TextRange) || this.runs.indexOf(target) < 0) {
|
|
60
|
+
throw new DetachedObjectError('This run is no longer in its track-change wrapper');
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
TrackChangeRunOwner.prototype.appendRun = function () {
|
|
64
|
+
var run = new TextRange(this);
|
|
65
|
+
this.runs = __spread(this.runs, [run]);
|
|
66
|
+
return run;
|
|
67
|
+
};
|
|
68
|
+
TrackChangeRunOwner.prototype.listRuns = function () {
|
|
69
|
+
return this.runs;
|
|
70
|
+
};
|
|
71
|
+
TrackChangeRunOwner.prototype.detachRuns = function () {
|
|
72
|
+
var e_1, _a;
|
|
73
|
+
try {
|
|
74
|
+
for (var _b = __values(this.runs), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
75
|
+
var run = _c.value;
|
|
76
|
+
run.detach();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
80
|
+
finally {
|
|
81
|
+
try {
|
|
82
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
83
|
+
}
|
|
84
|
+
finally { if (e_1) throw e_1.error; }
|
|
85
|
+
}
|
|
86
|
+
this.runs = [];
|
|
87
|
+
};
|
|
88
|
+
TrackChangeRunOwner.prototype.hydrateRuns = function (runs) {
|
|
89
|
+
var e_2, _a;
|
|
90
|
+
this.runs = runs;
|
|
91
|
+
try {
|
|
92
|
+
for (var runs_1 = __values(runs), runs_1_1 = runs_1.next(); !runs_1_1.done; runs_1_1 = runs_1.next()) {
|
|
93
|
+
var run = runs_1_1.value;
|
|
94
|
+
run.attach(this);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
98
|
+
finally {
|
|
99
|
+
try {
|
|
100
|
+
if (runs_1_1 && !runs_1_1.done && (_a = runs_1.return)) _a.call(runs_1);
|
|
101
|
+
}
|
|
102
|
+
finally { if (e_2) throw e_2.error; }
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
return TrackChangeRunOwner;
|
|
106
|
+
}());
|
|
107
|
+
function parseTrackChangeChildren(element, runOwner) {
|
|
108
|
+
var e_3, _a;
|
|
109
|
+
var items = [];
|
|
110
|
+
var parsedRuns = [];
|
|
111
|
+
try {
|
|
112
|
+
for (var _b = __values(elementChildren(element)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
113
|
+
var child = _c.value;
|
|
114
|
+
if (isWml(child, 'r')) {
|
|
115
|
+
var run = TextRange.fromXml(child, runOwner);
|
|
116
|
+
parsedRuns.push(run);
|
|
117
|
+
items.push({ type: 'textRange', run: run });
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
items.push({ type: 'opaque', xml: child });
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
124
|
+
finally {
|
|
125
|
+
try {
|
|
126
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
127
|
+
}
|
|
128
|
+
finally { if (e_3) throw e_3.error; }
|
|
129
|
+
}
|
|
130
|
+
runOwner.hydrateRuns(parsedRuns);
|
|
131
|
+
return items;
|
|
132
|
+
}
|
|
133
|
+
function trackChangeAttributes(changeId, author, date) {
|
|
134
|
+
var attributes = [
|
|
135
|
+
wmlAttr('id', String(changeId)),
|
|
136
|
+
wmlAttr('author', author),
|
|
137
|
+
];
|
|
138
|
+
if (date !== undefined && date.length > 0) {
|
|
139
|
+
attributes.push(wmlAttr('date', date));
|
|
140
|
+
}
|
|
141
|
+
return attributes;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Run- or block-level track change wrapper (`w:ins`, `w:del`, `w:moveFrom`, `w:moveTo`).
|
|
145
|
+
* @private
|
|
146
|
+
*/
|
|
147
|
+
var RunTrackChange = /** @class */ (function () {
|
|
148
|
+
/**
|
|
149
|
+
* @private
|
|
150
|
+
*/
|
|
151
|
+
function RunTrackChange(kind, changeId, author, date, runOwner, items, preservedXml) {
|
|
152
|
+
this.kind = kind;
|
|
153
|
+
this.changeId = changeId;
|
|
154
|
+
this.author = author;
|
|
155
|
+
this.date = date;
|
|
156
|
+
this.runOwner = runOwner;
|
|
157
|
+
this.items = items;
|
|
158
|
+
this.preservedXml = preservedXml;
|
|
159
|
+
}
|
|
160
|
+
Object.defineProperty(RunTrackChange.prototype, "runs", {
|
|
161
|
+
/** Nested runs inside the track-change wrapper. */
|
|
162
|
+
get: function () {
|
|
163
|
+
return this.runOwner.listRuns();
|
|
164
|
+
},
|
|
165
|
+
enumerable: true,
|
|
166
|
+
configurable: true
|
|
167
|
+
});
|
|
168
|
+
Object.defineProperty(RunTrackChange.prototype, "type", {
|
|
169
|
+
/**
|
|
170
|
+
* Product revision type derived from {@link kind}
|
|
171
|
+
* (`ins` → insertion, `del` → deletion, move kinds unchanged).
|
|
172
|
+
*/
|
|
173
|
+
get: function () {
|
|
174
|
+
return revisionTypeForKind(this.kind);
|
|
175
|
+
},
|
|
176
|
+
enumerable: true,
|
|
177
|
+
configurable: true
|
|
178
|
+
});
|
|
179
|
+
Object.defineProperty(RunTrackChange.prototype, "text", {
|
|
180
|
+
/**
|
|
181
|
+
* Concatenated text of nested modeled runs. Opaque children contribute nothing.
|
|
182
|
+
*/
|
|
183
|
+
get: function () {
|
|
184
|
+
return revisionText(this);
|
|
185
|
+
},
|
|
186
|
+
enumerable: true,
|
|
187
|
+
configurable: true
|
|
188
|
+
});
|
|
189
|
+
/**
|
|
190
|
+
* @private
|
|
191
|
+
*/
|
|
192
|
+
RunTrackChange.prototype.releaseContent = function () {
|
|
193
|
+
this.runOwner.detachRuns();
|
|
194
|
+
};
|
|
195
|
+
RunTrackChange.prototype.toOpenXml = function () {
|
|
196
|
+
var e_4, _a;
|
|
197
|
+
if (this.preservedXml !== undefined) {
|
|
198
|
+
return this.preservedXml;
|
|
199
|
+
}
|
|
200
|
+
var children = [];
|
|
201
|
+
try {
|
|
202
|
+
for (var _b = __values(this.items), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
203
|
+
var item = _c.value;
|
|
204
|
+
if (item.type === 'textRange') {
|
|
205
|
+
children.push(serializeRun(item.run));
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
children.push(item.xml);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
213
|
+
finally {
|
|
214
|
+
try {
|
|
215
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
216
|
+
}
|
|
217
|
+
finally { if (e_4) throw e_4.error; }
|
|
218
|
+
}
|
|
219
|
+
return wmlElement(this.kind, {
|
|
220
|
+
attributes: trackChangeAttributes(this.changeId, this.author, this.date),
|
|
221
|
+
children: children,
|
|
222
|
+
});
|
|
223
|
+
};
|
|
224
|
+
return RunTrackChange;
|
|
225
|
+
}());
|
|
226
|
+
export { RunTrackChange };
|
|
227
|
+
/**
|
|
228
|
+
* Live view over a modeled {@link RunTrackChange} (inline or block).
|
|
229
|
+
*
|
|
230
|
+
* Exposes author/date/type/text and readonly nested runs without duplicating state.
|
|
231
|
+
* Accept/reject is intentionally not part of this MVP.
|
|
232
|
+
* @private
|
|
233
|
+
*/
|
|
234
|
+
var RevisionRange = /** @class */ (function () {
|
|
235
|
+
/**
|
|
236
|
+
* @private
|
|
237
|
+
*/
|
|
238
|
+
function RevisionRange(change) {
|
|
239
|
+
this.change = change;
|
|
240
|
+
}
|
|
241
|
+
Object.defineProperty(RevisionRange.prototype, "trackChange", {
|
|
242
|
+
/** Underlying track-change model (same object as body/paragraph feature value). */
|
|
243
|
+
get: function () {
|
|
244
|
+
return this.change;
|
|
245
|
+
},
|
|
246
|
+
enumerable: true,
|
|
247
|
+
configurable: true
|
|
248
|
+
});
|
|
249
|
+
Object.defineProperty(RevisionRange.prototype, "changeId", {
|
|
250
|
+
/** `@w:id` on the track-change wrapper. */
|
|
251
|
+
get: function () {
|
|
252
|
+
return this.change.changeId;
|
|
253
|
+
},
|
|
254
|
+
enumerable: true,
|
|
255
|
+
configurable: true
|
|
256
|
+
});
|
|
257
|
+
Object.defineProperty(RevisionRange.prototype, "author", {
|
|
258
|
+
/** `@w:author`. */
|
|
259
|
+
get: function () {
|
|
260
|
+
return this.change.author;
|
|
261
|
+
},
|
|
262
|
+
enumerable: true,
|
|
263
|
+
configurable: true
|
|
264
|
+
});
|
|
265
|
+
Object.defineProperty(RevisionRange.prototype, "date", {
|
|
266
|
+
/** Optional `@w:date`. */
|
|
267
|
+
get: function () {
|
|
268
|
+
return this.change.date;
|
|
269
|
+
},
|
|
270
|
+
enumerable: true,
|
|
271
|
+
configurable: true
|
|
272
|
+
});
|
|
273
|
+
Object.defineProperty(RevisionRange.prototype, "kind", {
|
|
274
|
+
/** OOXML local kind (`ins` / `del` / `moveFrom` / `moveTo`). */
|
|
275
|
+
get: function () {
|
|
276
|
+
return this.change.kind;
|
|
277
|
+
},
|
|
278
|
+
enumerable: true,
|
|
279
|
+
configurable: true
|
|
280
|
+
});
|
|
281
|
+
Object.defineProperty(RevisionRange.prototype, "type", {
|
|
282
|
+
/** Product type mapped from {@link kind}. */
|
|
283
|
+
get: function () {
|
|
284
|
+
return this.change.type;
|
|
285
|
+
},
|
|
286
|
+
enumerable: true,
|
|
287
|
+
configurable: true
|
|
288
|
+
});
|
|
289
|
+
Object.defineProperty(RevisionRange.prototype, "runs", {
|
|
290
|
+
/** Nested modeled runs (readonly). */
|
|
291
|
+
get: function () {
|
|
292
|
+
return this.change.runs;
|
|
293
|
+
},
|
|
294
|
+
enumerable: true,
|
|
295
|
+
configurable: true
|
|
296
|
+
});
|
|
297
|
+
Object.defineProperty(RevisionRange.prototype, "text", {
|
|
298
|
+
/** Concatenated nested run text; opaque children omitted. */
|
|
299
|
+
get: function () {
|
|
300
|
+
return this.change.text;
|
|
301
|
+
},
|
|
302
|
+
enumerable: true,
|
|
303
|
+
configurable: true
|
|
304
|
+
});
|
|
305
|
+
return RevisionRange;
|
|
306
|
+
}());
|
|
307
|
+
export { RevisionRange };
|
|
308
|
+
/**
|
|
309
|
+
* Map track-change kind to product {@link RevisionType}.
|
|
310
|
+
* @private
|
|
311
|
+
*/
|
|
312
|
+
export function revisionTypeForKind(kind) {
|
|
313
|
+
switch (kind) {
|
|
314
|
+
case 'ins':
|
|
315
|
+
return 'insertion';
|
|
316
|
+
case 'del':
|
|
317
|
+
return 'deletion';
|
|
318
|
+
case 'moveFrom':
|
|
319
|
+
return 'moveFrom';
|
|
320
|
+
case 'moveTo':
|
|
321
|
+
return 'moveTo';
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Concatenated text of nested runs in a track-change wrapper.
|
|
326
|
+
* @private
|
|
327
|
+
*/
|
|
328
|
+
export function revisionText(change) {
|
|
329
|
+
var e_5, _a;
|
|
330
|
+
var out = '';
|
|
331
|
+
try {
|
|
332
|
+
for (var _b = __values(change.runs), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
333
|
+
var run = _c.value;
|
|
334
|
+
out += run.text;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
338
|
+
finally {
|
|
339
|
+
try {
|
|
340
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
341
|
+
}
|
|
342
|
+
finally { if (e_5) throw e_5.error; }
|
|
343
|
+
}
|
|
344
|
+
return out;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Thin {@link RevisionRange} over an existing track-change model.
|
|
348
|
+
* @private
|
|
349
|
+
*/
|
|
350
|
+
export function revisionRangeFor(change) {
|
|
351
|
+
return new RevisionRange(change);
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Move range start marker (`w:moveFromRangeStart` or `w:moveToRangeStart`).
|
|
355
|
+
*
|
|
356
|
+
* @public
|
|
357
|
+
*/
|
|
358
|
+
var MoveRangeStart = /** @class */ (function () {
|
|
359
|
+
/**
|
|
360
|
+
* @private
|
|
361
|
+
*/
|
|
362
|
+
function MoveRangeStart(moveKind, markerId, name, author, date) {
|
|
363
|
+
this.moveKind = moveKind;
|
|
364
|
+
this.markerId = markerId;
|
|
365
|
+
this.name = name;
|
|
366
|
+
this.author = author;
|
|
367
|
+
this.date = date;
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* @private
|
|
371
|
+
*/
|
|
372
|
+
MoveRangeStart.prototype.releaseContent = function () {
|
|
373
|
+
return;
|
|
374
|
+
};
|
|
375
|
+
MoveRangeStart.prototype.toOpenXml = function () {
|
|
376
|
+
var localName = this.moveKind === 'moveFrom' ? 'moveFromRangeStart' : 'moveToRangeStart';
|
|
377
|
+
return wmlElement(localName, {
|
|
378
|
+
attributes: [
|
|
379
|
+
wmlAttr('id', String(this.markerId)),
|
|
380
|
+
wmlAttr('name', this.name),
|
|
381
|
+
wmlAttr('author', this.author),
|
|
382
|
+
wmlAttr('date', this.date),
|
|
383
|
+
],
|
|
384
|
+
});
|
|
385
|
+
};
|
|
386
|
+
return MoveRangeStart;
|
|
387
|
+
}());
|
|
388
|
+
export { MoveRangeStart };
|
|
389
|
+
/**
|
|
390
|
+
* Move range end marker (`w:moveFromRangeEnd` or `w:moveToRangeEnd`).
|
|
391
|
+
*
|
|
392
|
+
* @private
|
|
393
|
+
*/
|
|
394
|
+
var MoveRangeEnd = /** @class */ (function () {
|
|
395
|
+
/**
|
|
396
|
+
* @private
|
|
397
|
+
*/
|
|
398
|
+
function MoveRangeEnd(moveKind, markerId) {
|
|
399
|
+
this.moveKind = moveKind;
|
|
400
|
+
this.markerId = markerId;
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* @private
|
|
404
|
+
*/
|
|
405
|
+
MoveRangeEnd.prototype.releaseContent = function () {
|
|
406
|
+
return;
|
|
407
|
+
};
|
|
408
|
+
MoveRangeEnd.prototype.toOpenXml = function () {
|
|
409
|
+
var localName = this.moveKind === 'moveFrom' ? 'moveFromRangeEnd' : 'moveToRangeEnd';
|
|
410
|
+
return wmlElement(localName, { attributes: [wmlAttr('id', String(this.markerId))] });
|
|
411
|
+
};
|
|
412
|
+
return MoveRangeEnd;
|
|
413
|
+
}());
|
|
414
|
+
export { MoveRangeEnd };
|
|
415
|
+
function parseRunTrackChange(element, kind) {
|
|
416
|
+
var changeId = parseDecimalId(wmlAttribute(element, 'id'));
|
|
417
|
+
var author = wmlAttribute(element, 'author');
|
|
418
|
+
if (changeId === undefined || author === undefined || author.length === 0) {
|
|
419
|
+
return new RunTrackChange(kind, -1, '', undefined, new TrackChangeRunOwner(), [], element);
|
|
420
|
+
}
|
|
421
|
+
var runOwner = new TrackChangeRunOwner();
|
|
422
|
+
var items = parseTrackChangeChildren(element, runOwner);
|
|
423
|
+
return new RunTrackChange(kind, changeId, author, wmlAttribute(element, 'date'), runOwner, items, undefined);
|
|
424
|
+
}
|
|
425
|
+
function parseMoveRangeStart(element, moveKind) {
|
|
426
|
+
var localName = moveKind === 'moveFrom' ? 'moveFromRangeStart' : 'moveToRangeStart';
|
|
427
|
+
if (!isWml(element, localName)) {
|
|
428
|
+
return undefined;
|
|
429
|
+
}
|
|
430
|
+
var markerId = parseDecimalId(wmlAttribute(element, 'id'));
|
|
431
|
+
var name = wmlAttribute(element, 'name');
|
|
432
|
+
var author = wmlAttribute(element, 'author');
|
|
433
|
+
var date = wmlAttribute(element, 'date');
|
|
434
|
+
if (markerId === undefined ||
|
|
435
|
+
name === undefined ||
|
|
436
|
+
name.length === 0 ||
|
|
437
|
+
author === undefined ||
|
|
438
|
+
author.length === 0 ||
|
|
439
|
+
date === undefined ||
|
|
440
|
+
date.length === 0) {
|
|
441
|
+
return undefined;
|
|
442
|
+
}
|
|
443
|
+
return new MoveRangeStart(moveKind, markerId, name, author, date);
|
|
444
|
+
}
|
|
445
|
+
function parseMoveRangeEnd(element, moveKind) {
|
|
446
|
+
var localName = moveKind === 'moveFrom' ? 'moveFromRangeEnd' : 'moveToRangeEnd';
|
|
447
|
+
if (!isWml(element, localName)) {
|
|
448
|
+
return undefined;
|
|
449
|
+
}
|
|
450
|
+
var markerId = parseDecimalId(wmlAttribute(element, 'id'));
|
|
451
|
+
if (markerId === undefined) {
|
|
452
|
+
return undefined;
|
|
453
|
+
}
|
|
454
|
+
return new MoveRangeEnd(moveKind, markerId);
|
|
455
|
+
}
|
|
456
|
+
function trackChangesInInlines(inlines) {
|
|
457
|
+
var e_6, _a;
|
|
458
|
+
var found = [];
|
|
459
|
+
try {
|
|
460
|
+
for (var inlines_1 = __values(inlines), inlines_1_1 = inlines_1.next(); !inlines_1_1.done; inlines_1_1 = inlines_1.next()) {
|
|
461
|
+
var inline = inlines_1_1.value;
|
|
462
|
+
if (inline instanceof FeatureInlineParagraphItem && inline.value instanceof RunTrackChange) {
|
|
463
|
+
found.push(inline.value);
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
468
|
+
finally {
|
|
469
|
+
try {
|
|
470
|
+
if (inlines_1_1 && !inlines_1_1.done && (_a = inlines_1.return)) _a.call(inlines_1);
|
|
471
|
+
}
|
|
472
|
+
finally { if (e_6) throw e_6.error; }
|
|
473
|
+
}
|
|
474
|
+
return found;
|
|
475
|
+
}
|
|
476
|
+
function moveMarkersInInlines(inlines) {
|
|
477
|
+
var e_7, _a;
|
|
478
|
+
var found = [];
|
|
479
|
+
try {
|
|
480
|
+
for (var inlines_2 = __values(inlines), inlines_2_1 = inlines_2.next(); !inlines_2_1.done; inlines_2_1 = inlines_2.next()) {
|
|
481
|
+
var inline = inlines_2_1.value;
|
|
482
|
+
if (!(inline instanceof FeatureInlineParagraphItem)) {
|
|
483
|
+
continue;
|
|
484
|
+
}
|
|
485
|
+
if (inline.value instanceof MoveRangeStart || inline.value instanceof MoveRangeEnd) {
|
|
486
|
+
found.push(inline.value);
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
491
|
+
finally {
|
|
492
|
+
try {
|
|
493
|
+
if (inlines_2_1 && !inlines_2_1.done && (_a = inlines_2.return)) _a.call(inlines_2);
|
|
494
|
+
}
|
|
495
|
+
finally { if (e_7) throw e_7.error; }
|
|
496
|
+
}
|
|
497
|
+
return found;
|
|
498
|
+
}
|
|
499
|
+
var registered = false;
|
|
500
|
+
/**
|
|
501
|
+
* @private
|
|
502
|
+
* Test hook */
|
|
503
|
+
export function resetRevisionsFeatureForTests() {
|
|
504
|
+
registered = false;
|
|
505
|
+
}
|
|
506
|
+
function registerTrackChangeHandler(kind) {
|
|
507
|
+
registerFeatureInlineHandler({
|
|
508
|
+
featureId: REVISIONS,
|
|
509
|
+
wmlLocalName: kind,
|
|
510
|
+
tryParse: function (element) {
|
|
511
|
+
if (!isWml(element, kind)) {
|
|
512
|
+
return undefined;
|
|
513
|
+
}
|
|
514
|
+
return parseRunTrackChange(element, kind);
|
|
515
|
+
},
|
|
516
|
+
});
|
|
517
|
+
registerFeatureBlockHandler({
|
|
518
|
+
featureId: REVISIONS,
|
|
519
|
+
wmlLocalName: kind,
|
|
520
|
+
tryParse: function (element, ctx) {
|
|
521
|
+
void ctx;
|
|
522
|
+
if (!isWml(element, kind)) {
|
|
523
|
+
return undefined;
|
|
524
|
+
}
|
|
525
|
+
return parseRunTrackChange(element, kind);
|
|
526
|
+
},
|
|
527
|
+
});
|
|
528
|
+
}
|
|
529
|
+
/**
|
|
530
|
+
* @private
|
|
531
|
+
* Register track-change and move-range handlers. Idempotent. */
|
|
532
|
+
export function registerRevisionsFeature() {
|
|
533
|
+
var e_8, _a;
|
|
534
|
+
if (registered) {
|
|
535
|
+
return;
|
|
536
|
+
}
|
|
537
|
+
registered = true;
|
|
538
|
+
registerFeature({ id: REVISIONS });
|
|
539
|
+
try {
|
|
540
|
+
for (var TRACK_CHANGE_LOCAL_NAMES_1 = __values(TRACK_CHANGE_LOCAL_NAMES), TRACK_CHANGE_LOCAL_NAMES_1_1 = TRACK_CHANGE_LOCAL_NAMES_1.next(); !TRACK_CHANGE_LOCAL_NAMES_1_1.done; TRACK_CHANGE_LOCAL_NAMES_1_1 = TRACK_CHANGE_LOCAL_NAMES_1.next()) {
|
|
541
|
+
var kind = TRACK_CHANGE_LOCAL_NAMES_1_1.value;
|
|
542
|
+
registerTrackChangeHandler(kind);
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
catch (e_8_1) { e_8 = { error: e_8_1 }; }
|
|
546
|
+
finally {
|
|
547
|
+
try {
|
|
548
|
+
if (TRACK_CHANGE_LOCAL_NAMES_1_1 && !TRACK_CHANGE_LOCAL_NAMES_1_1.done && (_a = TRACK_CHANGE_LOCAL_NAMES_1.return)) _a.call(TRACK_CHANGE_LOCAL_NAMES_1);
|
|
549
|
+
}
|
|
550
|
+
finally { if (e_8) throw e_8.error; }
|
|
551
|
+
}
|
|
552
|
+
registerFeatureInlineHandler({
|
|
553
|
+
featureId: REVISIONS,
|
|
554
|
+
wmlLocalName: 'moveFromRangeStart',
|
|
555
|
+
tryParse: function (element) {
|
|
556
|
+
return parseMoveRangeStart(element, 'moveFrom');
|
|
557
|
+
},
|
|
558
|
+
});
|
|
559
|
+
registerFeatureInlineHandler({
|
|
560
|
+
featureId: REVISIONS,
|
|
561
|
+
wmlLocalName: 'moveFromRangeEnd',
|
|
562
|
+
tryParse: function (element) {
|
|
563
|
+
return parseMoveRangeEnd(element, 'moveFrom');
|
|
564
|
+
},
|
|
565
|
+
});
|
|
566
|
+
registerFeatureInlineHandler({
|
|
567
|
+
featureId: REVISIONS,
|
|
568
|
+
wmlLocalName: 'moveToRangeStart',
|
|
569
|
+
tryParse: function (element) {
|
|
570
|
+
return parseMoveRangeStart(element, 'moveTo');
|
|
571
|
+
},
|
|
572
|
+
});
|
|
573
|
+
registerFeatureInlineHandler({
|
|
574
|
+
featureId: REVISIONS,
|
|
575
|
+
wmlLocalName: 'moveToRangeEnd',
|
|
576
|
+
tryParse: function (element) {
|
|
577
|
+
return parseMoveRangeEnd(element, 'moveTo');
|
|
578
|
+
},
|
|
579
|
+
});
|
|
580
|
+
}
|
|
581
|
+
/**
|
|
582
|
+
* Track-change wrappers in a paragraph, in document order.
|
|
583
|
+
* @private
|
|
584
|
+
*/
|
|
585
|
+
export function runTrackChangesInParagraph(paragraph) {
|
|
586
|
+
return trackChangesInInlines(paragraph.items.toArray());
|
|
587
|
+
}
|
|
588
|
+
/**
|
|
589
|
+
* All modeled run/block track-change wrappers in the document body, in document order.
|
|
590
|
+
*
|
|
591
|
+
* Walks top-level body blocks so block-level `w:ins`/`w:del` between paragraphs are
|
|
592
|
+
* included; also visits nested feature paragraphs registered with a block walker.
|
|
593
|
+
* Move range markers are separate ({@link moveRangeMarkersInParagraph}) — pairing UX deferred.
|
|
594
|
+
* @private
|
|
595
|
+
*/
|
|
596
|
+
export function runTrackChangesInDocument(document) {
|
|
597
|
+
var e_9, _a, e_10, _b;
|
|
598
|
+
var found = [];
|
|
599
|
+
var seen = new Set();
|
|
600
|
+
var push = function (change) {
|
|
601
|
+
if (seen.has(change)) {
|
|
602
|
+
return;
|
|
603
|
+
}
|
|
604
|
+
seen.add(change);
|
|
605
|
+
found.push(change);
|
|
606
|
+
};
|
|
607
|
+
try {
|
|
608
|
+
for (var _c = __values(document.listBlocks()), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
609
|
+
var block = _d.value;
|
|
610
|
+
if (block.type === 'paragraph') {
|
|
611
|
+
try {
|
|
612
|
+
for (var _e = __values(runTrackChangesInParagraph(block.paragraph)), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
613
|
+
var change = _f.value;
|
|
614
|
+
push(change);
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
catch (e_10_1) { e_10 = { error: e_10_1 }; }
|
|
618
|
+
finally {
|
|
619
|
+
try {
|
|
620
|
+
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
621
|
+
}
|
|
622
|
+
finally { if (e_10) throw e_10.error; }
|
|
623
|
+
}
|
|
624
|
+
continue;
|
|
625
|
+
}
|
|
626
|
+
if (block.type === 'feature' && block.value instanceof RunTrackChange) {
|
|
627
|
+
push(block.value);
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
catch (e_9_1) { e_9 = { error: e_9_1 }; }
|
|
632
|
+
finally {
|
|
633
|
+
try {
|
|
634
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
635
|
+
}
|
|
636
|
+
finally { if (e_9) throw e_9.error; }
|
|
637
|
+
}
|
|
638
|
+
// Nested paragraphs inside other feature blocks (tables, SDT, …) when walkers exist.
|
|
639
|
+
visitParagraphsInDocumentOrder(document, function (paragraph) {
|
|
640
|
+
var e_11, _a;
|
|
641
|
+
try {
|
|
642
|
+
for (var _b = __values(runTrackChangesInParagraph(paragraph)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
643
|
+
var change = _c.value;
|
|
644
|
+
push(change);
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
catch (e_11_1) { e_11 = { error: e_11_1 }; }
|
|
648
|
+
finally {
|
|
649
|
+
try {
|
|
650
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
651
|
+
}
|
|
652
|
+
finally { if (e_11) throw e_11.error; }
|
|
653
|
+
}
|
|
654
|
+
});
|
|
655
|
+
return found;
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* WordDocument-order {@link RevisionRange} views for every modeled track change.
|
|
659
|
+
* @private
|
|
660
|
+
*/
|
|
661
|
+
export function revisionsInDocument(document) {
|
|
662
|
+
return runTrackChangesInDocument(document).map(function (change) { return new RevisionRange(change); });
|
|
663
|
+
}
|
|
664
|
+
/**
|
|
665
|
+
* Move range markers in a paragraph, in document order.
|
|
666
|
+
* @private
|
|
667
|
+
*/
|
|
668
|
+
export function moveRangeMarkersInParagraph(paragraph) {
|
|
669
|
+
return moveMarkersInInlines(paragraph.items.toArray());
|
|
670
|
+
}
|
|
671
|
+
/**
|
|
672
|
+
* Whether inline content is a modeled run track change from this module.
|
|
673
|
+
* @private
|
|
674
|
+
*/
|
|
675
|
+
export function isRunTrackChangeInline(inline) {
|
|
676
|
+
return (inline instanceof FeatureInlineParagraphItem &&
|
|
677
|
+
inline.featureId === REVISIONS &&
|
|
678
|
+
inline.value instanceof RunTrackChange);
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Whether inline content is a modeled move range marker from this module.
|
|
682
|
+
* @private
|
|
683
|
+
*/
|
|
684
|
+
export function isMoveRangeMarkerInline(inline) {
|
|
685
|
+
return (inline instanceof FeatureInlineParagraphItem &&
|
|
686
|
+
inline.featureId === REVISIONS &&
|
|
687
|
+
(inline.value instanceof MoveRangeStart || inline.value instanceof MoveRangeEnd));
|
|
688
|
+
}
|
|
689
|
+
// Always-on on the main `@syncfusion/ej2-docx` entry: track-change inline/block handlers and
|
|
690
|
+
// move-range markers re-arm after test handler resets via WordDocument.create /
|
|
691
|
+
// fromPackage.
|
|
692
|
+
registerAlwaysOnBodyFeatureBootstrap(function () {
|
|
693
|
+
registerRevisionsFeature();
|
|
694
|
+
});
|
|
695
|
+
registerRevisionsFeature();
|