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.
Files changed (315) hide show
  1. package/bin/gulpfile.js +1 -1
  2. package/bin/index-custom.js +1 -1
  3. package/bin/localization-builder.js +1 -1
  4. package/bin/nspell-index.js +1 -1
  5. package/bin/nspell.webpack.config.js +1 -1
  6. package/bin/webpack-externals.js +1 -1
  7. package/bin/webpack.config.js +1 -1
  8. package/dist/dx.richedit.d.ts +12 -1
  9. package/dist/dx.richedit.js +1174 -907
  10. package/dist/dx.richedit.min.js +2 -2
  11. package/index.d.ts +1 -1
  12. package/index.js +1 -1
  13. package/lib/client/api/loading-panel.js +3 -3
  14. package/lib/client/bars/rich-edit-ribbon/ribbon-items-data.d.ts +2 -2
  15. package/lib/client/bars/rich-edit-ribbon/ribbon-items-data.js +2 -1
  16. package/lib/client/client-rich-edit.d.ts +1 -0
  17. package/lib/client/client-rich-edit.js +15 -11
  18. package/lib/client/commands/commands.js +3 -0
  19. package/lib/client/commands/new-document-command.js +2 -1
  20. package/lib/client/commands/open-document-command.d.ts +1 -1
  21. package/lib/client/default-localization.js +2 -0
  22. package/lib/client/dialogs/dialog-base.js +3 -3
  23. package/lib/client/document-processor/public/processor.js +3 -3
  24. package/lib/client/formats/docx/export/data.js +5 -5
  25. package/lib/client/formats/docx/export/exporters/base/sections.js +4 -4
  26. package/lib/client/formats/docx/export/exporters/base.js +1 -1
  27. package/lib/client/formats/docx/export/exporters/content-types.js +4 -4
  28. package/lib/client/formats/docx/export/exporters/relations/relation-collection.js +1 -1
  29. package/lib/client/formats/docx/export/exporters/sub-document/base-sub-document.d.ts +1 -1
  30. package/lib/client/formats/docx/export/exporters/sub-document/base-sub-document.js +3 -3
  31. package/lib/client/formats/docx/export/exporters/sub-document/header-footer-sub-document-exporter.js +1 -1
  32. package/lib/client/formats/docx/import/data.js +2 -2
  33. package/lib/client/formats/docx/import/destination/character-properties/run-properties-base-destination.js +1 -1
  34. package/lib/client/formats/docx/import/destination/destination.d.ts +2 -2
  35. package/lib/client/formats/docx/import/destination/destination.js +7 -7
  36. package/lib/client/formats/docx/import/destination/drawing/drawing-anchor-position-destination.js +9 -9
  37. package/lib/client/formats/docx/import/destination/drawing/drawing-anchor-relative-size-destination.js +6 -6
  38. package/lib/client/formats/docx/import/destination/drawing/drawing-destination.js +38 -38
  39. package/lib/client/formats/docx/import/destination/drawing/non-visual-pucture-properties-destination.js +3 -3
  40. package/lib/client/formats/docx/import/destination/drawing/shape-properties-destination.js +9 -9
  41. package/lib/client/formats/docx/import/destination/notes/note-destination.d.ts +1 -1
  42. package/lib/client/formats/docx/import/destination/notes/note-properties-destination.js +3 -3
  43. package/lib/client/formats/docx/import/destination/numbering/numberings-destination.js +15 -15
  44. package/lib/client/formats/docx/import/destination/paragraph/paragraph-destination.js +3 -3
  45. package/lib/client/formats/docx/import/destination/paragraph-properties/paragraph-numbering-reference-destination.js +5 -5
  46. package/lib/client/formats/docx/import/destination/paragraph-properties/paragraph-properties-base-destination.js +3 -3
  47. package/lib/client/formats/docx/import/destination/paragraph-properties/paragraph-properties-destination.js +7 -7
  48. package/lib/client/formats/docx/import/destination/relationships/relationships-destination.js +3 -3
  49. package/lib/client/formats/docx/import/destination/runs/inline-object-destination.js +3 -3
  50. package/lib/client/formats/docx/import/destination/style/destinations/style-paragraph-properties-destination.js +4 -4
  51. package/lib/client/formats/docx/import/destination/table/cell/properties/table-cell-properties-destination-core.js +3 -3
  52. package/lib/client/formats/docx/import/destination/table/cell/table-cell-destination.js +3 -3
  53. package/lib/client/formats/docx/import/destination/table/row/properties/table-row-properties-destination.js +3 -3
  54. package/lib/client/formats/docx/import/destination/table/row/table-row-destination.js +3 -3
  55. package/lib/client/formats/docx/import/destination/table/table/properties/table-cell-margins-destination.d.ts +1 -1
  56. package/lib/client/formats/docx/import/destination/table/table/properties/table-properties-destination-core.js +3 -3
  57. package/lib/client/formats/docx/import/destination/table/table/properties/table-properties-destination.js +3 -3
  58. package/lib/client/formats/docx/import/destination/table/table/properties/table-properties-leaf-element-destination.js +3 -3
  59. package/lib/client/formats/docx/import/destination/table/table/table-destination.js +3 -3
  60. package/lib/client/formats/docx/import/destination/themes/color/drawing-color-properties-destination-base.js +3 -3
  61. package/lib/client/formats/docx/import/destination/themes/font/office-theme-font-collection-scheme-destination.js +7 -7
  62. package/lib/client/formats/docx/import/destination/vml/v-mlshape-destination.js +7 -7
  63. package/lib/client/formats/docx/import/importers/character-importer.js +6 -6
  64. package/lib/client/formats/docx/import/importers/comments-importer.js +1 -1
  65. package/lib/client/formats/docx/import/importers/field-importer.js +2 -2
  66. package/lib/client/formats/docx/import/importers/table-importer.js +1 -1
  67. package/lib/client/formats/docx/import/list/open-xml-list-level-override.js +3 -3
  68. package/lib/client/formats/docx/import/list/open-xml-numbering-list-info.d.ts +1 -1
  69. package/lib/client/formats/docx/utils/constants.js +6 -6
  70. package/lib/client/formats/docx/zip/xml-reader.js +10 -10
  71. package/lib/client/i-rich-constructor-settings.d.ts +2 -1
  72. package/lib/client/model-api/api-utils/parameter-checker.d.ts +1 -1
  73. package/lib/client/model-api/collections/drawing-object-collection.js +1 -1
  74. package/lib/client/model-api/fonts/control-font.js +4 -4
  75. package/lib/client/model-api/images/image-iterator.js +3 -3
  76. package/lib/client/model-api/interval.js +1 -1
  77. package/lib/client/public/api/authentication-options.js +3 -3
  78. package/lib/client/public/api/range-permission-options.js +3 -3
  79. package/lib/client/public/client-events.d.ts +2 -1
  80. package/lib/client/public/client-events.js +3 -1
  81. package/lib/client/public/commands/enum.d.ts +2 -1
  82. package/lib/client/public/commands/enum.js +1 -0
  83. package/lib/client/public/context-menu/menu.js +5 -5
  84. package/lib/client/public/events.d.ts +6 -0
  85. package/lib/client/public/events.js +8 -0
  86. package/lib/client/public/nusa/external-types.d.ts +2 -2
  87. package/lib/client/public/nusa/settings.js +1 -1
  88. package/lib/client/public/options.d.ts +1 -0
  89. package/lib/client/public/ribbon/item-ids.d.ts +2 -1
  90. package/lib/client/public/ribbon/item-ids.js +1 -0
  91. package/lib/client/public/ribbon/tab.d.ts +4 -4
  92. package/lib/client/public/ribbon/tab.js +2 -2
  93. package/lib/client/public/rich-edit.js +2 -2
  94. package/lib/client/ribbon/i-toolbar-item-options.d.ts +1 -1
  95. package/lib/client/ribbon/ribbon.d.ts +3 -3
  96. package/lib/client/ribbon/ribbon.js +1 -1
  97. package/lib/client/ribbon/toolbar-items/toolbar-interactive-item.d.ts +2 -2
  98. package/lib/client/settings.js +2 -0
  99. package/lib/client/utils/devextreme/devextreme-types.d.ts +17 -17
  100. package/lib/client/utils/devextreme/dxt-utils.d.ts +1 -1
  101. package/lib/common/auto-correct/auto-correct-providers.js +1 -1
  102. package/lib/common/bars/base.js +1 -1
  103. package/lib/common/canvas/canvas-manager.js +3 -3
  104. package/lib/common/canvas/canvas-scroll-manager.js +2 -2
  105. package/lib/common/canvas/listeners/anchor-listener.js +3 -3
  106. package/lib/common/canvas/listeners/resize-box-listener.js +5 -5
  107. package/lib/common/canvas/renderes/canvas-listener/canvas-listener.js +1 -1
  108. package/lib/common/canvas/renderes/change-active-sub-document/renderer.js +10 -10
  109. package/lib/common/canvas/renderes/common/document-renderer.d.ts +1 -1
  110. package/lib/common/canvas/renderes/common/document-renderer.js +1 -1
  111. package/lib/common/canvas/renderes/view-manager.js +3 -3
  112. package/lib/common/client-side-events.d.ts +1 -0
  113. package/lib/common/client-side-events.js +3 -0
  114. package/lib/common/commands/client-command.d.ts +2 -1
  115. package/lib/common/commands/client-command.js +1 -0
  116. package/lib/common/commands/command-base.js +10 -10
  117. package/lib/common/commands/command-manager.js +2 -1
  118. package/lib/common/commands/command-states.js +3 -3
  119. package/lib/common/commands/dialogs/dialog-spell-checker-command.js +3 -3
  120. package/lib/common/commands/document/print-document-on-client-command.js +4 -4
  121. package/lib/common/commands/fields/create-field-command.d.ts +4 -0
  122. package/lib/common/commands/fields/create-field-command.js +8 -0
  123. package/lib/common/commands/fields/open-hyperlink-command.js +3 -2
  124. package/lib/common/commands/floating-objects/floating-object-drag-drop-change-position-command.js +1 -1
  125. package/lib/common/commands/floating-objects/insert-anchored-text-box-command.js +1 -1
  126. package/lib/common/commands/ruler/toggle-show-horizontal-ruler-command.js +3 -1
  127. package/lib/common/commands/text/change-text-case-commands.d.ts +1 -1
  128. package/lib/common/event-manager.js +4 -4
  129. package/lib/common/formats/html/export/html-document-exporter.js +1 -1
  130. package/lib/common/formats/html/export/html-export.d.ts +7 -1
  131. package/lib/common/formats/html/export/html-export.js +38 -38
  132. package/lib/common/formats/html/import/html-importer.d.ts +1 -1
  133. package/lib/common/formats/html/import/html-importer.js +12 -12
  134. package/lib/common/formats/html/import/html-model-inserter.js +4 -4
  135. package/lib/common/formats/html/import/importers/base.js +1 -1
  136. package/lib/common/formats/html/import/importers/list-base.js +4 -4
  137. package/lib/common/formats/html/import/utils/character-properties-utils.js +4 -4
  138. package/lib/common/formats/i-document-importer.d.ts +2 -2
  139. package/lib/common/formats/pdf/exporter.js +3 -3
  140. package/lib/common/formats/pdf/interfaces.d.ts +2 -2
  141. package/lib/common/formats/rtf/export/exporter.js +1 -1
  142. package/lib/common/formats/rtf/export/exporters/rtf-anchored-picture-run-exporter.js +5 -5
  143. package/lib/common/formats/rtf/export/exporters/rtf-content-exporter.d.ts +1 -1
  144. package/lib/common/formats/rtf/export/exporters/rtf-content-exporter.js +2 -2
  145. package/lib/common/formats/rtf/export/rtf-builder.d.ts +2 -2
  146. package/lib/common/formats/rtf/import/destination/base/destination.d.ts +4 -4
  147. package/lib/common/formats/rtf/import/destination/base/destination.js +1 -1
  148. package/lib/common/formats/rtf/import/destination/base/skip-destination.js +3 -3
  149. package/lib/common/formats/rtf/import/destination/base/string-property-base-destination.js +2 -2
  150. package/lib/common/formats/rtf/import/destination/base/string-property-destination.js +2 -2
  151. package/lib/common/formats/rtf/import/destination/base/unicode-destination.js +2 -2
  152. package/lib/common/formats/rtf/import/destination/fields/field-sub-destination.js +1 -1
  153. package/lib/common/formats/rtf/import/destination/fields/table-content-field-destination.js +1 -1
  154. package/lib/common/formats/rtf/import/destination/font-table-destination.js +3 -3
  155. package/lib/common/formats/rtf/import/destination/numbering-list/destination-old-paragraph-numbering.js +1 -1
  156. package/lib/common/formats/rtf/import/destination/numbering-list/destination-old-section-numbering-level.js +1 -1
  157. package/lib/common/formats/rtf/import/destination/picture/picture-destination.js +4 -4
  158. package/lib/common/formats/rtf/import/destination/shape/shape-properties-destination-base.js +2 -2
  159. package/lib/common/formats/rtf/import/destination/shape/shape-property-destination.js +2 -2
  160. package/lib/common/formats/rtf/import/destination/shape/shape-property-hsv-value-destination.js +2 -2
  161. package/lib/common/formats/rtf/import/destination/styles/character-style-destination.js +5 -5
  162. package/lib/common/formats/rtf/import/destination/styles/style-sheet-destination.js +3 -3
  163. package/lib/common/formats/rtf/import/destination/styles/table-style-destination.js +7 -7
  164. package/lib/common/formats/rtf/import/destination/sub-document/destination-sub-document.js +2 -2
  165. package/lib/common/formats/rtf/import/destination/sub-document/section-header-footer-destination-base.js +1 -1
  166. package/lib/common/formats/rtf/import/importers/character-importer.js +1 -1
  167. package/lib/common/formats/rtf/import/importers/field-importer.js +2 -2
  168. package/lib/common/formats/rtf/import/importers/paragraph-importer.js +4 -4
  169. package/lib/common/formats/rtf/import/importers/range-permission-importer.js +1 -1
  170. package/lib/common/formats/rtf/import/importers/section-importer.js +4 -4
  171. package/lib/common/formats/rtf/import/importers/styles/paragraph-style-importer.js +4 -4
  172. package/lib/common/formats/rtf/import/model/numbering-lists/rtf-old-list-level-info.js +10 -10
  173. package/lib/common/formats/rtf/import/rtf-import-data.js +13 -13
  174. package/lib/common/formats/txt/txt-exporter.js +1 -1
  175. package/lib/common/global-event-dispatcher.d.ts +1 -1
  176. package/lib/common/input-controller.d.ts +14 -1
  177. package/lib/common/input-controller.js +58 -20
  178. package/lib/common/interfaces/i-control-owner.d.ts +1 -0
  179. package/lib/common/layout/document-layout.js +1 -1
  180. package/lib/common/layout/main-structures/layout-boxes/layout-anchored-object-box.d.ts +1 -1
  181. package/lib/common/layout/main-structures/layout-boxes/layout-dash-box.js +1 -1
  182. package/lib/common/layout/main-structures/layout-boxes/layout-line-break-box.js +4 -4
  183. package/lib/common/layout/main-structures/layout-boxes/layout-numbering-list-box.js +10 -10
  184. package/lib/common/layout/main-structures/layout-boxes/layout-page-break-box.js +4 -4
  185. package/lib/common/layout/main-structures/layout-boxes/layout-space-box.js +1 -1
  186. package/lib/common/layout/main-structures/layout-row.js +1 -1
  187. package/lib/common/layout/table/table-cell-iterator.js +6 -6
  188. package/lib/common/layout-engine/hit-test-manager/hit-test-result.d.ts +1 -1
  189. package/lib/common/layout-engine/selection/selection-formatter.js +1 -1
  190. package/lib/common/layout-formatter/box/generator/box-infos-generator.js +3 -3
  191. package/lib/common/layout-formatter/changes/changes/layout-change-base.js +12 -12
  192. package/lib/common/layout-formatter/invalidator/layout-invalidator.js +3 -3
  193. package/lib/common/layout-formatter/managers/formatter-manager.d.ts +1 -1
  194. package/lib/common/layout-formatter/managers/formatter-manager.js +2 -2
  195. package/lib/common/layout-formatter/row/result.js +3 -3
  196. package/lib/common/layout-formatter/row/size-engine/row-formatting-info.js +2 -2
  197. package/lib/common/layout-formatter/row/size-engine/row-height-calculator.js +3 -3
  198. package/lib/common/layout-formatter/row/tab-info.js +8 -8
  199. package/lib/common/layout-formatter/table/borders/border-helper.d.ts +1 -1
  200. package/lib/common/layout-formatter/table/borders/border-helper.js +5 -5
  201. package/lib/common/layout-formatter/table/formatter.js +12 -12
  202. package/lib/common/layout-formatter/table/grid-engine/calculators/column-interval.js +3 -3
  203. package/lib/common/layout-formatter/table/grid-engine/calculators/grid-calculator.js +3 -3
  204. package/lib/common/layout-formatter/table/grid-engine/calculators/table-properties-cache.js +7 -7
  205. package/lib/common/layout-formatter/table/info/cell-info.js +8 -8
  206. package/lib/common/layout-formatter/table/info/row-info.js +1 -1
  207. package/lib/common/layout-formatter/table/info/table-info.js +17 -17
  208. package/lib/common/model/bookmarks.js +7 -7
  209. package/lib/common/model/borders/border-base.js +3 -3
  210. package/lib/common/model/caches/hash-based-cache.d.ts +1 -1
  211. package/lib/common/model/caches/hash-based-cache.js +2 -2
  212. package/lib/common/model/caches/images.js +11 -11
  213. package/lib/common/model/changes/change.d.ts +1 -1
  214. package/lib/common/model/changes/sub-document/list/paragraph-numbering-list-changed.js +1 -1
  215. package/lib/common/model/changes/sub-document/table/cell-property-changed.js +1 -1
  216. package/lib/common/model/changes/sub-document/table/property-changed.js +1 -1
  217. package/lib/common/model/changes/sub-document/table/row-property-changed.js +1 -1
  218. package/lib/common/model/character/character-property-descriptor.d.ts +1 -1
  219. package/lib/common/model/color/color-model-info.js +6 -6
  220. package/lib/common/model/creator/font-corrector.js +5 -5
  221. package/lib/common/model/document-model.js +10 -10
  222. package/lib/common/model/fields/field-request-manager.d.ts +1 -1
  223. package/lib/common/model/fields/field-request-manager.js +2 -2
  224. package/lib/common/model/fields/names.d.ts +2 -1
  225. package/lib/common/model/fields/names.js +1 -0
  226. package/lib/common/model/fields/parsers/field-code-parser-client-updating-base.js +1 -1
  227. package/lib/common/model/fields/parsers/field-code-parser-doc-variable.js +1 -1
  228. package/lib/common/model/fields/parsers/field-code-parser-hyperlink.js +1 -1
  229. package/lib/common/model/fields/parsers/field-code-parser-if.d.ts +39 -0
  230. package/lib/common/model/fields/parsers/field-code-parser-if.js +138 -0
  231. package/lib/common/model/fields/parsers/field-code-parser-merge-field.js +1 -1
  232. package/lib/common/model/fields/parsers/field-code-parser.d.ts +5 -4
  233. package/lib/common/model/fields/parsers/field-code-parser.js +6 -12
  234. package/lib/common/model/fields/tree-creator.js +3 -1
  235. package/lib/common/model/floating-objects/sizes.js +2 -2
  236. package/lib/common/model/fonts/control-font.js +9 -9
  237. package/lib/common/model/fonts/loader.js +1 -1
  238. package/lib/common/model/footnotes/footnote.d.ts +1 -1
  239. package/lib/common/model/history/base/history-item.js +6 -6
  240. package/lib/common/model/history/base/interval-based-history-item.js +2 -2
  241. package/lib/common/model/history/base/position-based-history-item.js +2 -2
  242. package/lib/common/model/history/items/floating-objects/insert-anchored-picture-history-item.js +1 -0
  243. package/lib/common/model/history/items/insert-text-history-item.js +3 -3
  244. package/lib/common/model/history/items/switch-text-box-sub-documents-state-history-item.js +0 -1
  245. package/lib/common/model/history/selection/scroll-history-item.js +3 -3
  246. package/lib/common/model/history/selection/selection-history-item.js +3 -3
  247. package/lib/common/model/json/importers/sub-document/run-importers.d.ts +2 -2
  248. package/lib/common/model/manipulators/base-manipulator.js +2 -2
  249. package/lib/common/model/manipulators/document/sub-document-inserter.js +6 -6
  250. package/lib/common/model/manipulators/model-manipulator.js +1 -1
  251. package/lib/common/model/manipulators/picture-manipulator/insert-picture-manipulator-params.js +1 -1
  252. package/lib/common/model/manipulators/picture-manipulator/loader/image-loading-options.d.ts +1 -1
  253. package/lib/common/model/manipulators/picture-manipulator/loader/picture-loader.d.ts +1 -1
  254. package/lib/common/model/manipulators/picture-manipulator/loader/picture-loader.js +1 -1
  255. package/lib/common/model/manipulators/range/create-range-copy-operation.js +3 -3
  256. package/lib/common/model/manipulators/range/remove-interval-operation.js +8 -2
  257. package/lib/common/model/manipulators/tables/insert-table-cell-operation.js +1 -1
  258. package/lib/common/model/manipulators/tables/insert-table-row-operation.js +1 -1
  259. package/lib/common/model/manipulators/tables/merge-table-cells-operation.js +1 -1
  260. package/lib/common/model/manipulators/tables/table-normalizator.d.ts +2 -2
  261. package/lib/common/model/manipulators/text-box-manipulator.d.ts +1 -1
  262. package/lib/common/model/manipulators/text-box-manipulator.js +2 -1
  263. package/lib/common/model/options/fields.d.ts +1 -0
  264. package/lib/common/model/options/fields.js +3 -1
  265. package/lib/common/model/options/pdf.d.ts +2 -2
  266. package/lib/common/model/options/rich-options.js +3 -3
  267. package/lib/common/model/paragraph/paragraph-property-descriptors.d.ts +1 -1
  268. package/lib/common/model/paragraph/paragraph.js +1 -1
  269. package/lib/common/model/position/linked-interval.js +4 -4
  270. package/lib/common/model/range-permissions.js +3 -3
  271. package/lib/common/model/runs/anchored-picture-run.js +4 -4
  272. package/lib/common/model/runs/inline-picture-run.d.ts +1 -1
  273. package/lib/common/model/runs/inline-picture-run.js +1 -1
  274. package/lib/common/model/runs/run-base.js +4 -4
  275. package/lib/common/model/section/section-property-descriptor.d.ts +1 -1
  276. package/lib/common/model/shadings/shading-info.js +3 -3
  277. package/lib/common/model/styles-manager.d.ts +1 -1
  278. package/lib/common/model/tables/main-structures/table-row.js +1 -1
  279. package/lib/common/mouse-handler/base/manipulator-handler-state-base.js +2 -2
  280. package/lib/common/mouse-handler/mouse-handler/mouse-handler-drag-column-or-row-state.d.ts +1 -1
  281. package/lib/common/rich-edit-core.js +11 -11
  282. package/lib/common/rich-utils/debug/runtime-template-model-creator.js +6 -6
  283. package/lib/common/scroll/model-states.d.ts +1 -1
  284. package/lib/common/scroll/model-states.js +4 -4
  285. package/lib/common/selection/selected-cells-engine.js +12 -12
  286. package/lib/common/selection/selection-intervals-info.js +7 -7
  287. package/lib/common/selection/selection-state.js +5 -5
  288. package/lib/common/selection/selection.js +15 -14
  289. package/lib/common/ui/quick-search-panel.js +1 -1
  290. package/lib/common/ui/ruler/controls/base.js +1 -1
  291. package/lib/common/ui/ruler/controls/column.js +1 -1
  292. package/lib/common/ui/ruler/controls/divisions.js +1 -1
  293. package/lib/common/ui/ruler/controls/indent/first-line.js +7 -7
  294. package/lib/common/ui/ruler/controls/indent/left.js +6 -6
  295. package/lib/common/ui/ruler/controls/indent/right.js +7 -7
  296. package/lib/common/ui/ruler/controls/margin/left.js +4 -4
  297. package/lib/common/ui/ruler/controls/margin/right.js +1 -1
  298. package/lib/common/ui/ruler/controls/owner.js +1 -1
  299. package/lib/common/ui/ruler/controls/ruler.js +5 -5
  300. package/lib/common/ui/ruler/controls/tab/tab-type.js +5 -5
  301. package/lib/common/ui/ruler/controls/tab/tab.js +7 -7
  302. package/lib/common/ui/ruler/controls/tab/utils.d.ts +2 -2
  303. package/lib/common/ui/ruler/controls/tab/utils.js +5 -5
  304. package/lib/common/ui/ruler/controls/table.js +1 -1
  305. package/lib/common/ui/ruler/controls/vertical-line.d.ts +1 -2
  306. package/lib/common/ui/ruler/controls/vertical-line.js +2 -2
  307. package/lib/common/ui/ruler/controls/wrapper.js +1 -1
  308. package/lib/common/ui/ruler/manager.js +19 -19
  309. package/lib/common/ui/ruler/model-data.d.ts +8 -2
  310. package/lib/common/ui/ruler/model-data.js +10 -4
  311. package/lib/common/ui/ruler/ruler.js +4 -3
  312. package/lib/common/utils/utils.d.ts +8 -1
  313. package/lib/common/utils/utils.js +39 -8
  314. package/lib/common/view-settings/views-settings.js +6 -6
  315. package/package.json +3 -3
