@talrace/ngx-noder 0.0.17 → 0.0.19
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 +72 -9
- package/assets/i18n/noder.en.json +93 -0
- package/assets/i18n/noder.es.json +93 -0
- package/assets/i18n/noder.ru.json +93 -0
- package/fesm2022/talrace-ngx-noder.mjs +371 -298
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
- package/lib/apart-components/add-link-dialog/add-link-dialog.component.d.ts +1 -10
- package/lib/apart-components/editor-title/editor-title.component.d.ts +5 -3
- package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +1 -1
- package/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.d.ts +3 -1
- package/lib/apart-components/editor-toolbar/editor-toolbar.module.d.ts +23 -23
- package/lib/editor/components/edges/edge.component.d.ts +10 -3
- package/lib/editor/components/edges/edges.d.ts +0 -2
- package/lib/editor/components/external-element/external.component.d.ts +1 -1
- package/lib/editor/components/external-element/models/external-element.model.d.ts +3 -3
- package/lib/editor/components/shared/abstract/base.component.d.ts +1 -1
- package/lib/editor/components/shared/abstract/destroy.component.d.ts +1 -1
- package/lib/editor/components/table/overlay-menu/overlay-menu.component.d.ts +3 -1
- package/lib/editor/editor.module.d.ts +2 -1
- package/lib/editor/gadgets/scrollbar.d.ts +1 -0
- package/lib/translate/noder-translate.loader.d.ts +11 -0
- package/package.json +3 -3
- package/public-api.d.ts +1 -0
- package/src/lib/apart-components/add-link-dialog/_add-link-dialog.theme.scss +3 -6
- package/src/lib/apart-components/add-link-mobile/_add-link-mobile.theme.scss +4 -7
- package/src/lib/apart-components/confirm-dialog/_theme.scss +6 -9
- package/src/lib/apart-components/editor-title/_editor-title.theme.scss +6 -9
- package/src/lib/apart-components/editor-title-mobile/_editor-title-mobile.theme.scss +9 -12
- package/src/lib/apart-components/editor-toolbar/_editor-toolbar.theme.scss +5 -8
- package/src/lib/apart-components/editor-toolbar/components/buttons/color-picker/_color-picker.theme.scss +1 -3
- package/src/lib/apart-components/editor-toolbar/components/buttons/font/_font.theme.scss +1 -3
- package/src/lib/apart-components/editor-toolbar/components/buttons/font-size/_font-size.theme.scss +2 -5
- package/src/lib/apart-components/editor-toolbar/components/buttons/font-style/_font-style.theme.scss +3 -6
- package/src/lib/apart-components/editor-toolbar/components/buttons/format/_format.theme.scss +3 -6
- package/src/lib/apart-components/editor-toolbar/components/buttons/numbering/_numbering.theme.scss +15 -18
- package/src/lib/apart-components/editor-toolbar/components/buttons/undo-redo/_undo-redo.theme.scss +2 -4
- package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns/_menu-dropdowns.theme.scss +5 -8
- package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/_menu-dropdowns-mobile.theme.scss +6 -9
- package/src/lib/apart-components/editor-toolbar/components/toolbar-actions/_toolbar-actions.theme.scss +3 -6
- package/src/lib/apart-components/insert-table/_insert-table.theme.scss +6 -9
- package/src/lib/apart-components/insert-table-mobile/_insert-table-mobile.theme.scss +12 -15
- package/src/lib/apart-components/text-format-mobile/_text-format-mobile.theme.scss +22 -25
- package/src/lib/editor/components/_editor.theme.scss +25 -28
- package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +0 -73
- package/esm2022/lib/apart-components/add-link-dialog/validation.helper.mjs +0 -7
- package/esm2022/lib/apart-components/add-link-mobile/add-link-mobile.component.mjs +0 -47
- package/esm2022/lib/apart-components/confirm-dialog/confirm-dialog.component.mjs +0 -32
- package/esm2022/lib/apart-components/editor-search/editor-search-dialog.component.mjs +0 -64
- package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +0 -92
- package/esm2022/lib/apart-components/editor-title-mobile/editor-title-mobile.component.mjs +0 -22
- package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +0 -117
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/color-picker/color-picker.component.mjs +0 -37
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +0 -49
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +0 -90
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-style/font-style.component.mjs +0 -81
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/format/format.component.mjs +0 -28
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.mjs +0 -22
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/numbering/numbering.component.mjs +0 -53
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/print/print.component.mjs +0 -18
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/undo-redo/undo-redo.component.mjs +0 -27
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/zoom/zoom.component.mjs +0 -71
- package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +0 -106
- package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.mjs +0 -24
- package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +0 -65
- package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +0 -84
- package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +0 -90
- package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar.module.mjs +0 -127
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.mjs +0 -8
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/numbering-templates.const.mjs +0 -1148
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/svg-icons.const.mjs +0 -157
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/alignment.enum.mjs +0 -8
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.mjs +0 -11
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-template-type.enum.mjs +0 -16
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-type.enum.mjs +0 -6
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/custom-icon.service.mjs +0 -34
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.mjs +0 -26
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs +0 -60
- package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +0 -48
- package/esm2022/lib/apart-components/insert-table/insert-table.component.mjs +0 -54
- package/esm2022/lib/apart-components/insert-table-mobile/insert-table-mobile.component.mjs +0 -84
- package/esm2022/lib/apart-components/text-format-mobile/text-format-mobile.component.mjs +0 -123
- package/esm2022/lib/editor/components/edges/edge-element.model.mjs +0 -38
- package/esm2022/lib/editor/components/edges/edge-type.enum.mjs +0 -6
- package/esm2022/lib/editor/components/edges/edge.component.mjs +0 -99
- package/esm2022/lib/editor/components/edges/edges.mjs +0 -142
- package/esm2022/lib/editor/components/edges/page-type.enum.mjs +0 -7
- package/esm2022/lib/editor/components/editor.component.mjs +0 -112
- package/esm2022/lib/editor/components/external-element/external-element.service.mjs +0 -6
- package/esm2022/lib/editor/components/external-element/external-elements.const.mjs +0 -4
- package/esm2022/lib/editor/components/external-element/external-sidenav.interface.mjs +0 -2
- package/esm2022/lib/editor/components/external-element/external.component.mjs +0 -41
- package/esm2022/lib/editor/components/external-element/models/element-data.model.mjs +0 -9
- package/esm2022/lib/editor/components/external-element/models/external-element.model.mjs +0 -11
- package/esm2022/lib/editor/components/external-element/models/external-sidenav.model.mjs +0 -15
- package/esm2022/lib/editor/components/image/components/image.component.mjs +0 -88
- package/esm2022/lib/editor/components/image/image-api.service.mjs +0 -36
- package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +0 -46
- package/esm2022/lib/editor/components/image/resizer/coordinate.mjs +0 -2
- package/esm2022/lib/editor/components/image/resizer/direction-wrapper.mjs +0 -19
- package/esm2022/lib/editor/components/image/resizer/direction.enum.mjs +0 -12
- package/esm2022/lib/editor/components/image/resizer/resizer.component.mjs +0 -106
- package/esm2022/lib/editor/components/image/resizer/size-delta.mjs +0 -2
- package/esm2022/lib/editor/components/image/resizer/size-wrapper.mjs +0 -52
- package/esm2022/lib/editor/components/image/size.mjs +0 -2
- package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +0 -60
- package/esm2022/lib/editor/components/shared/abstract/destroy.component.mjs +0 -18
- package/esm2022/lib/editor/components/shared/custom-component.hepler.mjs +0 -43
- package/esm2022/lib/editor/components/shared/custom-components.interface.mjs +0 -2
- package/esm2022/lib/editor/components/shared/custom-content-markers.const.mjs +0 -3
- package/esm2022/lib/editor/components/shared/custom-content.mjs +0 -2
- package/esm2022/lib/editor/components/shared/services/component.service.mjs +0 -52
- package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +0 -123
- package/esm2022/lib/editor/components/shared/services/overlay.service.mjs +0 -55
- package/esm2022/lib/editor/components/tab/tab.component.mjs +0 -44
- package/esm2022/lib/editor/components/tab/tab.helper.mjs +0 -6
- package/esm2022/lib/editor/components/table/cell-resizer/cell-resizer.mjs +0 -118
- package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +0 -99
- package/esm2022/lib/editor/components/table/components/table.component.mjs +0 -412
- package/esm2022/lib/editor/components/table/enums/hrule.enum.mjs +0 -7
- package/esm2022/lib/editor/components/table/enums/reisizer-side.enum.mjs +0 -8
- package/esm2022/lib/editor/components/table/enums/vertical-merge.enum.mjs +0 -6
- package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +0 -17
- package/esm2022/lib/editor/components/table/models/cell-resizer-parameters.model.mjs +0 -9
- package/esm2022/lib/editor/components/table/models/row-data.model.mjs +0 -8
- package/esm2022/lib/editor/components/table/models/selection-range.model.mjs +0 -7
- package/esm2022/lib/editor/components/table/overlay-menu/overlay-menu.component.mjs +0 -74
- package/esm2022/lib/editor/components/table/selection/table-selection.mjs +0 -383
- package/esm2022/lib/editor/content/constants/display-values.const.mjs +0 -8
- package/esm2022/lib/editor/content/constants/document-info.const.mjs +0 -13
- package/esm2022/lib/editor/content/constants/editor.const.mjs +0 -70
- package/esm2022/lib/editor/content/contents.interface.mjs +0 -2
- package/esm2022/lib/editor/content/display-data/display-data.mjs +0 -839
- package/esm2022/lib/editor/content/display-data/display-token.model.mjs +0 -12
- package/esm2022/lib/editor/content/display-data/format-ext.model.mjs +0 -10
- package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +0 -11
- package/esm2022/lib/editor/content/display-data/indent.model.mjs +0 -9
- package/esm2022/lib/editor/content/display-data/line-info.model.mjs +0 -9
- package/esm2022/lib/editor/content/display-data/lines.mjs +0 -96
- package/esm2022/lib/editor/content/display-data/models/paragraph-info.model.mjs +0 -8
- package/esm2022/lib/editor/content/display-data/paragraph-info.interface.mjs +0 -2
- package/esm2022/lib/editor/content/display-data/paragraph.mjs +0 -56
- package/esm2022/lib/editor/content/display-data/text-line-info.mjs +0 -35
- package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +0 -2
- package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +0 -78
- package/esm2022/lib/editor/content/helpers/display-token.helper.mjs +0 -62
- package/esm2022/lib/editor/content/helpers/format.helper.mjs +0 -23
- package/esm2022/lib/editor/content/helpers/indexed-element.helper.mjs +0 -6
- package/esm2022/lib/editor/content/helpers/link.helper.mjs +0 -42
- package/esm2022/lib/editor/content/helpers/scaling.helper.mjs +0 -9
- package/esm2022/lib/editor/content/margin.model.mjs +0 -16
- package/esm2022/lib/editor/content/page-vertical-data.model.mjs +0 -9
- package/esm2022/lib/editor/content/vertical-alignment.enum.mjs +0 -11
- package/esm2022/lib/editor/core/event-emitting.mjs +0 -56
- package/esm2022/lib/editor/display/cell.interface.mjs +0 -2
- package/esm2022/lib/editor/display/event.helper.mjs +0 -18
- package/esm2022/lib/editor/display/layers/cursor.layer.mjs +0 -102
- package/esm2022/lib/editor/display/layers/layer.config.mjs +0 -2
- package/esm2022/lib/editor/display/layers/pages.layer.mjs +0 -109
- package/esm2022/lib/editor/display/layers/print.pages.layer.mjs +0 -7
- package/esm2022/lib/editor/display/layers/print.text.layer.mjs +0 -7
- package/esm2022/lib/editor/display/layers/selection.layer.mjs +0 -119
- package/esm2022/lib/editor/display/layers/text.layer.mjs +0 -226
- package/esm2022/lib/editor/display/print/print.helper.mjs +0 -40
- package/esm2022/lib/editor/display/print/print.renderer.mjs +0 -67
- package/esm2022/lib/editor/display/print/print.rendering.helper.mjs +0 -7
- package/esm2022/lib/editor/display/render-changes.interface.mjs +0 -2
- package/esm2022/lib/editor/display/render-changes.model.mjs +0 -25
- package/esm2022/lib/editor/display/renderer.mjs +0 -204
- package/esm2022/lib/editor/display/rendering.helper.mjs +0 -185
- package/esm2022/lib/editor/display/renderloop.mjs +0 -26
- package/esm2022/lib/editor/display/virtual.renderer.mjs +0 -284
- package/esm2022/lib/editor/display/visible-range.interface.mjs +0 -2
- package/esm2022/lib/editor/editor.module.mjs +0 -67
- package/esm2022/lib/editor/execution/distance.model.mjs +0 -10
- package/esm2022/lib/editor/execution/edit.session.mjs +0 -602
- package/esm2022/lib/editor/execution/editor.mjs +0 -1367
- package/esm2022/lib/editor/execution/helpers/dom.helper.mjs +0 -42
- package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +0 -73
- package/esm2022/lib/editor/execution/helpers/image.helpet.mjs +0 -12
- package/esm2022/lib/editor/execution/helpers/page.helper.mjs +0 -12
- package/esm2022/lib/editor/execution/helpers/paragraph-style.helper.mjs +0 -41
- package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +0 -177
- package/esm2022/lib/editor/execution/regulator.service.mjs +0 -212
- package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +0 -18
- package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +0 -14
- package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +0 -8
- package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +0 -3
- package/esm2022/lib/editor/execution/targeting/session.model.mjs +0 -10
- package/esm2022/lib/editor/gadgets/font-metrics/editor-version.const.mjs +0 -2
- package/esm2022/lib/editor/gadgets/font-metrics/font-metric-size.interface.mjs +0 -2
- package/esm2022/lib/editor/gadgets/font-metrics/font-metrics.helper.mjs +0 -88
- package/esm2022/lib/editor/gadgets/history/operation-history.mjs +0 -208
- package/esm2022/lib/editor/gadgets/history/operation.type.mjs +0 -2
- package/esm2022/lib/editor/gadgets/history/operations-history-info.model.mjs +0 -7
- package/esm2022/lib/editor/gadgets/numbering/numbering-data.model.mjs +0 -9
- package/esm2022/lib/editor/gadgets/numbering/numbering-marker-type.enum.mjs +0 -12
- package/esm2022/lib/editor/gadgets/numbering/numbering-paragraph-style.model.mjs +0 -13
- package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +0 -149
- package/esm2022/lib/editor/gadgets/page-break/break-types.enum.mjs +0 -7
- package/esm2022/lib/editor/gadgets/page-break/break.helper.mjs +0 -18
- package/esm2022/lib/editor/gadgets/scrollbar.mjs +0 -81
- package/esm2022/lib/editor/gadgets/search/replace.interface.mjs +0 -2
- package/esm2022/lib/editor/gadgets/search/search-iteration.interface.mjs +0 -2
- package/esm2022/lib/editor/gadgets/search/search.mjs +0 -231
- package/esm2022/lib/editor/gadgets/unicode/unicode-chars.const.mjs +0 -5
- package/esm2022/lib/editor/gadgets/unicode/unicode.helper.mjs +0 -20
- package/esm2022/lib/editor/interaction/base.handler.mjs +0 -19
- package/esm2022/lib/editor/interaction/document.handler.mjs +0 -27
- package/esm2022/lib/editor/interaction/editor.service.mjs +0 -386
- package/esm2022/lib/editor/interaction/input.handler.mjs +0 -152
- package/esm2022/lib/editor/interaction/mode.enum.mjs +0 -7
- package/esm2022/lib/editor/interaction/mouse-button.enum.mjs +0 -7
- package/esm2022/lib/editor/interaction/mouse.handler.mjs +0 -50
- package/esm2022/lib/editor/interaction/text-input.mjs +0 -53
- package/esm2022/lib/editor/operations/commands.service.mjs +0 -20
- package/esm2022/lib/editor/operations/enums/command-type.enum.mjs +0 -32
- package/esm2022/lib/editor/operations/enums/target-type.enum.mjs +0 -7
- package/esm2022/lib/editor/operations/helpers/break-operations.helper.mjs +0 -9
- package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +0 -15
- package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +0 -85
- package/esm2022/lib/editor/operations/helpers/image-operations.helper.mjs +0 -19
- package/esm2022/lib/editor/operations/helpers/indexed-element-operations.helper.mjs +0 -43
- package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +0 -136
- package/esm2022/lib/editor/operations/helpers/numbering-operations.helper.mjs +0 -55
- package/esm2022/lib/editor/operations/helpers/paragraph-operations.helper.mjs +0 -114
- package/esm2022/lib/editor/operations/helpers/tab-operations.helper.mjs +0 -16
- package/esm2022/lib/editor/operations/helpers/table-operations.helper.mjs +0 -374
- package/esm2022/lib/editor/operations/operations-helper.helper.mjs +0 -438
- package/esm2022/lib/editor/operations/save-commands.helper.mjs +0 -128
- package/esm2022/lib/editor/operations/target-operations.helper.mjs +0 -23
- package/esm2022/lib/editor/positioning/alignments.const.mjs +0 -8
- package/esm2022/lib/editor/positioning/content.helper.mjs +0 -45
- package/esm2022/lib/editor/positioning/cursor-paragraph.mjs +0 -13
- package/esm2022/lib/editor/positioning/cursor-position.interface.mjs +0 -2
- package/esm2022/lib/editor/positioning/insert-index.interface.mjs +0 -2
- package/esm2022/lib/editor/positioning/line-width.helper.mjs +0 -13
- package/esm2022/lib/editor/positioning/position.helper.mjs +0 -210
- package/esm2022/lib/editor/positioning/range.mjs +0 -94
- package/esm2022/lib/editor/positioning/selection.mjs +0 -351
- package/esm2022/lib/editor/revision.helper.mjs +0 -94
- package/esm2022/lib/models/generated/add-numbering.model.mjs +0 -8
- package/esm2022/lib/models/generated/apply-element-style.model.mjs +0 -8
- package/esm2022/lib/models/generated/apply-image-style.model.mjs +0 -8
- package/esm2022/lib/models/generated/apply-paragraph-style.model.mjs +0 -12
- package/esm2022/lib/models/generated/apply-text-style.model.mjs +0 -12
- package/esm2022/lib/models/generated/borders-style.model.mjs +0 -8
- package/esm2022/lib/models/generated/break.model.mjs +0 -8
- package/esm2022/lib/models/generated/cell.model.mjs +0 -12
- package/esm2022/lib/models/generated/column-section.model.mjs +0 -8
- package/esm2022/lib/models/generated/column.model.mjs +0 -8
- package/esm2022/lib/models/generated/command.model.mjs +0 -120
- package/esm2022/lib/models/generated/delete.model.mjs +0 -8
- package/esm2022/lib/models/generated/document-name.model.mjs +0 -8
- package/esm2022/lib/models/generated/document.model.mjs +0 -8
- package/esm2022/lib/models/generated/docx.model.mjs +0 -12
- package/esm2022/lib/models/generated/edge-target.model.mjs +0 -8
- package/esm2022/lib/models/generated/edge.model.mjs +0 -8
- package/esm2022/lib/models/generated/element.model.mjs +0 -8
- package/esm2022/lib/models/generated/file-source.model.mjs +0 -8
- package/esm2022/lib/models/generated/format.model.mjs +0 -12
- package/esm2022/lib/models/generated/heading.model.mjs +0 -16
- package/esm2022/lib/models/generated/image-data.model.mjs +0 -8
- package/esm2022/lib/models/generated/image.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-break.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-element.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-image.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-link.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-paragraph.model.mjs +0 -20
- package/esm2022/lib/models/generated/insert-styled-text.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-tab.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-table-columns.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-table-rows.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-table.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-text.model.mjs +0 -8
- package/esm2022/lib/models/generated/last-document-revision.model.mjs +0 -12
- package/esm2022/lib/models/generated/link-data.model.mjs +0 -8
- package/esm2022/lib/models/generated/link.model.mjs +0 -8
- package/esm2022/lib/models/generated/margins.model.mjs +0 -8
- package/esm2022/lib/models/generated/numbering-level.model.mjs +0 -12
- package/esm2022/lib/models/generated/numbering.model.mjs +0 -8
- package/esm2022/lib/models/generated/operation.model.mjs +0 -12
- package/esm2022/lib/models/generated/page-numbers.model.mjs +0 -8
- package/esm2022/lib/models/generated/paragraph-style.model.mjs +0 -8
- package/esm2022/lib/models/generated/paragraph.model.mjs +0 -12
- package/esm2022/lib/models/generated/remove-numberings.model.mjs +0 -8
- package/esm2022/lib/models/generated/remove-table-columns.model.mjs +0 -8
- package/esm2022/lib/models/generated/remove-table-rows.model.mjs +0 -8
- package/esm2022/lib/models/generated/replace-by-text.model.mjs +0 -8
- package/esm2022/lib/models/generated/replace.model.mjs +0 -44
- package/esm2022/lib/models/generated/resize-table-columns.model.mjs +0 -8
- package/esm2022/lib/models/generated/restore-numberings.model.mjs +0 -8
- package/esm2022/lib/models/generated/restore-paragraph-styles.model.mjs +0 -8
- package/esm2022/lib/models/generated/restore-table.model.mjs +0 -12
- package/esm2022/lib/models/generated/restore-text-styles.model.mjs +0 -8
- package/esm2022/lib/models/generated/restore.model.mjs +0 -8
- package/esm2022/lib/models/generated/revision.model.mjs +0 -12
- package/esm2022/lib/models/generated/row.model.mjs +0 -8
- package/esm2022/lib/models/generated/tab.model.mjs +0 -8
- package/esm2022/lib/models/generated/table-cell.model.mjs +0 -8
- package/esm2022/lib/models/generated/table.model.mjs +0 -12
- package/esm2022/lib/models/generated/target.model.mjs +0 -16
- package/esm2022/lib/models/generated/text-style.model.mjs +0 -8
- package/esm2022/public-api.mjs +0 -53
- package/esm2022/talrace-ngx-noder.mjs +0 -5
- package/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.d.ts +0 -8
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
export class IndexedElementOperationsHelper {
|
|
2
|
-
static removeContent(elements, startIndex, endIndex) {
|
|
3
|
-
const length = endIndex - startIndex + 1;
|
|
4
|
-
for (let i = elements.length - 1; i >= 0; i--) {
|
|
5
|
-
if (elements[i].insertIndex >= startIndex && elements[i].insertIndex <= endIndex) {
|
|
6
|
-
elements.splice(i, 1);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
elements.forEach(x => {
|
|
10
|
-
if (x.insertIndex > endIndex) {
|
|
11
|
-
x.insertIndex -= length;
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
static insert(elements, element, length = 1) {
|
|
16
|
-
this.insertContent(elements, element.insertIndex, length);
|
|
17
|
-
const index = elements.findIndex(x => x.insertIndex > element.insertIndex);
|
|
18
|
-
if (index < 0) {
|
|
19
|
-
elements.push(element);
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
elements.splice(index, 0, element);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
static insertContent(elements, index, length) {
|
|
26
|
-
elements.forEach(x => {
|
|
27
|
-
if (x.insertIndex >= index) {
|
|
28
|
-
x.insertIndex += length;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
static restore(elements, index, contentLength, newElements) {
|
|
33
|
-
this.insertContent(elements, index, contentLength);
|
|
34
|
-
let indexInElements = elements.findIndex(x => x.insertIndex >= index);
|
|
35
|
-
indexInElements = indexInElements === -1 ? elements.length : indexInElements;
|
|
36
|
-
elements.splice(indexInElements, 0, ...newElements);
|
|
37
|
-
}
|
|
38
|
-
static replaceContent(elements, startIndex, endIndex, length) {
|
|
39
|
-
this.removeContent(elements, startIndex, endIndex);
|
|
40
|
-
this.insertContent(elements, startIndex, length);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZC1lbGVtZW50LW9wZXJhdGlvbnMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL29wZXJhdGlvbnMvaGVscGVycy9pbmRleGVkLWVsZW1lbnQtb3BlcmF0aW9ucy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLDhCQUE4QjtJQUN2QyxNQUFNLENBQUMsYUFBYSxDQUFpQyxRQUFhLEVBQUUsVUFBa0IsRUFBRSxRQUFnQjtRQUNwRyxNQUFNLE1BQU0sR0FBRyxRQUFRLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUN6QyxLQUFLLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDM0MsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLFVBQVUsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLFFBQVEsRUFBRTtnQkFDOUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDekI7U0FDSjtRQUNELFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLENBQUMsV0FBVyxHQUFHLFFBQVEsRUFBRTtnQkFDMUIsQ0FBQyxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFpQyxRQUFhLEVBQUUsT0FBVSxFQUFFLE1BQU0sR0FBRyxDQUFDO1FBQy9FLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNFLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNYLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDMUI7YUFBTTtZQUNILFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN0QztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFpQyxRQUFhLEVBQUUsS0FBYSxFQUFFLE1BQWM7UUFDN0YsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsQ0FBQyxXQUFXLElBQUksS0FBSyxFQUFFO2dCQUN4QixDQUFDLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQWlDLFFBQWEsRUFBRSxLQUFhLEVBQUUsYUFBcUIsRUFBRSxXQUFnQjtRQUNoSCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDbkQsSUFBSSxlQUFlLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLENBQUM7UUFDdEUsZUFBZSxHQUFHLGVBQWUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO1FBQzdFLFFBQVEsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFpQyxRQUFhLEVBQUUsVUFBa0IsRUFBRSxRQUFnQixFQUFFLE1BQWM7UUFDckgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnNlcnRJbmRleEludGVyZmFjZSB9IGZyb20gJy4uLy4uL3Bvc2l0aW9uaW5nL2luc2VydC1pbmRleC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgSW5kZXhlZEVsZW1lbnRPcGVyYXRpb25zSGVscGVyIHtcbiAgICBzdGF0aWMgcmVtb3ZlQ29udGVudDxUIGV4dGVuZHMgSW5zZXJ0SW5kZXhJbnRlcmZhY2U+KGVsZW1lbnRzOiBUW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBsZW5ndGggPSBlbmRJbmRleCAtIHN0YXJ0SW5kZXggKyAxO1xuICAgICAgICBmb3IgKGxldCBpID0gZWxlbWVudHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIGlmIChlbGVtZW50c1tpXS5pbnNlcnRJbmRleCA+PSBzdGFydEluZGV4ICYmIGVsZW1lbnRzW2ldLmluc2VydEluZGV4IDw9IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgZWxlbWVudHMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goeCA9PiB7XG4gICAgICAgICAgICBpZiAoeC5pbnNlcnRJbmRleCA+IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgeC5pbnNlcnRJbmRleCAtPSBsZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN0YXRpYyBpbnNlcnQ8VCBleHRlbmRzIEluc2VydEluZGV4SW50ZXJmYWNlPihlbGVtZW50czogVFtdLCBlbGVtZW50OiBULCBsZW5ndGggPSAxKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5zZXJ0Q29udGVudChlbGVtZW50cywgZWxlbWVudC5pbnNlcnRJbmRleCwgbGVuZ3RoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBlbGVtZW50cy5maW5kSW5kZXgoeCA9PiB4Lmluc2VydEluZGV4ID4gZWxlbWVudC5pbnNlcnRJbmRleCk7XG4gICAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgICAgIGVsZW1lbnRzLnB1c2goZWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbGVtZW50cy5zcGxpY2UoaW5kZXgsIDAsIGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGluc2VydENvbnRlbnQ8VCBleHRlbmRzIEluc2VydEluZGV4SW50ZXJmYWNlPihlbGVtZW50czogVFtdLCBpbmRleDogbnVtYmVyLCBsZW5ndGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBlbGVtZW50cy5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgaWYgKHguaW5zZXJ0SW5kZXggPj0gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICB4Lmluc2VydEluZGV4ICs9IGxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3RhdGljIHJlc3RvcmU8VCBleHRlbmRzIEluc2VydEluZGV4SW50ZXJmYWNlPihlbGVtZW50czogVFtdLCBpbmRleDogbnVtYmVyLCBjb250ZW50TGVuZ3RoOiBudW1iZXIsIG5ld0VsZW1lbnRzOiBUW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnNlcnRDb250ZW50KGVsZW1lbnRzLCBpbmRleCwgY29udGVudExlbmd0aCk7XG4gICAgICAgIGxldCBpbmRleEluRWxlbWVudHMgPSBlbGVtZW50cy5maW5kSW5kZXgoeCA9PiB4Lmluc2VydEluZGV4ID49IGluZGV4KTtcbiAgICAgICAgaW5kZXhJbkVsZW1lbnRzID0gaW5kZXhJbkVsZW1lbnRzID09PSAtMSA/IGVsZW1lbnRzLmxlbmd0aCA6IGluZGV4SW5FbGVtZW50cztcbiAgICAgICAgZWxlbWVudHMuc3BsaWNlKGluZGV4SW5FbGVtZW50cywgMCwgLi4ubmV3RWxlbWVudHMpO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXBsYWNlQ29udGVudDxUIGV4dGVuZHMgSW5zZXJ0SW5kZXhJbnRlcmZhY2U+KGVsZW1lbnRzOiBUW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVDb250ZW50KGVsZW1lbnRzLCBzdGFydEluZGV4LCBlbmRJbmRleCk7XG4gICAgICAgIHRoaXMuaW5zZXJ0Q29udGVudChlbGVtZW50cywgc3RhcnRJbmRleCwgbGVuZ3RoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { FormatStyleHelper } from '../../execution/helpers/format-style.helper';
|
|
2
|
-
import { FormatModel } from '../../../models/generated/format.model';
|
|
3
|
-
import { FormatOperationsHelper } from './format-operations.helper';
|
|
4
|
-
import { LinkModel } from '../../../models/generated/link.model';
|
|
5
|
-
export class LinkOperationsHelper {
|
|
6
|
-
static insert(links, link, startIndex, endIndex, linkStyle) {
|
|
7
|
-
LinkOperationsHelper.insertContent(links, startIndex, endIndex - startIndex + 1);
|
|
8
|
-
const linkModel = new LinkModel({
|
|
9
|
-
startIndex: startIndex,
|
|
10
|
-
link,
|
|
11
|
-
endIndex,
|
|
12
|
-
formats: [new FormatModel({ startIndex: 0, endIndex: endIndex - startIndex, textStyle: linkStyle })]
|
|
13
|
-
});
|
|
14
|
-
const index = links.findIndex(x => x.startIndex > linkModel.startIndex);
|
|
15
|
-
if (index < 0) {
|
|
16
|
-
links.push(linkModel);
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
links.splice(index, 0, linkModel);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
static insertStyledContent(links, index, textLength, style) {
|
|
23
|
-
this.insertContent(links, index, textLength);
|
|
24
|
-
this.apply(links, index, index + textLength - 1, style);
|
|
25
|
-
}
|
|
26
|
-
static insertContent(links, insertIndex, textLength) {
|
|
27
|
-
for (let link of links) {
|
|
28
|
-
if (link.startIndex < insertIndex && link.endIndex >= insertIndex) {
|
|
29
|
-
link.endIndex += textLength;
|
|
30
|
-
const indexInLink = insertIndex - link.startIndex;
|
|
31
|
-
const format = link.formats.find(x => x.startIndex <= indexInLink && x.endIndex >= indexInLink);
|
|
32
|
-
format.endIndex += textLength;
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
if (link.startIndex >= insertIndex) {
|
|
36
|
-
link.startIndex += textLength;
|
|
37
|
-
link.endIndex += textLength;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
static removeContent(links, startIndex, endIndex) {
|
|
42
|
-
const length = endIndex - startIndex + 1;
|
|
43
|
-
for (let i = links.length - 1; i >= 0; i--) {
|
|
44
|
-
if (links[i].startIndex >= startIndex && links[i].endIndex <= endIndex) {
|
|
45
|
-
links.splice(i, 1);
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
if (endIndex < links[i].startIndex) {
|
|
49
|
-
links[i].startIndex -= length;
|
|
50
|
-
links[i].endIndex -= length;
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
if (links[i].startIndex <= startIndex && links[i].endIndex >= endIndex) {
|
|
54
|
-
const startInLink = startIndex - links[i].startIndex;
|
|
55
|
-
const endInLink = endIndex - links[i].startIndex;
|
|
56
|
-
links[i].endIndex -= length;
|
|
57
|
-
FormatOperationsHelper.removeContent(links[i].formats, startInLink, endInLink);
|
|
58
|
-
continue;
|
|
59
|
-
}
|
|
60
|
-
if (links[i].startIndex >= startIndex && links[i].startIndex <= endIndex) {
|
|
61
|
-
const endInLink = endIndex - links[i].startIndex;
|
|
62
|
-
links[i].startIndex = startIndex;
|
|
63
|
-
links[i].endIndex -= length;
|
|
64
|
-
FormatOperationsHelper.removeContent(links[i].formats, 0, endInLink);
|
|
65
|
-
continue;
|
|
66
|
-
}
|
|
67
|
-
if (links[i].endIndex >= startIndex && links[i].endIndex <= endIndex) {
|
|
68
|
-
const startInLink = startIndex - links[i].startIndex;
|
|
69
|
-
const endInLink = links[i].formats[links[i].formats.length - 1].endIndex;
|
|
70
|
-
links[i].endIndex = startIndex - 1;
|
|
71
|
-
FormatOperationsHelper.removeContent(links[i].formats, startInLink, endInLink);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
static restore(links, startIndex, contentLength, newLinks) {
|
|
76
|
-
this.insertContent(links, startIndex, contentLength);
|
|
77
|
-
let indexInElements = links.findIndex(x => x.startIndex >= startIndex);
|
|
78
|
-
indexInElements = indexInElements === -1 ? links.length : indexInElements;
|
|
79
|
-
links.splice(indexInElements, 0, ...newLinks);
|
|
80
|
-
this.merge(links, startIndex - 1, startIndex + contentLength);
|
|
81
|
-
}
|
|
82
|
-
static restoreFormats(links, formats) {
|
|
83
|
-
formats.forEach(x => this.apply(links, x.startIndex, x.endIndex, x.textStyle));
|
|
84
|
-
}
|
|
85
|
-
static replaceContent(links, startIndex, endIndex, length) {
|
|
86
|
-
this.removeContent(links, startIndex, endIndex);
|
|
87
|
-
this.insertContent(links, startIndex, length);
|
|
88
|
-
}
|
|
89
|
-
static apply(links, startIndex, endIndex, style) {
|
|
90
|
-
for (let link of links) {
|
|
91
|
-
if (link.startIndex > endIndex || link.endIndex < startIndex) {
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
const start = startIndex > link.startIndex ? startIndex - link.startIndex : 0;
|
|
95
|
-
FormatOperationsHelper.apply(link.formats, start, endIndex - link.startIndex, style);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
static merge(links, start, end) {
|
|
99
|
-
const firstIndex = links.findIndex(x => x.endIndex >= start);
|
|
100
|
-
if (firstIndex === -1) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
for (let link of links) {
|
|
104
|
-
if (link.startIndex <= start && link.endIndex >= end) {
|
|
105
|
-
const newLink = links[firstIndex + 1];
|
|
106
|
-
newLink.formats.forEach(x => {
|
|
107
|
-
x.startIndex += newLink.startIndex - link.startIndex;
|
|
108
|
-
x.endIndex += newLink.startIndex - link.startIndex;
|
|
109
|
-
});
|
|
110
|
-
for (let { startIndex, endIndex, textStyle } of newLink.formats) {
|
|
111
|
-
FormatOperationsHelper.apply(link.formats, startIndex, endIndex - startIndex + 1, textStyle);
|
|
112
|
-
}
|
|
113
|
-
links.splice(firstIndex + 1, 1);
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
let lastIndex = firstIndex;
|
|
118
|
-
while (lastIndex < links.length - 1 && links[lastIndex].endIndex < end) {
|
|
119
|
-
lastIndex++;
|
|
120
|
-
}
|
|
121
|
-
for (let i = lastIndex; i > firstIndex; i--) {
|
|
122
|
-
const previous = links[i - 1];
|
|
123
|
-
if (previous.endIndex + 1 === links[i].startIndex && previous.link === links[i].link) {
|
|
124
|
-
previous.endIndex = links[i].endIndex;
|
|
125
|
-
links[i].formats.forEach(x => {
|
|
126
|
-
x.startIndex += previous.formats[previous.formats.length - 1].endIndex + 1;
|
|
127
|
-
x.endIndex += previous.formats[previous.formats.length - 1].endIndex + 1;
|
|
128
|
-
});
|
|
129
|
-
previous.formats.push(...links[i].formats);
|
|
130
|
-
links.splice(i, 1);
|
|
131
|
-
FormatStyleHelper.mergeFormats(previous.formats, 0, previous.endIndex - previous.startIndex);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1vcGVyYXRpb25zLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9vcGVyYXRpb25zL2hlbHBlcnMvbGluay1vcGVyYXRpb25zLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBR2pFLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFrQixFQUFFLElBQVksRUFBRSxVQUFrQixFQUFFLFFBQWdCLEVBQUUsU0FBeUI7UUFDM0csb0JBQW9CLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRixNQUFNLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUM1QixVQUFVLEVBQUUsVUFBVTtZQUN0QixJQUFJO1lBQ0osUUFBUTtZQUNSLE9BQU8sRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxHQUFHLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztTQUN2RyxDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEUsSUFBSSxLQUFLLEdBQUcsQ0FB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UUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO29CQUMzRSxDQUFDLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDN0UsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzNDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixpQkFBaUIsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEc7U0FDSjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1hdFN0eWxlSGVscGVyIH0gZnJvbSAnLi4vLi4vZXhlY3V0aW9uL2hlbHBlcnMvZm9ybWF0LXN0eWxlLmhlbHBlcic7XG5pbXBvcnQgeyBGb3JtYXRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvZm9ybWF0Lm1vZGVsJztcbmltcG9ydCB7IEZvcm1hdE9wZXJhdGlvbnNIZWxwZXIgfSBmcm9tICcuL2Zvcm1hdC1vcGVyYXRpb25zLmhlbHBlcic7XG5pbXBvcnQgeyBMaW5rTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2xpbmsubW9kZWwnO1xuaW1wb3J0IHsgVGV4dFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RleHQtc3R5bGUubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgTGlua09wZXJhdGlvbnNIZWxwZXIge1xuICAgIHN0YXRpYyBpbnNlcnQobGlua3M6IExpbmtNb2RlbFtdLCBsaW5rOiBzdHJpbmcsIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgbGlua1N0eWxlOiBUZXh0U3R5bGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBMaW5rT3BlcmF0aW9uc0hlbHBlci5pbnNlcnRDb250ZW50KGxpbmtzLCBzdGFydEluZGV4LCBlbmRJbmRleCAtIHN0YXJ0SW5kZXggKyAxKTtcbiAgICAgICAgY29uc3QgbGlua01vZGVsID0gbmV3IExpbmtNb2RlbCh7XG4gICAgICAgICAgICBzdGFydEluZGV4OiBzdGFydEluZGV4LFxuICAgICAgICAgICAgbGluayxcbiAgICAgICAgICAgIGVuZEluZGV4LFxuICAgICAgICAgICAgZm9ybWF0czogW25ldyBGb3JtYXRNb2RlbCh7IHN0YXJ0SW5kZXg6IDAsIGVuZEluZGV4OiBlbmRJbmRleCAtIHN0YXJ0SW5kZXgsIHRleHRTdHlsZTogbGlua1N0eWxlIH0pXVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBsaW5rcy5maW5kSW5kZXgoeCA9PiB4LnN0YXJ0SW5kZXggPiBsaW5rTW9kZWwuc3RhcnRJbmRleCk7XG4gICAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgICAgIGxpbmtzLnB1c2gobGlua01vZGVsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpbmtzLnNwbGljZShpbmRleCwgMCwgbGlua01vZGVsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBpbnNlcnRTdHlsZWRDb250ZW50KGxpbmtzOiBMaW5rTW9kZWxbXSwgaW5kZXg6IG51bWJlciwgdGV4dExlbmd0aDogbnVtYmVyLCBzdHlsZTogVGV4dFN0eWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnNlcnRDb250ZW50KGxpbmtzLCBpbmRleCwgdGV4dExlbmd0aCk7XG4gICAgICAgIHRoaXMuYXBwbHkobGlua3MsIGluZGV4LCBpbmRleCArIHRleHRMZW5ndGggLSAxLCBzdHlsZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGluc2VydENvbnRlbnQobGlua3M6IExpbmtNb2RlbFtdLCBpbnNlcnRJbmRleDogbnVtYmVyLCB0ZXh0TGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgZm9yIChsZXQgbGluayBvZiBsaW5rcykge1xuICAgICAgICAgICAgaWYgKGxpbmsuc3RhcnRJbmRleCA8IGluc2VydEluZGV4ICYmIGxpbmsuZW5kSW5kZXggPj0gaW5zZXJ0SW5kZXgpIHtcbiAgICAgICAgICAgICAgICBsaW5rLmVuZEluZGV4ICs9IHRleHRMZW5ndGg7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXhJbkxpbmsgPSBpbnNlcnRJbmRleCAtIGxpbmsuc3RhcnRJbmRleDtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXQgPSBsaW5rLmZvcm1hdHMuZmluZCh4ID0+IHguc3RhcnRJbmRleCA8PSBpbmRleEluTGluayAmJiB4LmVuZEluZGV4ID49IGluZGV4SW5MaW5rKTtcbiAgICAgICAgICAgICAgICBmb3JtYXQuZW5kSW5kZXggKz0gdGV4dExlbmd0aDtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsaW5rLnN0YXJ0SW5kZXggPj0gaW5zZXJ0SW5kZXgpIHtcbiAgICAgICAgICAgICAgICBsaW5rLnN0YXJ0SW5kZXggKz0gdGV4dExlbmd0aDtcbiAgICAgICAgICAgICAgICBsaW5rLmVuZEluZGV4ICs9IHRleHRMZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgcmVtb3ZlQ29udGVudChsaW5rczogTGlua01vZGVsW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBsZW5ndGggPSBlbmRJbmRleCAtIHN0YXJ0SW5kZXggKyAxO1xuICAgICAgICBmb3IgKGxldCBpID0gbGlua3MubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIGlmIChsaW5rc1tpXS5zdGFydEluZGV4ID49IHN0YXJ0SW5kZXggJiYgbGlua3NbaV0uZW5kSW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBsaW5rcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZW5kSW5kZXggPCBsaW5rc1tpXS5zdGFydEluZGV4KSB7XG4gICAgICAgICAgICAgICAgbGlua3NbaV0uc3RhcnRJbmRleCAtPSBsZW5ndGg7XG4gICAgICAgICAgICAgICAgbGlua3NbaV0uZW5kSW5kZXggLT0gbGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGxpbmtzW2ldLnN0YXJ0SW5kZXggPD0gc3RhcnRJbmRleCAmJiBsaW5rc1tpXS5lbmRJbmRleCA+PSBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0SW5MaW5rID0gc3RhcnRJbmRleCAtIGxpbmtzW2ldLnN0YXJ0SW5kZXg7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kSW5MaW5rID0gZW5kSW5kZXggLSBsaW5rc1tpXS5zdGFydEluZGV4O1xuICAgICAgICAgICAgICAgIGxpbmtzW2ldLmVuZEluZGV4IC09IGxlbmd0aDtcbiAgICAgICAgICAgICAgICBGb3JtYXRPcGVyYXRpb25zSGVscGVyLnJlbW92ZUNvbnRlbnQobGlua3NbaV0uZm9ybWF0cywgc3RhcnRJbkxpbmssIGVuZEluTGluayk7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGlua3NbaV0uc3RhcnRJbmRleCA+PSBzdGFydEluZGV4ICYmIGxpbmtzW2ldLnN0YXJ0SW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmRJbkxpbmsgPSBlbmRJbmRleCAtIGxpbmtzW2ldLnN0YXJ0SW5kZXg7XG4gICAgICAgICAgICAgICAgbGlua3NbaV0uc3RhcnRJbmRleCA9IHN0YXJ0SW5kZXg7XG4gICAgICAgICAgICAgICAgbGlua3NbaV0uZW5kSW5kZXggLT0gbGVuZ3RoO1xuICAgICAgICAgICAgICAgIEZvcm1hdE9wZXJhdGlvbnNIZWxwZXIucmVtb3ZlQ29udGVudChsaW5rc1tpXS5mb3JtYXRzLCAwLCBlbmRJbkxpbmspO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGxpbmtzW2ldLmVuZEluZGV4ID49IHN0YXJ0SW5kZXggJiYgbGlua3NbaV0uZW5kSW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydEluTGluayA9IHN0YXJ0SW5kZXggLSBsaW5rc1tpXS5zdGFydEluZGV4O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZEluTGluayA9IGxpbmtzW2ldLmZvcm1hdHNbbGlua3NbaV0uZm9ybWF0cy5sZW5ndGggLSAxXS5lbmRJbmRleDtcbiAgICAgICAgICAgICAgICBsaW5rc1tpXS5lbmRJbmRleCA9IHN0YXJ0SW5kZXggLSAxO1xuICAgICAgICAgICAgICAgIEZvcm1hdE9wZXJhdGlvbnNIZWxwZXIucmVtb3ZlQ29udGVudChsaW5rc1tpXS5mb3JtYXRzLCBzdGFydEluTGluaywgZW5kSW5MaW5rKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyByZXN0b3JlKGxpbmtzOiBMaW5rTW9kZWxbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBjb250ZW50TGVuZ3RoOiBudW1iZXIsIG5ld0xpbmtzOiBMaW5rTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmluc2VydENvbnRlbnQobGlua3MsIHN0YXJ0SW5kZXgsIGNvbnRlbnRMZW5ndGgpO1xuICAgICAgICBsZXQgaW5kZXhJbkVsZW1lbnRzID0gbGlua3MuZmluZEluZGV4KHggPT4geC5zdGFydEluZGV4ID49IHN0YXJ0SW5kZXgpO1xuICAgICAgICBpbmRleEluRWxlbWVudHMgPSBpbmRleEluRWxlbWVudHMgPT09IC0xID8gbGlua3MubGVuZ3RoIDogaW5kZXhJbkVsZW1lbnRzO1xuICAgICAgICBsaW5rcy5zcGxpY2UoaW5kZXhJbkVsZW1lbnRzLCAwLCAuLi5uZXdMaW5rcyk7XG4gICAgICAgIHRoaXMubWVyZ2UobGlua3MsIHN0YXJ0SW5kZXggLSAxLCBzdGFydEluZGV4ICsgY29udGVudExlbmd0aCk7XG4gICAgfVxuXG4gICAgc3RhdGljIHJlc3RvcmVGb3JtYXRzKGxpbmtzOiBMaW5rTW9kZWxbXSwgZm9ybWF0czogRm9ybWF0TW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBmb3JtYXRzLmZvckVhY2goeCA9PiB0aGlzLmFwcGx5KGxpbmtzLCB4LnN0YXJ0SW5kZXgsIHguZW5kSW5kZXgsIHgudGV4dFN0eWxlKSk7XG4gICAgfVxuXG4gICAgc3RhdGljIHJlcGxhY2VDb250ZW50KGxpbmtzOiBMaW5rTW9kZWxbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyLCBsZW5ndGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUNvbnRlbnQobGlua3MsIHN0YXJ0SW5kZXgsIGVuZEluZGV4KTtcbiAgICAgICAgdGhpcy5pbnNlcnRDb250ZW50KGxpbmtzLCBzdGFydEluZGV4LCBsZW5ndGgpO1xuICAgIH1cblxuICAgIHN0YXRpYyBhcHBseShsaW5rczogTGlua01vZGVsW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgc3R5bGU6IFRleHRTdHlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGZvciAobGV0IGxpbmsgb2YgbGlua3MpIHtcbiAgICAgICAgICAgIGlmIChsaW5rLnN0YXJ0SW5kZXggPiBlbmRJbmRleCB8fCBsaW5rLmVuZEluZGV4IDwgc3RhcnRJbmRleCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IHN0YXJ0SW5kZXggPiBsaW5rLnN0YXJ0SW5kZXggPyBzdGFydEluZGV4IC0gbGluay5zdGFydEluZGV4IDogMDtcbiAgICAgICAgICAgIEZvcm1hdE9wZXJhdGlvbnNIZWxwZXIuYXBwbHkobGluay5mb3JtYXRzLCBzdGFydCwgZW5kSW5kZXggLSBsaW5rLnN0YXJ0SW5kZXgsIHN0eWxlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIG1lcmdlKGxpbmtzOiBMaW5rTW9kZWxbXSwgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlyc3RJbmRleCA9IGxpbmtzLmZpbmRJbmRleCh4ID0+IHguZW5kSW5kZXggPj0gc3RhcnQpO1xuICAgICAgICBpZiAoZmlyc3RJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBsaW5rIG9mIGxpbmtzKSB7XG4gICAgICAgICAgICBpZiAobGluay5zdGFydEluZGV4IDw9IHN0YXJ0ICYmIGxpbmsuZW5kSW5kZXggPj0gZW5kKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3TGluayA9IGxpbmtzW2ZpcnN0SW5kZXggKyAxXTtcbiAgICAgICAgICAgICAgICBuZXdMaW5rLmZvcm1hdHMuZm9yRWFjaCh4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgeC5zdGFydEluZGV4ICs9IG5ld0xpbmsuc3RhcnRJbmRleCAtIGxpbmsuc3RhcnRJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgeC5lbmRJbmRleCArPSBuZXdMaW5rLnN0YXJ0SW5kZXggLSBsaW5rLnN0YXJ0SW5kZXg7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGxldCB7IHN0YXJ0SW5kZXgsIGVuZEluZGV4LCB0ZXh0U3R5bGUgfSBvZiBuZXdMaW5rLmZvcm1hdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgRm9ybWF0T3BlcmF0aW9uc0hlbHBlci5hcHBseShsaW5rLmZvcm1hdHMsIHN0YXJ0SW5kZXgsIGVuZEluZGV4IC0gc3RhcnRJbmRleCArIDEsIHRleHRTdHlsZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGlua3Muc3BsaWNlKGZpcnN0SW5kZXggKyAxLCAxKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbGFzdEluZGV4ID0gZmlyc3RJbmRleDtcbiAgICAgICAgd2hpbGUgKGxhc3RJbmRleCA8IGxpbmtzLmxlbmd0aCAtIDEgJiYgbGlua3NbbGFzdEluZGV4XS5lbmRJbmRleCA8IGVuZCkge1xuICAgICAgICAgICAgbGFzdEluZGV4Kys7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGxldCBpID0gbGFzdEluZGV4OyBpID4gZmlyc3RJbmRleDsgaS0tKSB7XG4gICAgICAgICAgICBjb25zdCBwcmV2aW91cyA9IGxpbmtzW2kgLSAxXTtcbiAgICAgICAgICAgIGlmIChwcmV2aW91cy5lbmRJbmRleCArIDEgPT09IGxpbmtzW2ldLnN0YXJ0SW5kZXggJiYgcHJldmlvdXMubGluayA9PT0gbGlua3NbaV0ubGluaykge1xuICAgICAgICAgICAgICAgIHByZXZpb3VzLmVuZEluZGV4ID0gbGlua3NbaV0uZW5kSW5kZXg7XG4gICAgICAgICAgICAgICAgbGlua3NbaV0uZm9ybWF0cy5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgICAgICAgICB4LnN0YXJ0SW5kZXggKz0gcHJldmlvdXMuZm9ybWF0c1twcmV2aW91cy5mb3JtYXRzLmxlbmd0aCAtIDFdLmVuZEluZGV4ICsgMTtcbiAgICAgICAgICAgICAgICAgICAgeC5lbmRJbmRleCArPSBwcmV2aW91cy5mb3JtYXRzW3ByZXZpb3VzLmZvcm1hdHMubGVuZ3RoIC0gMV0uZW5kSW5kZXggKyAxO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHByZXZpb3VzLmZvcm1hdHMucHVzaCguLi5saW5rc1tpXS5mb3JtYXRzKTtcbiAgICAgICAgICAgICAgICBsaW5rcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgRm9ybWF0U3R5bGVIZWxwZXIubWVyZ2VGb3JtYXRzKHByZXZpb3VzLmZvcm1hdHMsIDAsIHByZXZpb3VzLmVuZEluZGV4IC0gcHJldmlvdXMuc3RhcnRJbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { NumberingModel } from '../../../models/generated/numbering.model';
|
|
2
|
-
export class NumberingOperationsHelper {
|
|
3
|
-
static addNumbering(numberings, numberingId, levels) {
|
|
4
|
-
const newNumbering = new NumberingModel({ numberingId: numberingId, levels });
|
|
5
|
-
numberings.push(newNumbering);
|
|
6
|
-
}
|
|
7
|
-
static generateNumberingId(numberings) {
|
|
8
|
-
let result = 0;
|
|
9
|
-
for (const numbering of numberings) {
|
|
10
|
-
if (numbering.numberingId > result) {
|
|
11
|
-
result = numbering.numberingId;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return result + 1;
|
|
15
|
-
}
|
|
16
|
-
static restore(numberings, numberingsToRestore) {
|
|
17
|
-
for (let numberingToRestore of numberingsToRestore) {
|
|
18
|
-
const isNumberingAlreadyExist = numberings.some(x => x.numberingId === numberingToRestore.numberingId);
|
|
19
|
-
if (isNumberingAlreadyExist) {
|
|
20
|
-
continue;
|
|
21
|
-
}
|
|
22
|
-
const insertIndex = numberings.findIndex(x => x.numberingId > numberingToRestore.numberingId);
|
|
23
|
-
if (insertIndex === -1) {
|
|
24
|
-
numberings.push(numberingToRestore);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
numberings.splice(insertIndex, 0, numberingToRestore);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
static deleteUnused(numberings, paragraphs, numberingIds) {
|
|
32
|
-
let unusedNumberingIds = this.filterUnusedIds(paragraphs, numberingIds);
|
|
33
|
-
this.delete(numberings, unusedNumberingIds);
|
|
34
|
-
}
|
|
35
|
-
static delete(numberings, numberingIds) {
|
|
36
|
-
for (let numberingId of numberingIds) {
|
|
37
|
-
const index = numberings.findIndex(x => x.numberingId === numberingId);
|
|
38
|
-
numberings.splice(index, 1);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
static filterUnusedIds(paragraphs, numberingIds) {
|
|
42
|
-
const unusedNumberingIds = [...numberingIds];
|
|
43
|
-
let index = 0;
|
|
44
|
-
while (index < paragraphs.length && unusedNumberingIds.length !== 0) {
|
|
45
|
-
if (paragraphs[index].paragraphStyle.numberingId !== null &&
|
|
46
|
-
unusedNumberingIds.includes(paragraphs[index].paragraphStyle.numberingId)) {
|
|
47
|
-
const deleteIndex = unusedNumberingIds.indexOf(paragraphs[index].paragraphStyle.numberingId);
|
|
48
|
-
unusedNumberingIds.splice(deleteIndex, 1);
|
|
49
|
-
}
|
|
50
|
-
index++;
|
|
51
|
-
}
|
|
52
|
-
return unusedNumberingIds;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaW5nLW9wZXJhdGlvbnMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL29wZXJhdGlvbnMvaGVscGVycy9udW1iZXJpbmctb3BlcmF0aW9ucy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRzNFLE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUE0QixFQUFFLFdBQW1CLEVBQUUsTUFBNkI7UUFDaEcsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDOUUsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQTRCO1FBQ25ELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNmLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFO1lBQ2hDLElBQUksU0FBUyxDQUFDLFdBQVcsR0FBRyxNQUFNLEVBQUU7Z0JBQ2hDLE1BQU0sR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDO2FBQ2xDO1NBQ0o7UUFFRCxPQUFPLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBNEIsRUFBRSxtQkFBcUM7UUFDOUUsS0FBSyxJQUFJLGtCQUFrQixJQUFJLG1CQUFtQixFQUFFO1lBQ2hELE1BQU0sdUJBQXVCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkcsSUFBSSx1QkFBdUIsRUFBRTtnQkFDekIsU0FBUzthQUNaO1lBRUQsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUYsSUFBSSxXQUFXLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BCLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUN2QztpQkFBTTtnQkFDSCxVQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQzthQUN6RDtTQUNKO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBNEIsRUFBRSxVQUE0QixFQUFFLFlBQXNCO1FBQ2xHLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUE0QixFQUFFLFlBQXNCO1FBQzlELEtBQUssSUFBSSxXQUFXLElBQUksWUFBWSxFQUFFO1lBQ2xDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZFLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztJQUVPLE1BQU0sQ0FBQyxlQUFlLENBQUMsVUFBNEIsRUFBRSxZQUFzQjtRQUMvRSxNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQztRQUM3QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxPQUFPLEtBQUssR0FBRyxVQUFVLENBQUMsTUFBTSxJQUFJLGtCQUFrQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDakUsSUFDSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLFdBQVcsS0FBSyxJQUFJO2dCQUNyRCxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsRUFDM0U7Z0JBQ0UsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzdGLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDN0M7WUFFRCxLQUFLLEVBQUUsQ0FBQztTQUNYO1FBRUQsT0FBTyxrQkFBa0IsQ0FBQztJQUM5QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOdW1iZXJpbmdMZXZlbE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9udW1iZXJpbmctbGV2ZWwubW9kZWwnO1xuaW1wb3J0IHsgTnVtYmVyaW5nTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL251bWJlcmluZy5tb2RlbCc7XG5pbXBvcnQgeyBQYXJhZ3JhcGhNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIE51bWJlcmluZ09wZXJhdGlvbnNIZWxwZXIge1xuICAgIHN0YXRpYyBhZGROdW1iZXJpbmcobnVtYmVyaW5nczogTnVtYmVyaW5nTW9kZWxbXSwgbnVtYmVyaW5nSWQ6IG51bWJlciwgbGV2ZWxzOiBOdW1iZXJpbmdMZXZlbE1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV3TnVtYmVyaW5nID0gbmV3IE51bWJlcmluZ01vZGVsKHsgbnVtYmVyaW5nSWQ6IG51bWJlcmluZ0lkLCBsZXZlbHMgfSk7XG4gICAgICAgIG51bWJlcmluZ3MucHVzaChuZXdOdW1iZXJpbmcpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZW5lcmF0ZU51bWJlcmluZ0lkKG51bWJlcmluZ3M6IE51bWJlcmluZ01vZGVsW10pOiBudW1iZXIge1xuICAgICAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBudW1iZXJpbmcgb2YgbnVtYmVyaW5ncykge1xuICAgICAgICAgICAgaWYgKG51bWJlcmluZy5udW1iZXJpbmdJZCA+IHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IG51bWJlcmluZy5udW1iZXJpbmdJZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQgKyAxO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXN0b3JlKG51bWJlcmluZ3M6IE51bWJlcmluZ01vZGVsW10sIG51bWJlcmluZ3NUb1Jlc3RvcmU6IE51bWJlcmluZ01vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgZm9yIChsZXQgbnVtYmVyaW5nVG9SZXN0b3JlIG9mIG51bWJlcmluZ3NUb1Jlc3RvcmUpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTnVtYmVyaW5nQWxyZWFkeUV4aXN0ID0gbnVtYmVyaW5ncy5zb21lKHggPT4geC5udW1iZXJpbmdJZCA9PT0gbnVtYmVyaW5nVG9SZXN0b3JlLm51bWJlcmluZ0lkKTtcbiAgICAgICAgICAgIGlmIChpc051bWJlcmluZ0FscmVhZHlFeGlzdCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBpbnNlcnRJbmRleCA9IG51bWJlcmluZ3MuZmluZEluZGV4KHggPT4geC5udW1iZXJpbmdJZCA+IG51bWJlcmluZ1RvUmVzdG9yZS5udW1iZXJpbmdJZCk7XG4gICAgICAgICAgICBpZiAoaW5zZXJ0SW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgbnVtYmVyaW5ncy5wdXNoKG51bWJlcmluZ1RvUmVzdG9yZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG51bWJlcmluZ3Muc3BsaWNlKGluc2VydEluZGV4LCAwLCBudW1iZXJpbmdUb1Jlc3RvcmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGRlbGV0ZVVudXNlZChudW1iZXJpbmdzOiBOdW1iZXJpbmdNb2RlbFtdLCBwYXJhZ3JhcGhzOiBQYXJhZ3JhcGhNb2RlbFtdLCBudW1iZXJpbmdJZHM6IG51bWJlcltdKTogdm9pZCB7XG4gICAgICAgIGxldCB1bnVzZWROdW1iZXJpbmdJZHMgPSB0aGlzLmZpbHRlclVudXNlZElkcyhwYXJhZ3JhcGhzLCBudW1iZXJpbmdJZHMpO1xuICAgICAgICB0aGlzLmRlbGV0ZShudW1iZXJpbmdzLCB1bnVzZWROdW1iZXJpbmdJZHMpO1xuICAgIH1cblxuICAgIHN0YXRpYyBkZWxldGUobnVtYmVyaW5nczogTnVtYmVyaW5nTW9kZWxbXSwgbnVtYmVyaW5nSWRzOiBudW1iZXJbXSk6IHZvaWQge1xuICAgICAgICBmb3IgKGxldCBudW1iZXJpbmdJZCBvZiBudW1iZXJpbmdJZHMpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gbnVtYmVyaW5ncy5maW5kSW5kZXgoeCA9PiB4Lm51bWJlcmluZ0lkID09PSBudW1iZXJpbmdJZCk7XG4gICAgICAgICAgICBudW1iZXJpbmdzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBmaWx0ZXJVbnVzZWRJZHMocGFyYWdyYXBoczogUGFyYWdyYXBoTW9kZWxbXSwgbnVtYmVyaW5nSWRzOiBudW1iZXJbXSk6IG51bWJlcltdIHtcbiAgICAgICAgY29uc3QgdW51c2VkTnVtYmVyaW5nSWRzID0gWy4uLm51bWJlcmluZ0lkc107XG4gICAgICAgIGxldCBpbmRleCA9IDA7XG4gICAgICAgIHdoaWxlIChpbmRleCA8IHBhcmFncmFwaHMubGVuZ3RoICYmIHVudXNlZE51bWJlcmluZ0lkcy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBwYXJhZ3JhcGhzW2luZGV4XS5wYXJhZ3JhcGhTdHlsZS5udW1iZXJpbmdJZCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHVudXNlZE51bWJlcmluZ0lkcy5pbmNsdWRlcyhwYXJhZ3JhcGhzW2luZGV4XS5wYXJhZ3JhcGhTdHlsZS5udW1iZXJpbmdJZClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlbGV0ZUluZGV4ID0gdW51c2VkTnVtYmVyaW5nSWRzLmluZGV4T2YocGFyYWdyYXBoc1tpbmRleF0ucGFyYWdyYXBoU3R5bGUubnVtYmVyaW5nSWQpO1xuICAgICAgICAgICAgICAgIHVudXNlZE51bWJlcmluZ0lkcy5zcGxpY2UoZGVsZXRlSW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVudXNlZE51bWJlcmluZ0lkcztcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_PARAGRAPH_STYLE } from '../../content/constants/editor.const';
|
|
2
|
-
import { IndexedElementOperationsHelper } from './indexed-element-operations.helper';
|
|
3
|
-
import { ParagraphModel } from '../../../models/generated/paragraph.model';
|
|
4
|
-
import { ParagraphStyleModel } from '../../../models/generated/paragraph-style.model';
|
|
5
|
-
export class ParagraphOperationsHelper {
|
|
6
|
-
static insertContent(paragraphs, text, textIndex) {
|
|
7
|
-
IndexedElementOperationsHelper.insertContent(paragraphs, textIndex, text.length);
|
|
8
|
-
this.insertParagraphsFromText(paragraphs, text, textIndex);
|
|
9
|
-
}
|
|
10
|
-
static replace(paragraphs, text, startIndex, endIndex) {
|
|
11
|
-
IndexedElementOperationsHelper.replaceContent(paragraphs, startIndex, endIndex, text.length);
|
|
12
|
-
this.insertParagraphsFromText(paragraphs, text, startIndex);
|
|
13
|
-
}
|
|
14
|
-
static insertParagraphsFromText(paragraphs, text, textIndex) {
|
|
15
|
-
const parentParagraph = paragraphs.find(x => x.insertIndex >= textIndex);
|
|
16
|
-
const createdParagraphs = [...text.matchAll(/\n/g)].map(x => new ParagraphModel({
|
|
17
|
-
insertIndex: x.index + textIndex,
|
|
18
|
-
paragraphStyle: parentParagraph?.paragraphStyle ?? DEFAULT_PARAGRAPH_STYLE
|
|
19
|
-
}));
|
|
20
|
-
const index = parentParagraph !== null ? paragraphs.findIndex(x => x === parentParagraph) : 0;
|
|
21
|
-
paragraphs.splice(index, 0, ...createdParagraphs);
|
|
22
|
-
}
|
|
23
|
-
static insertParagraphsFromModel(paragraphs, insertIndex) {
|
|
24
|
-
const currentParagraph = paragraphs
|
|
25
|
-
.slice()
|
|
26
|
-
.sort((a, b) => a.insertIndex - b.insertIndex)
|
|
27
|
-
.find(x => x.insertIndex >= insertIndex);
|
|
28
|
-
const previousParagraph = paragraphs
|
|
29
|
-
.slice()
|
|
30
|
-
.sort((a, b) => b.insertIndex - a.insertIndex)
|
|
31
|
-
.find(x => x.insertIndex < currentParagraph.insertIndex);
|
|
32
|
-
const currentParagraphIndex = paragraphs.findIndex(x => x === currentParagraph);
|
|
33
|
-
let createdParagraphs;
|
|
34
|
-
if (insertIndex === 0 || previousParagraph?.insertIndex === insertIndex - 1) {
|
|
35
|
-
createdParagraphs = [new ParagraphModel({ insertIndex, paragraphStyle: DEFAULT_PARAGRAPH_STYLE })];
|
|
36
|
-
IndexedElementOperationsHelper.insertContent(paragraphs, createdParagraphs[0].insertIndex, createdParagraphs.length);
|
|
37
|
-
paragraphs.splice(currentParagraphIndex, 0, ...createdParagraphs);
|
|
38
|
-
}
|
|
39
|
-
else if (currentParagraph.insertIndex === insertIndex) {
|
|
40
|
-
createdParagraphs = [new ParagraphModel({ insertIndex: insertIndex + 1, paragraphStyle: currentParagraph.paragraphStyle })];
|
|
41
|
-
IndexedElementOperationsHelper.insertContent(paragraphs, createdParagraphs[0].insertIndex, createdParagraphs.length);
|
|
42
|
-
paragraphs.splice(currentParagraphIndex + 1, 0, ...createdParagraphs);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
createdParagraphs = [
|
|
46
|
-
new ParagraphModel({ insertIndex, paragraphStyle: currentParagraph.paragraphStyle }),
|
|
47
|
-
new ParagraphModel({ insertIndex: insertIndex + 1, paragraphStyle: currentParagraph.paragraphStyle })
|
|
48
|
-
];
|
|
49
|
-
IndexedElementOperationsHelper.insertContent(paragraphs, currentParagraph.insertIndex, createdParagraphs.length);
|
|
50
|
-
paragraphs.splice(currentParagraphIndex, 0, ...createdParagraphs);
|
|
51
|
-
}
|
|
52
|
-
return createdParagraphs;
|
|
53
|
-
}
|
|
54
|
-
static restoreParagraphs(paragraphs, paragraphsToRestore) {
|
|
55
|
-
for (const paragraph of paragraphsToRestore) {
|
|
56
|
-
this.applySingle(paragraphs, paragraph.insertIndex, paragraph.paragraphStyle);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
static restoreNumberingParagraphs(paragraphs, paragraphsToRestore) {
|
|
60
|
-
const oldNumberingIds = [];
|
|
61
|
-
for (const paragraphToRestore of paragraphsToRestore) {
|
|
62
|
-
const paragraph = paragraphs.find(x => x.insertIndex === paragraphToRestore.insertIndex);
|
|
63
|
-
if (paragraph.paragraphStyle.numberingId !== null && !oldNumberingIds.includes(paragraph.paragraphStyle.numberingId)) {
|
|
64
|
-
oldNumberingIds.push(paragraph.paragraphStyle.numberingId);
|
|
65
|
-
}
|
|
66
|
-
paragraph.paragraphStyle = new ParagraphStyleModel({ ...paragraphToRestore.paragraphStyle });
|
|
67
|
-
}
|
|
68
|
-
return oldNumberingIds;
|
|
69
|
-
}
|
|
70
|
-
static applySingle(paragraphs, index, style) {
|
|
71
|
-
const paragraph = paragraphs.find(x => x.insertIndex === index);
|
|
72
|
-
paragraph.paragraphStyle = new ParagraphStyleModel({ ...style });
|
|
73
|
-
}
|
|
74
|
-
static applyNumbering(paragraphs, startIndex, endIndex, numberingId) {
|
|
75
|
-
const oldNumberingIds = [];
|
|
76
|
-
let index = paragraphs.findIndex(x => x.insertIndex >= startIndex);
|
|
77
|
-
while (index < paragraphs.length && paragraphs[index].insertIndex <= endIndex) {
|
|
78
|
-
const paragraphNumberingId = paragraphs[index].paragraphStyle.numberingId;
|
|
79
|
-
if (paragraphNumberingId !== null && !oldNumberingIds.includes(paragraphNumberingId)) {
|
|
80
|
-
oldNumberingIds.push(paragraphNumberingId);
|
|
81
|
-
}
|
|
82
|
-
paragraphs[index].paragraphStyle.numberingId = numberingId;
|
|
83
|
-
if (numberingId === null) {
|
|
84
|
-
paragraphs[index].paragraphStyle.numberingLevel = null;
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
paragraphs[index].paragraphStyle.numberingLevel ??= 0;
|
|
88
|
-
}
|
|
89
|
-
index++;
|
|
90
|
-
}
|
|
91
|
-
return oldNumberingIds;
|
|
92
|
-
}
|
|
93
|
-
static apply(paragraphs, startIndex, endIndex, style) {
|
|
94
|
-
let index = paragraphs.findIndex(x => x.insertIndex >= startIndex);
|
|
95
|
-
for (; index < paragraphs.length && paragraphs[index].insertIndex <= endIndex; index++) {
|
|
96
|
-
this.applyParagraphStyles(paragraphs[index].paragraphStyle, style);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
static applyParagraphStyles(target, value) {
|
|
100
|
-
target.alignment = value.alignment ?? target.alignment;
|
|
101
|
-
target.backgroundColor = value.backgroundColor ?? target.backgroundColor;
|
|
102
|
-
target.headingStyleId = value.headingStyleId ?? target.headingStyleId;
|
|
103
|
-
target.indentFirstLine = value.indentFirstLine ?? target.indentFirstLine;
|
|
104
|
-
target.indentHanging = value.indentHanging ?? target.indentHanging;
|
|
105
|
-
target.indentLeft = value.indentLeft ?? target.indentLeft;
|
|
106
|
-
target.indentRight = value.indentRight ?? target.indentRight;
|
|
107
|
-
target.lineSpacing = value.lineSpacing ?? target.lineSpacing;
|
|
108
|
-
target.numberingId = value.numberingId ?? target.numberingId;
|
|
109
|
-
target.numberingLevel = value.numberingLevel ?? target.numberingLevel;
|
|
110
|
-
target.spaceAfter = value.spaceAfter ?? target.spaceAfter;
|
|
111
|
-
target.spaceBefore = value.spaceBefore ?? target.spaceBefore;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWdyYXBoLW9wZXJhdGlvbnMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL29wZXJhdGlvbnMvaGVscGVycy9wYXJhZ3JhcGgtb3BlcmF0aW9ucy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXRGLE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxVQUE0QixFQUFFLElBQVksRUFBRSxTQUFpQjtRQUM5RSw4QkFBOEIsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBNEIsRUFBRSxJQUFZLEVBQUUsVUFBa0IsRUFBRSxRQUFnQjtRQUMzRiw4QkFBOEIsQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQUMsVUFBNEIsRUFBRSxJQUFZLEVBQUUsU0FBaUI7UUFDekYsTUFBTSxlQUFl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LEtBQUssQ0FBQyxlQUFlLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQztRQUN6RSxNQUFNLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUNuRSxNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUMxRCxNQUFNLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUM3RCxNQUFNLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUM3RCxNQUFNLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUM3RCxNQUFNLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUN0RSxNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUMxRCxNQUFNLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUNqRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRSB9IGZyb20gJy4uLy4uL2NvbnRlbnQvY29uc3RhbnRzL2VkaXRvci5jb25zdCc7XG5pbXBvcnQgeyBJbmRleGVkRWxlbWVudE9wZXJhdGlvbnNIZWxwZXIgfSBmcm9tICcuL2luZGV4ZWQtZWxlbWVudC1vcGVyYXRpb25zLmhlbHBlcic7XG5pbXBvcnQgeyBQYXJhZ3JhcGhNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLm1vZGVsJztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3BhcmFncmFwaC1zdHlsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBQYXJhZ3JhcGhPcGVyYXRpb25zSGVscGVyIHtcbiAgICBzdGF0aWMgaW5zZXJ0Q29udGVudChwYXJhZ3JhcGhzOiBQYXJhZ3JhcGhNb2RlbFtdLCB0ZXh0OiBzdHJpbmcsIHRleHRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIEluZGV4ZWRFbGVtZW50T3BlcmF0aW9uc0hlbHBlci5pbnNlcnRDb250ZW50KHBhcmFncmFwaHMsIHRleHRJbmRleCwgdGV4dC5sZW5ndGgpO1xuICAgICAgICB0aGlzLmluc2VydFBhcmFncmFwaHNGcm9tVGV4dChwYXJhZ3JhcGhzLCB0ZXh0LCB0ZXh0SW5kZXgpO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXBsYWNlKHBhcmFncmFwaHM6IFBhcmFncmFwaE1vZGVsW10sIHRleHQ6IHN0cmluZywgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIEluZGV4ZWRFbGVtZW50T3BlcmF0aW9uc0hlbHBlci5yZXBsYWNlQ29udGVudChwYXJhZ3JhcGhzLCBzdGFydEluZGV4LCBlbmRJbmRleCwgdGV4dC5sZW5ndGgpO1xuICAgICAgICB0aGlzLmluc2VydFBhcmFncmFwaHNGcm9tVGV4dChwYXJhZ3JhcGhzLCB0ZXh0LCBzdGFydEluZGV4KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW5zZXJ0UGFyYWdyYXBoc0Zyb21UZXh0KHBhcmFncmFwaHM6IFBhcmFncmFwaE1vZGVsW10sIHRleHQ6IHN0cmluZywgdGV4dEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFyZW50UGFyYWdyYXBoID0gcGFyYWdyYXBocy5maW5kKHggPT4geC5pbnNlcnRJbmRleCA+PSB0ZXh0SW5kZXgpO1xuICAgICAgICBjb25zdCBjcmVhdGVkUGFyYWdyYXBocyA9IFsuLi50ZXh0Lm1hdGNoQWxsKC9cXG4vZyldLm1hcChcbiAgICAgICAgICAgIHggPT5cbiAgICAgICAgICAgICAgICBuZXcgUGFyYWdyYXBoTW9kZWwoe1xuICAgICAgICAgICAgICAgICAgICBpbnNlcnRJbmRleDogeC5pbmRleCArIHRleHRJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoU3R5bGU6IHBhcmVudFBhcmFncmFwaD8ucGFyYWdyYXBoU3R5bGUgPz8gREVGQVVMVF9QQVJBR1JBUEhfU1RZTEVcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBpbmRleCA9IHBhcmVudFBhcmFncmFwaCAhPT0gbnVsbCA/IHBhcmFncmFwaHMuZmluZEluZGV4KHggPT4geCA9PT0gcGFyZW50UGFyYWdyYXBoKSA6IDA7XG4gICAgICAgIHBhcmFncmFwaHMuc3BsaWNlKGluZGV4LCAwLCAuLi5jcmVhdGVkUGFyYWdyYXBocyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGluc2VydFBhcmFncmFwaHNGcm9tTW9kZWwocGFyYWdyYXBoczogUGFyYWdyYXBoTW9kZWxbXSwgaW5zZXJ0SW5kZXg6IG51bWJlcik6IFBhcmFncmFwaE1vZGVsW10ge1xuICAgICAgICBjb25zdCBjdXJyZW50UGFyYWdyYXBoID0gcGFyYWdyYXBoc1xuICAgICAgICAgICAgLnNsaWNlKClcbiAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmluc2VydEluZGV4IC0gYi5pbnNlcnRJbmRleClcbiAgICAgICAgICAgIC5maW5kKHggPT4geC5pbnNlcnRJbmRleCA+PSBpbnNlcnRJbmRleCk7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUGFyYWdyYXBoID0gcGFyYWdyYXBoc1xuICAgICAgICAgICAgLnNsaWNlKClcbiAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBiLmluc2VydEluZGV4IC0gYS5pbnNlcnRJbmRleClcbiAgICAgICAgICAgIC5maW5kKHggPT4geC5pbnNlcnRJbmRleCA8IGN1cnJlbnRQYXJhZ3JhcGguaW5zZXJ0SW5kZXgpO1xuICAgICAgICBjb25zdCBjdXJyZW50UGFyYWdyYXBoSW5kZXggPSBwYXJhZ3JhcGhzLmZpbmRJbmRleCh4ID0+IHggPT09IGN1cnJlbnRQYXJhZ3JhcGgpO1xuICAgICAgICBsZXQgY3JlYXRlZFBhcmFncmFwaHMhOiBQYXJhZ3JhcGhNb2RlbFtdO1xuICAgICAgICBpZiAoaW5zZXJ0SW5kZXggPT09IDAgfHwgcHJldmlvdXNQYXJhZ3JhcGg/Lmluc2VydEluZGV4ID09PSBpbnNlcnRJbmRleCAtIDEpIHtcbiAgICAgICAgICAgIGNyZWF0ZWRQYXJhZ3JhcGhzID0gW25ldyBQYXJhZ3JhcGhNb2RlbCh7IGluc2VydEluZGV4LCBwYXJhZ3JhcGhTdHlsZTogREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUgfSldO1xuICAgICAgICAgICAgSW5kZXhlZEVsZW1lbnRPcGVyYXRpb25zSGVscGVyLmluc2VydENvbnRlbnQocGFyYWdyYXBocywgY3JlYXRlZFBhcmFncmFwaHNbMF0uaW5zZXJ0SW5kZXgsIGNyZWF0ZWRQYXJhZ3JhcGhzLmxlbmd0aCk7XG4gICAgICAgICAgICBwYXJhZ3JhcGhzLnNwbGljZShjdXJyZW50UGFyYWdyYXBoSW5kZXgsIDAsIC4uLmNyZWF0ZWRQYXJhZ3JhcGhzKTtcbiAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50UGFyYWdyYXBoLmluc2VydEluZGV4ID09PSBpbnNlcnRJbmRleCkge1xuICAgICAgICAgICAgY3JlYXRlZFBhcmFncmFwaHMgPSBbbmV3IFBhcmFncmFwaE1vZGVsKHsgaW5zZXJ0SW5kZXg6IGluc2VydEluZGV4ICsgMSwgcGFyYWdyYXBoU3R5bGU6IGN1cnJlbnRQYXJhZ3JhcGgucGFyYWdyYXBoU3R5bGUgfSldO1xuICAgICAgICAgICAgSW5kZXhlZEVsZW1lbnRPcGVyYXRpb25zSGVscGVyLmluc2VydENvbnRlbnQocGFyYWdyYXBocywgY3JlYXRlZFBhcmFncmFwaHNbMF0uaW5zZXJ0SW5kZXgsIGNyZWF0ZWRQYXJhZ3JhcGhzLmxlbmd0aCk7XG4gICAgICAgICAgICBwYXJhZ3JhcGhzLnNwbGljZShjdXJyZW50UGFyYWdyYXBoSW5kZXggKyAxLCAwLCAuLi5jcmVhdGVkUGFyYWdyYXBocyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjcmVhdGVkUGFyYWdyYXBocyA9IFtcbiAgICAgICAgICAgICAgICBuZXcgUGFyYWdyYXBoTW9kZWwoeyBpbnNlcnRJbmRleCwgcGFyYWdyYXBoU3R5bGU6IGN1cnJlbnRQYXJhZ3JhcGgucGFyYWdyYXBoU3R5bGUgfSksXG4gICAgICAgICAgICAgICAgbmV3IFBhcmFncmFwaE1vZGVsKHsgaW5zZXJ0SW5kZXg6IGluc2VydEluZGV4ICsgMSwgcGFyYWdyYXBoU3R5bGU6IGN1cnJlbnRQYXJhZ3JhcGgucGFyYWdyYXBoU3R5bGUgfSlcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBJbmRleGVkRWxlbWVudE9wZXJhdGlvbnNIZWxwZXIuaW5zZXJ0Q29udGVudChwYXJhZ3JhcGhzLCBjdXJyZW50UGFyYWdyYXBoLmluc2VydEluZGV4LCBjcmVhdGVkUGFyYWdyYXBocy5sZW5ndGgpO1xuICAgICAgICAgICAgcGFyYWdyYXBocy5zcGxpY2UoY3VycmVudFBhcmFncmFwaEluZGV4LCAwLCAuLi5jcmVhdGVkUGFyYWdyYXBocyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNyZWF0ZWRQYXJhZ3JhcGhzO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXN0b3JlUGFyYWdyYXBocyhwYXJhZ3JhcGhzOiBQYXJhZ3JhcGhNb2RlbFtdLCBwYXJhZ3JhcGhzVG9SZXN0b3JlOiBQYXJhZ3JhcGhNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgcGFyYWdyYXBoIG9mIHBhcmFncmFwaHNUb1Jlc3RvcmUpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwbHlTaW5nbGUocGFyYWdyYXBocywgcGFyYWdyYXBoLmluc2VydEluZGV4LCBwYXJhZ3JhcGgucGFyYWdyYXBoU3R5bGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIHJlc3RvcmVOdW1iZXJpbmdQYXJhZ3JhcGhzKHBhcmFncmFwaHM6IFBhcmFncmFwaE1vZGVsW10sIHBhcmFncmFwaHNUb1Jlc3RvcmU6IFBhcmFncmFwaE1vZGVsW10pOiBudW1iZXJbXSB7XG4gICAgICAgIGNvbnN0IG9sZE51bWJlcmluZ0lkcyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHBhcmFncmFwaFRvUmVzdG9yZSBvZiBwYXJhZ3JhcGhzVG9SZXN0b3JlKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhZ3JhcGggPSBwYXJhZ3JhcGhzLmZpbmQoeCA9PiB4Lmluc2VydEluZGV4ID09PSBwYXJhZ3JhcGhUb1Jlc3RvcmUuaW5zZXJ0SW5kZXgpO1xuICAgICAgICAgICAgaWYgKHBhcmFncmFwaC5wYXJhZ3JhcGhTdHlsZS5udW1iZXJpbmdJZCAhPT0gbnVsbCAmJiAhb2xkTnVtYmVyaW5nSWRzLmluY2x1ZGVzKHBhcmFncmFwaC5wYXJhZ3JhcGhTdHlsZS5udW1iZXJpbmdJZCkpIHtcbiAgICAgICAgICAgICAgICBvbGROdW1iZXJpbmdJZHMucHVzaChwYXJhZ3JhcGgucGFyYWdyYXBoU3R5bGUubnVtYmVyaW5nSWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYXJhZ3JhcGgucGFyYWdyYXBoU3R5bGUgPSBuZXcgUGFyYWdyYXBoU3R5bGVNb2RlbCh7IC4uLnBhcmFncmFwaFRvUmVzdG9yZS5wYXJhZ3JhcGhTdHlsZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvbGROdW1iZXJpbmdJZHM7XG4gICAgfVxuXG4gICAgc3RhdGljIGFwcGx5U2luZ2xlKHBhcmFncmFwaHM6IFBhcmFncmFwaE1vZGVsW10sIGluZGV4OiBudW1iZXIsIHN0eWxlOiBQYXJhZ3JhcGhTdHlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBhcmFncmFwaCA9IHBhcmFncmFwaHMuZmluZCh4ID0+IHguaW5zZXJ0SW5kZXggPT09IGluZGV4KTtcbiAgICAgICAgcGFyYWdyYXBoLnBhcmFncmFwaFN0eWxlID0gbmV3IFBhcmFncmFwaFN0eWxlTW9kZWwoeyAuLi5zdHlsZSB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgYXBwbHlOdW1iZXJpbmcocGFyYWdyYXBoczogUGFyYWdyYXBoTW9kZWxbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyLCBudW1iZXJpbmdJZD86IG51bWJlcik6IG51bWJlcltdIHtcbiAgICAgICAgY29uc3Qgb2xkTnVtYmVyaW5nSWRzID0gW107XG4gICAgICAgIGxldCBpbmRleCA9IHBhcmFncmFwaHMuZmluZEluZGV4KHggPT4geC5pbnNlcnRJbmRleCA+PSBzdGFydEluZGV4KTtcbiAgICAgICAgd2hpbGUgKGluZGV4IDwgcGFyYWdyYXBocy5sZW5ndGggJiYgcGFyYWdyYXBoc1tpbmRleF0uaW5zZXJ0SW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFncmFwaE51bWJlcmluZ0lkID0gcGFyYWdyYXBoc1tpbmRleF0ucGFyYWdyYXBoU3R5bGUubnVtYmVyaW5nSWQ7XG4gICAgICAgICAgICBpZiAocGFyYWdyYXBoTnVtYmVyaW5nSWQgIT09IG51bGwgJiYgIW9sZE51bWJlcmluZ0lkcy5pbmNsdWRlcyhwYXJhZ3JhcGhOdW1iZXJpbmdJZCkpIHtcbiAgICAgICAgICAgICAgICBvbGROdW1iZXJpbmdJZHMucHVzaChwYXJhZ3JhcGhOdW1iZXJpbmdJZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhcmFncmFwaHNbaW5kZXhdLnBhcmFncmFwaFN0eWxlLm51bWJlcmluZ0lkID0gbnVtYmVyaW5nSWQ7XG4gICAgICAgICAgICBpZiAobnVtYmVyaW5nSWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBwYXJhZ3JhcGhzW2luZGV4XS5wYXJhZ3JhcGhTdHlsZS5udW1iZXJpbmdMZXZlbCA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcmFncmFwaHNbaW5kZXhdLnBhcmFncmFwaFN0eWxlLm51bWJlcmluZ0xldmVsID8/PSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5kZXgrKztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvbGROdW1iZXJpbmdJZHM7XG4gICAgfVxuXG4gICAgc3RhdGljIGFwcGx5KHBhcmFncmFwaHM6IFBhcmFncmFwaE1vZGVsW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgc3R5bGU6IFBhcmFncmFwaFN0eWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgbGV0IGluZGV4ID0gcGFyYWdyYXBocy5maW5kSW5kZXgoeCA9PiB4Lmluc2VydEluZGV4ID49IHN0YXJ0SW5kZXgpO1xuICAgICAgICBmb3IgKDsgaW5kZXggPCBwYXJhZ3JhcGhzLmxlbmd0aCAmJiBwYXJhZ3JhcGhzW2luZGV4XS5pbnNlcnRJbmRleCA8PSBlbmRJbmRleDsgaW5kZXgrKykge1xuICAgICAgICAgICAgdGhpcy5hcHBseVBhcmFncmFwaFN0eWxlcyhwYXJhZ3JhcGhzW2luZGV4XS5wYXJhZ3JhcGhTdHlsZSwgc3R5bGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGFwcGx5UGFyYWdyYXBoU3R5bGVzKHRhcmdldDogUGFyYWdyYXBoU3R5bGVNb2RlbCwgdmFsdWU6IFBhcmFncmFwaFN0eWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGFyZ2V0LmFsaWdubWVudCA9IHZhbHVlLmFsaWdubWVudCA/PyB0YXJnZXQuYWxpZ25tZW50O1xuICAgICAgICB0YXJnZXQuYmFja2dyb3VuZENvbG9yID0gdmFsdWUuYmFja2dyb3VuZENvbG9yID8/IHRhcmdldC5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIHRhcmdldC5oZWFkaW5nU3R5bGVJZCA9IHZhbHVlLmhlYWRpbmdTdHlsZUlkID8/IHRhcmdldC5oZWFkaW5nU3R5bGVJZDtcbiAgICAgICAgdGFyZ2V0LmluZGVudEZpcnN0TGluZSA9IHZhbHVlLmluZGVudEZpcnN0TGluZSA/PyB0YXJnZXQuaW5kZW50Rmlyc3RMaW5lO1xuICAgICAgICB0YXJnZXQuaW5kZW50SGFuZ2luZyA9IHZhbHVlLmluZGVudEhhbmdpbmcgPz8gdGFyZ2V0LmluZGVudEhhbmdpbmc7XG4gICAgICAgIHRhcmdldC5pbmRlbnRMZWZ0ID0gdmFsdWUuaW5kZW50TGVmdCA/PyB0YXJnZXQuaW5kZW50TGVmdDtcbiAgICAgICAgdGFyZ2V0LmluZGVudFJpZ2h0ID0gdmFsdWUuaW5kZW50UmlnaHQgPz8gdGFyZ2V0LmluZGVudFJpZ2h0O1xuICAgICAgICB0YXJnZXQubGluZVNwYWNpbmcgPSB2YWx1ZS5saW5lU3BhY2luZyA/PyB0YXJnZXQubGluZVNwYWNpbmc7XG4gICAgICAgIHRhcmdldC5udW1iZXJpbmdJZCA9IHZhbHVlLm51bWJlcmluZ0lkID8/IHRhcmdldC5udW1iZXJpbmdJZDtcbiAgICAgICAgdGFyZ2V0Lm51bWJlcmluZ0xldmVsID0gdmFsdWUubnVtYmVyaW5nTGV2ZWwgPz8gdGFyZ2V0Lm51bWJlcmluZ0xldmVsO1xuICAgICAgICB0YXJnZXQuc3BhY2VBZnRlciA9IHZhbHVlLnNwYWNlQWZ0ZXIgPz8gdGFyZ2V0LnNwYWNlQWZ0ZXI7XG4gICAgICAgIHRhcmdldC5zcGFjZUJlZm9yZSA9IHZhbHVlLnNwYWNlQmVmb3JlID8/IHRhcmdldC5zcGFjZUJlZm9yZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { IndexedElementOperationsHelper } from './indexed-element-operations.helper';
|
|
2
|
-
import { TabModel } from '../../../models/generated/tab.model';
|
|
3
|
-
export class TabOperationsHelper {
|
|
4
|
-
static insertContent(elements, insertIndex) {
|
|
5
|
-
IndexedElementOperationsHelper.insertContent(elements, insertIndex, 1);
|
|
6
|
-
const element = new TabModel({ insertIndex });
|
|
7
|
-
const index = elements.findIndex(x => x.insertIndex > element.insertIndex);
|
|
8
|
-
if (index < 0) {
|
|
9
|
-
elements.push(element);
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
elements.splice(index, 0, element);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLW9wZXJhdGlvbnMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL29wZXJhdGlvbnMvaGVscGVycy90YWItb3BlcmF0aW9ucy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRS9ELE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFvQixFQUFFLFdBQW1CO1FBQzFELDhCQUE4QixDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLElBQUksUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM5QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0UsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ1gsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMxQjthQUFNO1lBQ0gsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5kZXhlZEVsZW1lbnRPcGVyYXRpb25zSGVscGVyIH0gZnJvbSAnLi9pbmRleGVkLWVsZW1lbnQtb3BlcmF0aW9ucy5oZWxwZXInO1xuaW1wb3J0IHsgVGFiTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RhYi5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBUYWJPcGVyYXRpb25zSGVscGVyIHtcbiAgICBzdGF0aWMgaW5zZXJ0Q29udGVudChlbGVtZW50czogVGFiTW9kZWxbXSwgaW5zZXJ0SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBJbmRleGVkRWxlbWVudE9wZXJhdGlvbnNIZWxwZXIuaW5zZXJ0Q29udGVudChlbGVtZW50cywgaW5zZXJ0SW5kZXgsIDEpO1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gbmV3IFRhYk1vZGVsKHsgaW5zZXJ0SW5kZXggfSk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gZWxlbWVudHMuZmluZEluZGV4KHggPT4geC5pbnNlcnRJbmRleCA+IGVsZW1lbnQuaW5zZXJ0SW5kZXgpO1xuICAgICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgICAgICBlbGVtZW50cy5wdXNoKGVsZW1lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWxlbWVudHMuc3BsaWNlKGluZGV4LCAwLCBlbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|