@@ -6,7 +6,7 @@ import { RibbonMenuItem } from './items/menu';
6
6
  import { RibbonNumberBoxItem } from './items/number-box';
7
7
  import { RibbonSelectBoxItem } from './items/select-box';
8
8
  import { RibbonSubMenuItem } from './items/sub-menu';
9
- export declare type RibbonTabId = string | RibbonTabType;
9
+ export type RibbonTabId = string | RibbonTabType;
10
10
  export declare enum RibbonTabType {
11
11
  File = 0,
12
12
  Home = 1,
@@ -20,9 +20,9 @@ export declare enum RibbonTabType {
20
20
  TableLayout = 9,
21
21
  FloatingObjectsFormat = 10
22
22
  }
23
- export declare type FirstLevelRibbonItem = RibbonButtonItem | RibbonMenuItem | RibbonSelectBoxItem | RibbonNumberBoxItem | RibbonColorBoxItem;
24
- export declare type RibbonItem = FirstLevelRibbonItem | RibbonSubMenuItem;
25
- export declare type RibbonItemParent = RibbonMenuItem | RibbonSubMenuItem | RibbonTab;
23
+ export type FirstLevelRibbonItem = RibbonButtonItem | RibbonMenuItem | RibbonSelectBoxItem | RibbonNumberBoxItem | RibbonColorBoxItem;
24
+ export type RibbonItem = FirstLevelRibbonItem | RibbonSubMenuItem;
25
+ export type RibbonItemParent = RibbonMenuItem | RibbonSubMenuItem | RibbonTab;
26
26
  export declare class RibbonTab {
27
27
  id: RibbonTabId;
28
28
  title: string;
@@ -15,13 +15,13 @@ export var RibbonTabType;
15
15
  RibbonTabType[RibbonTabType["FloatingObjectsFormat"] = 10] = "FloatingObjectsFormat";
16
16
  })(RibbonTabType || (RibbonTabType = {}));
17
17
  export class RibbonTab {
18
+ get contextTab() { return false; }
18
19
  constructor(title, id, items = [], localizationId) {
19
20
  this.id = id;
20
21
  this.items = items;
21
22
  this.title = title;
22
23
  this.localizationId = localizationId;
23
24
  }
24
- get contextTab() { return false; }
25
25
  removeItem(id) {
26
26
  this.forEachItem(id instanceof RibbonItemBase ?
27
27
  (item, index, parent) => {
@@ -64,11 +64,11 @@ export class RibbonTab {
64
64
  }
65
65
  }
66
66
  export class RibbonContextTab extends RibbonTab {
67
+ get contextTab() { return true; }
67
68
  constructor(title, id, category, items, localizationId) {
68
69
  super(title, id, items, localizationId);
69
70
  this.category = category;
70
71
  }
71
- get contextTab() { return true; }
72
72
  }
73
73
  class RibbonSearchItemResult {
74
74
  constructor(parent, item, itemIndex) {
@@ -43,6 +43,7 @@ import { NusaSettings } from './nusa/settings';
43
43
  import { Utils } from './utils';
44
44
  import '../../common/utils/_license';
45
45
  class RichEditPublic {
46
+ get events() { return this._native.events; }
46
47
  constructor(htmlElement, options) {
47
48
  this._native = new ClientRichEdit(htmlElement, options, this);
48
49
  this.document = new RichEditDocument(this._native.core);
@@ -85,7 +86,6 @@ class RichEditPublic {
85
86
  afterDocumentOpened(() => { });
86
87
  }
87
88
  }
88
- get events() { return this._native.events; }
89
89
  exportToBase64(callback, documentFormat) {
90
90
  const exportModelOptions = this._native.core.getExportModelOptions({ documentFormat: documentFormat });
91
91
  exportModelToBase64(exportModelOptions, callback);
@@ -118,7 +118,7 @@ class RichEditPublic {
118
118
  mimeType = HtmlMimeType;
119
119
  break;
120
120
  }
121
- const fileName = OpenDocumentCommand.getFileNameWithoutExtension(this.documentName);
121
+ const fileName = OpenDocumentCommand.getFileNameWithoutExtension(this._native.core.documentInfo.fileName);
122
122
  const extension = Utils.documentFormatToExtension(format);
123
123
  const exportModelOptions = this._native.core.getExportModelOptions({ documentFormat: format });
124
124
  exportModelToBlob(exportModelOptions, blob => callback(FileUtils.createFile([blob], fileName + extension, { type: mimeType })));
@@ -1,6 +1,6 @@
1
1
  import { ILocalizedRibbonItemOptions } from './i-localized-ribbon-item-options';
2
2
  import { IToolbarItemTextOptions } from './i-ribbon-text-content-options';
3
- export declare type IToolbarItemOptions = IToolbarButtonItemOptions | IToolbarButtonGroupItemOptions | IToolbarSelectBoxItemOptions | IToolbarMenuItemOptions | IToolbarNumberBoxItemOptions | IToolbarColorBoxItemOptions;
3
+ export type IToolbarItemOptions = IToolbarButtonItemOptions | IToolbarButtonGroupItemOptions | IToolbarSelectBoxItemOptions | IToolbarMenuItemOptions | IToolbarNumberBoxItemOptions | IToolbarColorBoxItemOptions;
4
4
  interface IToolbarItemOptionsBase {
5
5
  type: 'Button' | 'ButtonGroup' | 'SelectBox' | 'Menu' | 'NumberBox' | 'ColorBox';
6
6
  name?: string | number;
@@ -8,14 +8,14 @@ export interface IRibbonItem {
8
8
  setVisible(visible: boolean): void;
9
9
  setValue(value: any): void;
10
10
  }
11
- export declare type OnCommandExecutedHandler = (e: {
11
+ export type OnCommandExecutedHandler = (e: {
12
12
  item: IRibbonItem;
13
13
  parameter: any;
14
14
  }) => void;
15
- export declare type OnToolbarItemStateChangedHandler = (e: {
15
+ export type OnToolbarItemStateChangedHandler = (e: {
16
16
  item: IRibbonItem;
17
17
  }) => void;
18
- export declare type OnToolbarItemCreatedHandler = (e: {
18
+ export type OnToolbarItemCreatedHandler = (e: {
19
19
  options: InteractiveItemOptions;
20
20
  item: IRibbonItem;
21
21
  tabIndex: number;
@@ -11,13 +11,13 @@ import { ToolbarSelectBoxItem } from './toolbar-items/toolbar-select-box-item';
11
11
  import { ToolbarSeparatorItem } from './toolbar-items/toolbar-separator-item';
12
12
  import { DomUtils } from '@devexpress/utils/lib/utils/dom';
13
13
  export class Ribbon {
14
+ get element() { return this.options.element; }
14
15
  constructor(options) {
15
16
  this.options = options;
16
17
  this.toolbars = [];
17
18
  this.toolBarItemsByName = {};
18
19
  this.contextItemIndexesByCategoryName = {};
19
20
  }
20
- get element() { return this.options.element; }
21
21
  dispose() {
22
22
  this.tabPanel.dispose();
23
23
  this.toolbars.forEach(tb => tb.dispose());
@@ -7,8 +7,8 @@ import dxSelectBox from 'devextreme/ui/select_box';
7
7
  import { IToolbarButtonGroupItemOptions, IToolbarButtonItemOptions, IToolbarColorBoxItemOptions, IToolbarMenuItemOptions, IToolbarNumberBoxItemOptions, IToolbarSelectBoxItemOptions } from '../i-toolbar-item-options';
8
8
  import { IRibbonItem, OnCommandExecutedHandler } from '../ribbon';
9
9
  import { ToolbarItemBase } from './toolbar-item-base';
10
- export declare type InteractiveItemOptions = IToolbarButtonItemOptions | IToolbarButtonGroupItemOptions | IToolbarSelectBoxItemOptions | IToolbarMenuItemOptions | IToolbarNumberBoxItemOptions | IToolbarColorBoxItemOptions;
11
- declare type WidgetTypeByOptionsType<T extends InteractiveItemOptions> = T extends IToolbarButtonItemOptions ? dxButton : T extends IToolbarButtonItemOptions ? dxButtonGroup : T extends IToolbarSelectBoxItemOptions ? dxSelectBox : T extends IToolbarNumberBoxItemOptions ? dxNumberBox : T extends IToolbarColorBoxItemOptions ? dxColorBox : dxMenu;
10
+ export type InteractiveItemOptions = IToolbarButtonItemOptions | IToolbarButtonGroupItemOptions | IToolbarSelectBoxItemOptions | IToolbarMenuItemOptions | IToolbarNumberBoxItemOptions | IToolbarColorBoxItemOptions;
11
+ type WidgetTypeByOptionsType<T extends InteractiveItemOptions> = T extends IToolbarButtonItemOptions ? dxButton : T extends IToolbarButtonItemOptions ? dxButtonGroup : T extends IToolbarSelectBoxItemOptions ? dxSelectBox : T extends IToolbarNumberBoxItemOptions ? dxNumberBox : T extends IToolbarColorBoxItemOptions ? dxColorBox : dxMenu;
12
12
  export declare abstract class ToolbarInteractiveItem<OptionsType extends InteractiveItemOptions> extends ToolbarItemBase implements IRibbonItem {
13
13
  protected options: OptionsType;
14
14
  protected onCommandExecuted: OnCommandExecutedHandler;
@@ -146,6 +146,8 @@ export class Settings {
146
146
  result.fields.createHyperlinkTooltip = this.parseEventHandler(settings.fields.createHyperlinkTooltip);
147
147
  if (isDefined(settings.fields.keepHyperlinkResultForInvalidReference))
148
148
  result.fields.keepHyperlinkResultForInvalidReference = settings.fields.keepHyperlinkResultForInvalidReference;
149
+ if (isDefined(settings.fields.allowedHyperlinkUriSchemes))
150
+ result.fields.allowedHyperlinkUriSchemes = settings.fields.allowedHyperlinkUriSchemes;
149
151
  }
150
152
  }
151
153
  static parsePrintingSettings(settings, result) {
@@ -9,11 +9,11 @@ import dxTabPanel from 'devextreme/ui/tab_panel';
9
9
  import { event } from 'devextreme/events/index';
10
10
  import { Properties as dxColorBoxOptions } from 'devextreme/ui/color_box';
11
11
  import Widget from 'devextreme/ui/widget/ui.widget';
12
- declare type ComponentInitialized<TProperties> = (e: {
12
+ type ComponentInitialized<TProperties> = (e: {
13
13
  component?: Widget<TProperties>;
14
14
  element?: dxElement;
15
15
  }) => any;
16
- export declare type EditorValueChangedHandler<TProperties> = (e: {
16
+ export type EditorValueChangedHandler<TProperties> = (e: {
17
17
  component?: Widget<TProperties>;
18
18
  element?: dxElement;
19
19
  model?: any;
@@ -21,20 +21,20 @@ export declare type EditorValueChangedHandler<TProperties> = (e: {
21
21
  previousValue?: any;
22
22
  event?: event;
23
23
  }) => any;
24
- export declare type EditorStateChangedHandler<TProperties> = (e: {
24
+ export type EditorStateChangedHandler<TProperties> = (e: {
25
25
  component?: Widget<TProperties>;
26
26
  element?: dxElement;
27
27
  model?: any;
28
28
  }) => any;
29
- export declare type ButtonClickHandler = (e: {
29
+ export type ButtonClickHandler = (e: {
30
30
  component?: dxButton;
31
31
  element?: dxElement;
32
32
  model?: any;
33
33
  event?: event;
34
34
  validationGroup?: any;
35
35
  }) => any | string;
36
- export declare type ButtonInitializedHandler = ComponentInitialized<dxButtonOptions>;
37
- export declare type MenuItemRenderedHandler = (e: {
36
+ export type ButtonInitializedHandler = ComponentInitialized<dxButtonOptions>;
37
+ export type MenuItemRenderedHandler = (e: {
38
38
  component?: dxMenu;
39
39
  element?: dxElement;
40
40
  model?: any;
@@ -42,7 +42,7 @@ export declare type MenuItemRenderedHandler = (e: {
42
42
  itemElement?: dxElement;
43
43
  itemIndex?: number;
44
44
  }) => any;
45
- export declare type MenuItemClickHandler = (e: {
45
+ export type MenuItemClickHandler = (e: {
46
46
  component?: dxMenu;
47
47
  element?: dxElement;
48
48
  model?: any;
@@ -51,26 +51,26 @@ export declare type MenuItemClickHandler = (e: {
51
51
  itemIndex?: number;
52
52
  event?: event;
53
53
  }) => any | string;
54
- export declare type MenuInitializedHandler = ComponentInitialized<dxMenuOptions>;
55
- export declare type SelectBoxInitializedHandler = ComponentInitialized<dxSelectBoxOptions>;
56
- export declare type SelectBoxValueChangedHandler = EditorValueChangedHandler<dxSelectBoxOptions>;
57
- export declare type TabPanelTitleClickHandler = (e: {
54
+ export type MenuInitializedHandler = ComponentInitialized<dxMenuOptions>;
55
+ export type SelectBoxInitializedHandler = ComponentInitialized<dxSelectBoxOptions>;
56
+ export type SelectBoxValueChangedHandler = EditorValueChangedHandler<dxSelectBoxOptions>;
57
+ export type TabPanelTitleClickHandler = (e: {
58
58
  component?: dxTabPanel;
59
59
  element?: dxElement;
60
60
  model?: any;
61
61
  itemData?: any;
62
62
  itemElement?: dxElement;
63
63
  }) => any | string;
64
- export declare type TabPanelSelectionChangedHandler = (e: {
64
+ export type TabPanelSelectionChangedHandler = (e: {
65
65
  component?: dxTabPanel;
66
66
  element?: dxElement;
67
67
  model?: any;
68
68
  addedItems?: Array<any>;
69
69
  removedItems?: Array<any>;
70
70
  }) => any;
71
- export declare type NumberBoxInitializedHandler = ComponentInitialized<dxNumberBoxOptions>;
72
- export declare type NumberBoxValueChangedHandler = EditorValueChangedHandler<dxNumberBoxOptions>;
73
- export declare type ColorBoxInitializedHandler = ComponentInitialized<dxColorBoxOptions>;
74
- export declare type ColorBoxValueChangedHandler = EditorValueChangedHandler<dxColorBoxOptions>;
75
- export declare type ColorBoxStateChangedHandler = EditorStateChangedHandler<dxColorBoxOptions>;
71
+ export type NumberBoxInitializedHandler = ComponentInitialized<dxNumberBoxOptions>;
72
+ export type NumberBoxValueChangedHandler = EditorValueChangedHandler<dxNumberBoxOptions>;
73
+ export type ColorBoxInitializedHandler = ComponentInitialized<dxColorBoxOptions>;
74
+ export type ColorBoxValueChangedHandler = EditorValueChangedHandler<dxColorBoxOptions>;
75
+ export type ColorBoxStateChangedHandler = EditorStateChangedHandler<dxColorBoxOptions>;
76
76
  export {};
@@ -1,4 +1,4 @@
1
- export declare type ItemsWithIcons = Array<{
1
+ export type ItemsWithIcons = Array<{
2
2
  icon?: string;
3
3
  items?: ItemsWithIcons;
4
4
  }>;
@@ -18,10 +18,10 @@ import { IntervalCommandState } from '../commands/command-states';
18
18
  import { SelectionHistoryItem } from '../model/history/selection/selection-history-item';
19
19
  import { splitByLines } from '../utils/utils';
20
20
  export class AutoCorrectProviderBase {
21
+ get subDocument() { return this.control.selection.activeSubDocument; }
21
22
  constructor(control) {
22
23
  this.control = control;
23
24
  }
24
- get subDocument() { return this.control.selection.activeSubDocument; }
25
25
  revise() {
26
26
  const pos = this.control.selection.lastSelectedInterval.start;
27
27
  const lastInsertedChar = this.control.selection.activeSubDocument.getText(new FixedInterval(pos - 1, 1));
@@ -3,12 +3,12 @@ import { BatchUpdatableObject } from '@devexpress/utils/lib/class/batch-updatabl
3
3
  import { isDefined } from '@devexpress/utils/lib/utils/common';
4
4
  import { RichEditClientCommand } from '../commands/client-command';
5
5
  export class BarBase extends BatchUpdatableObject {
6
+ get isInitialized() { return !!this.core; }
6
7
  constructor(owner) {
7
8
  super();
8
9
  this.updateEnabled = true;
9
10
  this.owner = owner;
10
11
  }
11
- get isInitialized() { return !!this.core; }
12
12
  initialize(core) {
13
13
  this.core = core;
14
14
  }
@@ -18,6 +18,9 @@ const AUTOSCROLL_AREA_SIZE = 10;
18
18
  const AUTOSCROLL_STEP = 10;
19
19
  const MSTOUCH_MOVE_SENSITIVITY = 5;
20
20
  export class CanvasManager extends BatchUpdatableObject {
21
+ get sizes() { return this.viewManager.sizes; }
22
+ get scroll() { return this.viewManager.scroll; }
23
+ get controlHeightProvider() { return this.sizes; }
21
24
  constructor(viewManager, eventManager) {
22
25
  super();
23
26
  this.lastMousePosition = { x: -1, y: -1 };
@@ -39,9 +42,6 @@ export class CanvasManager extends BatchUpdatableObject {
39
42
  else
40
43
  this.initMSPointerEvents();
41
44
  }
42
- get sizes() { return this.viewManager.sizes; }
43
- get scroll() { return this.viewManager.scroll; }
44
- get controlHeightProvider() { return this.sizes; }
45
45
  get canvas() {
46
46
  return this.viewManager.canvas;
47
47
  }
@@ -2,14 +2,14 @@ import { DocumentLayoutDetailsLevel } from '../layout/document-layout-details-le
2
2
  import { MouseHandler } from '../mouse-handler/mouse-handler/mouse-handler';
3
3
  import { RelativePosition } from '../scroll/model-states';
4
4
  export class CanvasScrollManager {
5
+ get canvas() { return this.viewManager.canvas; }
6
+ get sizes() { return this.viewManager.sizes; }
5
7
  constructor(viewManager, horizontalRuler) {
6
8
  this.updateScrollTimeoutId = null;
7
9
  this.waitForDblClickTimeoutId = null;
8
10
  this.viewManager = viewManager;
9
11
  this.horizontalRuler = horizontalRuler;
10
12
  }
11
- get canvas() { return this.viewManager.canvas; }
12
- get sizes() { return this.viewManager.sizes; }
13
13
  dispose() {
14
14
  clearTimeout(this.updateScrollTimeoutId);
15
15
  clearTimeout(this.waitForDblClickTimeoutId);
@@ -1,13 +1,13 @@
1
1
  import { RendererClassNames } from '../renderer-class-names';
2
2
  import { FrameBaseListener } from './frame-base-listener';
3
3
  export class AnchorListener extends FrameBaseListener {
4
+ baseFrameClassName() {
5
+ return RendererClassNames.ANCHOR;
6
+ }
4
7
  constructor(rendererCache, stringResources, readOnlyPropertyHolder, fieldOptions) {
5
8
  super(rendererCache, stringResources, fieldOptions);
6
9
  this.readOnlyPropertyHolder = readOnlyPropertyHolder;
7
10
  }
8
- baseFrameClassName() {
9
- return RendererClassNames.ANCHOR;
10
- }
11
11
  NotifyShow(pageIndex, bounds, tip, isTextBox, isAnchoredObject, rotation) {
12
12
  if (this.readOnlyPropertyHolder.isReadOnlyPersistent)
13
13
  super.NotifyHide();
@@ -4,11 +4,6 @@ import { MouseEventSource } from '../../mouse-handler/mouse-event-source';
4
4
  import { DocumentRenderer } from '../renderes/common/document-renderer';
5
5
  import { FrameBaseListener } from './frame-base-listener';
6
6
  export class ResizeBoxListener extends FrameBaseListener {
7
- constructor(rendererCache, stringResources, readOnlyPropertyHolder, fieldOptions) {
8
- super(rendererCache, stringResources, fieldOptions);
9
- this.readOnlyPropertyHolder = readOnlyPropertyHolder;
10
- this.initElement(false);
11
- }
12
7
  baseFrameClassName() {
13
8
  return FrameBaseListener.CLASSNAMES.CONTAINER;
14
9
  }
@@ -16,6 +11,11 @@ export class ResizeBoxListener extends FrameBaseListener {
16
11
  return FrameBaseListener.CLASSNAMES.CORNER_ELEM_PREFIX +
17
12
  (Browser.TouchUI ? FrameBaseListener.CLASSNAMES.CORNER_TOUCH_POSTFIX : "");
18
13
  }
14
+ constructor(rendererCache, stringResources, readOnlyPropertyHolder, fieldOptions) {
15
+ super(rendererCache, stringResources, fieldOptions);
16
+ this.readOnlyPropertyHolder = readOnlyPropertyHolder;
17
+ this.initElement(false);
18
+ }
19
19
  initElement(reinit) {
20
20
  if (reinit)
21
21
  this.initFrameElement();
@@ -1,10 +1,10 @@
1
1
  import { LayoutColumnChangesMerger, LayoutPageAreaChangesMerger, LayoutParagraphFrameChangesMerger, LayoutRowChangesMerger, LayoutTableChangesMerger } from '../../../layout-formatter/changes/engine/changes-merger';
2
2
  export class CanvasListener {
3
+ get layout() { return this.viewManager.layout; }
3
4
  constructor(viewManager, renderer) {
4
5
  this.viewManager = viewManager;
5
6
  this.renderer = renderer;
6
7
  }
7
- get layout() { return this.viewManager.layout; }
8
8
  closeDocument() {
9
9
  }
10
10
  static mergeInnerPageChanges(pageChange) {
@@ -3,16 +3,6 @@ import { HeaderFooterLabelsRenderer } from './header-footer-labels-renderer';
3
3
  import { HeaderFooterRenderer, MainRenderer } from './main-header-footer-renderer';
4
4
  import { TextBoxRenderer } from './text-box-renderer';
5
5
  export class RendererManager {
6
- constructor(viewManager, stringResources) {
7
- this.viewManager = viewManager;
8
- this.renderers = [
9
- new FloatingPictureRenderer(this),
10
- new TextBoxRenderer(this),
11
- new HeaderFooterRenderer(this),
12
- new MainRenderer(this),
13
- new HeaderFooterLabelsRenderer(this, stringResources.headerFooter),
14
- ];
15
- }
16
6
  get cache() { return this.viewManager.cache; }
17
7
  ;
18
8
  get canvas() { return this.viewManager.canvas; }
@@ -23,6 +13,16 @@ export class RendererManager {
23
13
  ;
24
14
  get canvasScrollManager() { return this.viewManager.canvasScrollManager; }
25
15
  ;
16
+ constructor(viewManager, stringResources) {
17
+ this.viewManager = viewManager;
18
+ this.renderers = [
19
+ new FloatingPictureRenderer(this),
20
+ new TextBoxRenderer(this),
21
+ new HeaderFooterRenderer(this),
22
+ new MainRenderer(this),
23
+ new HeaderFooterLabelsRenderer(this, stringResources.headerFooter),
24
+ ];
25
+ }
26
26
  init() {
27
27
  for (let r of this.renderers)
28
28
  r.init();
@@ -25,7 +25,7 @@ import { Size } from '@devexpress/utils/lib/geometry/size';
25
25
  import { CanvasManager } from '../../canvas-manager';
26
26
  import { ViewManager } from '../view-manager';
27
27
  import { IRichEditControl } from '../../../interfaces/i-rich-edit-core';
28
- export declare type GetSomeCanvasElementContainer = (node: Node) => Node;
28
+ export type GetSomeCanvasElementContainer = (node: Node) => Node;
29
29
  export declare class SimpleViewCanvasSizeManager {
30
30
  protected canvasManager: CanvasManager;
31
31
  protected size: Size;
@@ -92,12 +92,12 @@ export class SimpleViewCanvasSizeManager {
92
92
  }
93
93
  }
94
94
  export class DocumentRenderer {
95
+ get cache() { return this.viewManager.cache; }
95
96
  constructor(viewManager) {
96
97
  this.viewManager = viewManager;
97
98
  if (this.viewManager.innerClientProperties.viewsSettings.isSimpleView)
98
99
  DomUtils.addClassName(this.viewManager.canvas, RendererClassNames.SIMPLE_VIEW);
99
100
  }
100
- get cache() { return this.viewManager.cache; }
101
101
  onViewTypeChanged() {
102
102
  switch (this.viewManager.innerClientProperties.viewsSettings.viewType) {
103
103
  case ViewType.Simple:
@@ -26,6 +26,9 @@ import { SearchSelectionRenderer } from './selection-renderers/search-selection-
26
26
  import { SelectionRenderer } from './selection-renderers/selection-renderer';
27
27
  import { SizeUtils } from '../../../common/utils/size-utils';
28
28
  export class ViewManager {
29
+ get renderer() { return this.renderers[this.innerClientProperties.viewsSettings.viewType]; }
30
+ get printLayoutRenderer() { return this.renderers[ViewType.PrintLayout]; }
31
+ get canvasListener() { return this.canvasListeners[this.innerClientProperties.viewsSettings.viewType]; }
29
32
  constructor(control, canvas, eventManager, stringResources, horizontalRuler, inputController, innerClientProperties, readOnlyPropertyHolder, layoutFormatterManagerHolder, internalApi, fieldOptions) {
30
33
  this.cache = [];
31
34
  this.sizes = new CanvasSizeInfo();
@@ -57,9 +60,6 @@ export class ViewManager {
57
60
  this.rangePermission = new RangePermissionRenderer(this.cache, layoutSelection);
58
61
  this.changeActiveSubDocumentRenderer = new RendererManager(this, stringResources);
59
62
  }
60
- get renderer() { return this.renderers[this.innerClientProperties.viewsSettings.viewType]; }
61
- get printLayoutRenderer() { return this.renderers[ViewType.PrintLayout]; }
62
- get canvasListener() { return this.canvasListeners[this.innerClientProperties.viewsSettings.viewType]; }
63
63
  dispose() {
64
64
  this.canvasManager.dispose();
65
65
  this.canvasScrollManager.dispose();
@@ -21,4 +21,5 @@ export declare class ClientSideEvents {
21
21
  raiseDocumentLoaded(): void;
22
22
  raiseGotFocus(): void;
23
23
  raiseLostFocus(): void;
24
+ raiseHorizontalRulerVisibleChanged(horizontalRulerVisible: boolean): void;
24
25
  }
@@ -53,4 +53,7 @@ export class ClientSideEvents {
53
53
  raiseLostFocus() {
54
54
  this.owner.raiseLostFocus();
55
55
  }
56
+ raiseHorizontalRulerVisibleChanged(horizontalRulerVisible) {
57
+ this.owner.raiseHorizontalRulerVisibleChanged(horizontalRulerVisible);
58
+ }
56
59
  }
@@ -418,5 +418,6 @@ export declare enum RichEditClientCommand {
418
418
  FloatingObjectBringForwardMenu = 455,
419
419
  FloatingObjectSendBackwardMenu = 456,
420
420
  NoSpellingSuggestions = 457,
421
- GetHtml = 458
421
+ GetHtml = 458,
422
+ CreateEmptyIfField = 459
422
423
  }
@@ -420,4 +420,5 @@ export var RichEditClientCommand;
420
420
  RichEditClientCommand[RichEditClientCommand["FloatingObjectSendBackwardMenu"] = 456] = "FloatingObjectSendBackwardMenu";
421
421
  RichEditClientCommand[RichEditClientCommand["NoSpellingSuggestions"] = 457] = "NoSpellingSuggestions";
422
422
  RichEditClientCommand[RichEditClientCommand["GetHtml"] = 458] = "GetHtml";
423
+ RichEditClientCommand[RichEditClientCommand["CreateEmptyIfField"] = 459] = "CreateEmptyIfField";
423
424
  })(RichEditClientCommand || (RichEditClientCommand = {}));
@@ -13,13 +13,6 @@ import { ScrollHistoryItem } from '../model/history/selection/scroll-history-ite
13
13
  import { SelectionHistoryItem } from '../model/history/selection/selection-history-item';
14
14
  import { ScrollState } from '../scroll/model-states';
15
15
  export class CommandOptions {
16
- constructor(control) {
17
- this.control = control;
18
- this.changeSelection = true;
19
- this.isSetManually = true;
20
- if (control)
21
- this.intervalsInfo = this.control.selection.intervalsInfo.clone();
22
- }
23
16
  get subDocument() { return this.intervalsInfo.subDocument; }
24
17
  setChangeSelection(changeSelection) {
25
18
  this.changeSelection = changeSelection;
@@ -29,6 +22,13 @@ export class CommandOptions {
29
22
  this.intervalsInfo = intervalsInfo;
30
23
  return this;
31
24
  }
25
+ constructor(control) {
26
+ this.control = control;
27
+ this.changeSelection = true;
28
+ this.isSetManually = true;
29
+ if (control)
30
+ this.intervalsInfo = this.control.selection.intervalsInfo.clone();
31
+ }
32
32
  }
33
33
  export class CommandSimpleOptions extends CommandOptions {
34
34
  constructor(control, parameter) {
@@ -37,13 +37,13 @@ export class CommandSimpleOptions extends CommandOptions {
37
37
  }
38
38
  }
39
39
  export class CommandBase {
40
- constructor(control) {
41
- this.control = control;
42
- }
43
40
  get modelManipulator() { return this.control.modelManager.modelManipulator; }
44
41
  get selection() { return this.control.selection; }
45
42
  get history() { return this.control.modelManager.history; }
46
43
  get inputPosition() { return this.control.inputPosition; }
44
+ constructor(control) {
45
+ this.control = control;
46
+ }
47
47
  get colorProvider() { return this.control.modelManager.model.colorProvider; }
48
48
  getRelatedCommands() {
49
49
  return { [this.commandId]: true };
@@ -35,7 +35,7 @@ import { ShowQuickSearchPanelCommand } from './dialogs/show-quick-search-panel-c
35
35
  import { ChangePageColorCommand } from './document-properties/change-page-color-command';
36
36
  import { PrintDocumentOnClient } from './document/print-document-on-client-command';
37
37
  import { ChangeHyperlinkCommand } from './fields/change-hyperlink-command';
38
- import { CreateDateFieldCommand, CreateEmptyDocVariableFieldCommand, CreateEmptyMergeFieldCommand, CreateEquationCaptionFieldCommand, CreateFieldCommand, CreateFieldWithCodeCommand, CreateFigureCaptionFieldCommand, CreateMergeFieldCommand, CreatePageCountFieldCommand, CreatePageFieldCommand, CreateTableCaptionFieldCommand, CreateTableOfEquationsFieldCommand, CreateTableOfFiguresFieldCommand, CreateTableOfTablesFieldCommand, CreateTimeFieldCommand, CreateTocFieldCommand } from './fields/create-field-command';
38
+ import { CreateDateFieldCommand, CreateEmptyDocVariableFieldCommand, CreateEmptyIfFieldCommand, CreateEmptyMergeFieldCommand, CreateEquationCaptionFieldCommand, CreateFieldCommand, CreateFieldWithCodeCommand, CreateFigureCaptionFieldCommand, CreateMergeFieldCommand, CreatePageCountFieldCommand, CreatePageFieldCommand, CreateTableCaptionFieldCommand, CreateTableOfEquationsFieldCommand, CreateTableOfFiguresFieldCommand, CreateTableOfTablesFieldCommand, CreateTimeFieldCommand, CreateTocFieldCommand } from './fields/create-field-command';
39
39
  import { GoToFirstDataRecordCommand, GoToLastDataRecordCommand, GoToNextDataRecordCommand, GoToPreviousDataRecordCommand, GoToRecordCommandBase } from './fields/go-to-record-command';
40
40
  import { OpenHyperlinkCommand } from './fields/open-hyperlink-command';
41
41
  import { RemoveHyperlinkCommand } from './fields/remove-hyperlink-command';
@@ -524,6 +524,7 @@ export class CommandManager {
524
524
  this.createCommand(control, RichEditClientCommand.ChangeTextBoxProperties, ChangeTextBoxPropertiesCommand);
525
525
  this.createCommand(control, RichEditClientCommand.CreateEmptyMergeField, CreateEmptyMergeFieldCommand);
526
526
  this.createCommand(control, RichEditClientCommand.CreateEmptyDocVariableField, CreateEmptyDocVariableFieldCommand);
527
+ this.createCommand(control, RichEditClientCommand.CreateEmptyIfField, CreateEmptyIfFieldCommand);
527
528
  this.createCommand(control, RichEditClientCommand.FloatingObjectDragDropChangePosition, FloatingObjectDragDropChangePositionCommand);
528
529
  this.createCommand(control, RichEditClientCommand.InsertHtml, InsertHtmlCommand);
529
530
  this.createCommand(control, RichEditClientCommand.CreateTocField, CreateTocFieldCommand);
@@ -19,6 +19,9 @@ export class IntervalCommandStateEx extends SimpleCommandState {
19
19
  }
20
20
  }
21
21
  export class ApplyStyleCommandState {
22
+ get enabled() {
23
+ return this.commandEnabled && (this.paragraphStyleChangeEnabled || this.characterStyleChangeEnabled);
24
+ }
22
25
  constructor(commandEnabled, paragraphStyleChangeEnabled, characterStyleChangeEnabled, interval, value) {
23
26
  this.commandEnabled = commandEnabled;
24
27
  this.paragraphStyleChangeEnabled = paragraphStyleChangeEnabled;
@@ -28,9 +31,6 @@ export class ApplyStyleCommandState {
28
31
  this.denyUpdateValue = false;
29
32
  this.value = value;
30
33
  }
31
- get enabled() {
32
- return this.commandEnabled && (this.paragraphStyleChangeEnabled || this.characterStyleChangeEnabled);
33
- }
34
34
  }
35
35
  export class RulerSectionColumnsSettingsState extends IntervalCommandState {
36
36
  constructor(enabled, interval, columns, equalWidth, activeIndex) {
@@ -40,13 +40,13 @@ export class SpellCheckerDialogParameters extends DialogParametersBase {
40
40
  }
41
41
  }
42
42
  export class SpellCheckerDialogController {
43
+ get isRepeatingError() { return this.misspelledInterval.errorInfo.errorType == SpellingErrorType.Repeating; }
44
+ get canAddToDictionary() { return this.control.commandManager.getCommand(RichEditClientCommand.AddWordToDictionary).getState().enabled; }
45
+ get suggestions() { return this.misspelledInterval.errorInfo.suggestions; }
43
46
  constructor(control, spellChecker) {
44
47
  this.control = control;
45
48
  this.spellChecker = spellChecker;
46
49
  }
47
- get isRepeatingError() { return this.misspelledInterval.errorInfo.errorType == SpellingErrorType.Repeating; }
48
- get canAddToDictionary() { return this.control.commandManager.getCommand(RichEditClientCommand.AddWordToDictionary).getState().enabled; }
49
- get suggestions() { return this.misspelledInterval.errorInfo.suggestions; }
50
50
  tryFindNextError() {
51
51
  this.misspelledInterval = this.spellChecker.findNextMisspelledInterval(this.control.selection.intervals[0].start);
52
52
  if (this.misspelledInterval) {
@@ -17,10 +17,6 @@ import { CommandBase } from '../command-base';
17
17
  import { SimpleCommandState } from '../command-states';
18
18
  import { UpdateFieldCommandBase } from '../fields/update-field-command-base';
19
19
  export class PrintDocumentOnClient extends CommandBase {
20
- constructor(control, _nonce) {
21
- super(control);
22
- this._nonce = _nonce;
23
- }
24
20
  isEnabled() {
25
21
  return super.isEnabled() && ControlOptions.isEnabled(this.control.modelManager.richOptions.control.printing) &&
26
22
  this.control.modelManager.model.isLoaded();
@@ -28,6 +24,10 @@ export class PrintDocumentOnClient extends CommandBase {
28
24
  isEnabledInReadOnlyMode() {
29
25
  return true;
30
26
  }
27
+ constructor(control, _nonce) {
28
+ super(control);
29
+ this._nonce = _nonce;
30
+ }
31
31
  getState() {
32
32
  return new SimpleCommandState(this.isEnabled());
33
33
  }
@@ -47,6 +47,10 @@ export declare class CreateEmptyDocVariableFieldCommand extends CreatePredefined
47
47
  getInsertedText(_parameter: string): string;
48
48
  needUpdate(): boolean;
49
49
  }
50
+ export declare class CreateEmptyIfFieldCommand extends CreatePredefinedFieldCommand {
51
+ getInsertedText(_parameter: string): string;
52
+ needUpdate(): boolean;
53
+ }
50
54
  export declare abstract class CreateTableOfContentCommandBase extends CreatePredefinedFieldCommand {
51
55
  isEnabled(): boolean;
52
56
  getInsertedText(_parameter: string): string;
@@ -170,6 +170,14 @@ export class CreateEmptyDocVariableFieldCommand extends CreatePredefinedFieldCom
170
170
  return false;
171
171
  }
172
172
  }
173
+ export class CreateEmptyIfFieldCommand extends CreatePredefinedFieldCommand {
174
+ getInsertedText(_parameter) {
175
+ return "IF";
176
+ }
177
+ needUpdate() {
178
+ return false;
179
+ }
180
+ }
173
181
  export class CreateTableOfContentCommandBase extends CreatePredefinedFieldCommand {
174
182
  isEnabled() {
175
183
  const currentTocField = FieldCommandHelper.findTocFieldBySelection(this.selection.activeSubDocument, this.selection);