@talrace/ngx-noder 0.0.2
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/LICENSE +21 -0
- package/README.md +274 -0
- package/esm2022/lib/+shared/abstract/base-api.service.mjs +99 -0
- package/esm2022/lib/+shared/abstract/observer.component.mjs +24 -0
- package/esm2022/lib/+shared/confirm-dialog/confirm-dialog.component.mjs +28 -0
- package/esm2022/lib/+shared/constants/default-file-name.const.mjs +2 -0
- package/esm2022/lib/+shared/constants/paginator-sizes.const.mjs +3 -0
- package/esm2022/lib/+shared/editor/core/base/event-emitting.mjs +71 -0
- package/esm2022/lib/+shared/editor/core/components/edges/edge-type.enum.mjs +6 -0
- package/esm2022/lib/+shared/editor/core/components/edges/edge.component.mjs +100 -0
- package/esm2022/lib/+shared/editor/core/components/edges/edges.mjs +104 -0
- package/esm2022/lib/+shared/editor/core/constants/alignments.const.mjs +8 -0
- package/esm2022/lib/+shared/editor/core/constants/clipboardEventTypes.const.mjs +6 -0
- package/esm2022/lib/+shared/editor/core/constants/content-style-change.const.mjs +15 -0
- package/esm2022/lib/+shared/editor/core/constants/display-values.const.mjs +8 -0
- package/esm2022/lib/+shared/editor/core/constants/document-info.const.mjs +13 -0
- package/esm2022/lib/+shared/editor/core/constants/editor-version.const.mjs +2 -0
- package/esm2022/lib/+shared/editor/core/constants/editor.const.mjs +62 -0
- package/esm2022/lib/+shared/editor/core/constants/unicode-chars.const.mjs +5 -0
- package/esm2022/lib/+shared/editor/core/document.mjs +134 -0
- package/esm2022/lib/+shared/editor/core/edit.session.mjs +1102 -0
- package/esm2022/lib/+shared/editor/core/editor.mjs +1279 -0
- package/esm2022/lib/+shared/editor/core/enums/break-types.enum.mjs +7 -0
- package/esm2022/lib/+shared/editor/core/enums/hrule.enum.mjs +7 -0
- package/esm2022/lib/+shared/editor/core/enums/mouse-button.enum.mjs +7 -0
- package/esm2022/lib/+shared/editor/core/enums/numbering-marker-type.enum.mjs +12 -0
- package/esm2022/lib/+shared/editor/core/enums/page-type.enum.mjs +7 -0
- package/esm2022/lib/+shared/editor/core/enums/vertical-alignment.enum.mjs +11 -0
- package/esm2022/lib/+shared/editor/core/helpers/content-style.helper.mjs +156 -0
- package/esm2022/lib/+shared/editor/core/helpers/delta.helper.mjs +18 -0
- package/esm2022/lib/+shared/editor/core/helpers/dom.helper.mjs +42 -0
- package/esm2022/lib/+shared/editor/core/helpers/event.helper.mjs +18 -0
- package/esm2022/lib/+shared/editor/core/helpers/font-metrics.helper.mjs +88 -0
- package/esm2022/lib/+shared/editor/core/helpers/format-style.helper.mjs +72 -0
- package/esm2022/lib/+shared/editor/core/helpers/line-width.helper.mjs +13 -0
- package/esm2022/lib/+shared/editor/core/helpers/numbering.helper.mjs +83 -0
- package/esm2022/lib/+shared/editor/core/helpers/page.helper.mjs +12 -0
- package/esm2022/lib/+shared/editor/core/helpers/paragraph-style.helper.mjs +41 -0
- package/esm2022/lib/+shared/editor/core/helpers/paragraph.helper.mjs +132 -0
- package/esm2022/lib/+shared/editor/core/helpers/position.helper.mjs +191 -0
- package/esm2022/lib/+shared/editor/core/helpers/print.rendering.helper.mjs +7 -0
- package/esm2022/lib/+shared/editor/core/helpers/rendering.helper.mjs +186 -0
- package/esm2022/lib/+shared/editor/core/helpers/unicode.helper.mjs +20 -0
- package/esm2022/lib/+shared/editor/core/interfaces/cell.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/core/interfaces/cursor-position.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/core/interfaces/font-metric-size.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/core/interfaces/layer.config.mjs +2 -0
- package/esm2022/lib/+shared/editor/core/interfaces/paragraph-info.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/core/interfaces/render-changes.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/core/interfaces/replace.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/core/interfaces/search-iteration.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/core/interfaces/toolbar-styles.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/core/interfaces/visible-line-info.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/core/interfaces/visible-range.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/core/keyboard/text-input.mjs +53 -0
- package/esm2022/lib/+shared/editor/core/layers/cursor.layer.mjs +103 -0
- package/esm2022/lib/+shared/editor/core/layers/edges.layer.mjs +99 -0
- package/esm2022/lib/+shared/editor/core/layers/lines.mjs +96 -0
- package/esm2022/lib/+shared/editor/core/layers/pages.layer.mjs +106 -0
- package/esm2022/lib/+shared/editor/core/layers/print.edges.layer.mjs +7 -0
- package/esm2022/lib/+shared/editor/core/layers/print.pages.layer.mjs +7 -0
- package/esm2022/lib/+shared/editor/core/layers/print.text.layer.mjs +7 -0
- package/esm2022/lib/+shared/editor/core/layers/renderloop.mjs +26 -0
- package/esm2022/lib/+shared/editor/core/layers/scrollbar.mjs +100 -0
- package/esm2022/lib/+shared/editor/core/layers/selection.layer.mjs +115 -0
- package/esm2022/lib/+shared/editor/core/layers/text.layer.mjs +124 -0
- package/esm2022/lib/+shared/editor/core/models/display-token.model.mjs +12 -0
- package/esm2022/lib/+shared/editor/core/models/distance.model.mjs +10 -0
- package/esm2022/lib/+shared/editor/core/models/edge-element.model.mjs +9 -0
- package/esm2022/lib/+shared/editor/core/models/format-ext.model.mjs +10 -0
- package/esm2022/lib/+shared/editor/core/models/indent.model.mjs +9 -0
- package/esm2022/lib/+shared/editor/core/models/line-info.model.mjs +9 -0
- package/esm2022/lib/+shared/editor/core/models/margin.model.mjs +16 -0
- package/esm2022/lib/+shared/editor/core/models/numbering-data.model.mjs +9 -0
- package/esm2022/lib/+shared/editor/core/models/render-changes.model.mjs +25 -0
- package/esm2022/lib/+shared/editor/core/paging/page-vertical-data.model.mjs +9 -0
- package/esm2022/lib/+shared/editor/core/paging/pages.wrap.mjs +219 -0
- package/esm2022/lib/+shared/editor/core/paging/paragraph.mjs +52 -0
- package/esm2022/lib/+shared/editor/core/paging/text-line-info.mjs +34 -0
- package/esm2022/lib/+shared/editor/core/point.mjs +13 -0
- package/esm2022/lib/+shared/editor/core/print.renderer.mjs +72 -0
- package/esm2022/lib/+shared/editor/core/range.mjs +94 -0
- package/esm2022/lib/+shared/editor/core/renderer.mjs +217 -0
- package/esm2022/lib/+shared/editor/core/search.mjs +231 -0
- package/esm2022/lib/+shared/editor/core/virtual.renderer.mjs +356 -0
- package/esm2022/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.mjs +35 -0
- package/esm2022/lib/+shared/editor/custom-components/external-element/external-element.service.mjs +6 -0
- package/esm2022/lib/+shared/editor/custom-components/external-element/external-elements.const.mjs +4 -0
- package/esm2022/lib/+shared/editor/custom-components/external-element/external-sidenav.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/custom-components/external-element/external.component.mjs +41 -0
- package/esm2022/lib/+shared/editor/custom-components/external-element/models/element-data.model.mjs +9 -0
- package/esm2022/lib/+shared/editor/custom-components/external-element/models/external-element.model.mjs +10 -0
- package/esm2022/lib/+shared/editor/custom-components/external-element/models/external-sidenav.model.mjs +15 -0
- package/esm2022/lib/+shared/editor/custom-components/image/components/image.component.mjs +87 -0
- package/esm2022/lib/+shared/editor/custom-components/image/input-handler/image-input.handler.mjs +38 -0
- package/esm2022/lib/+shared/editor/custom-components/image/interfaces/size.mjs +2 -0
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/coordinate.mjs +2 -0
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/direction-wrapper.mjs +19 -0
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/direction.enum.mjs +12 -0
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/resizer.component.mjs +106 -0
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/size-delta.mjs +2 -0
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/size-wrapper.mjs +52 -0
- package/esm2022/lib/+shared/editor/custom-components/image/services/image-api.service.mjs +14 -0
- package/esm2022/lib/+shared/editor/custom-components/shared/abstract/base.component.mjs +57 -0
- package/esm2022/lib/+shared/editor/custom-components/shared/constants/custom-content-markers.const.mjs +3 -0
- package/esm2022/lib/+shared/editor/custom-components/shared/helpers/custom-component.hepler.mjs +43 -0
- package/esm2022/lib/+shared/editor/custom-components/shared/interfaces/custom-components.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/custom-components/shared/services/component/component.service.mjs +64 -0
- package/esm2022/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.mjs +120 -0
- package/esm2022/lib/+shared/editor/custom-components/shared/services/overlay/overlay.service.mjs +55 -0
- package/esm2022/lib/+shared/editor/custom-components/shared/types/custom-content.mjs +2 -0
- package/esm2022/lib/+shared/editor/custom-components/tab/tab.component.mjs +43 -0
- package/esm2022/lib/+shared/editor/custom-components/table/cell-resizer/cell-resizer.mjs +118 -0
- package/esm2022/lib/+shared/editor/custom-components/table/components/table-cell.component.mjs +95 -0
- package/esm2022/lib/+shared/editor/custom-components/table/components/table.component.mjs +293 -0
- package/esm2022/lib/+shared/editor/custom-components/table/enums/reisizer-side.enum.mjs +8 -0
- package/esm2022/lib/+shared/editor/custom-components/table/enums/vertical-merge.enum.mjs +6 -0
- package/esm2022/lib/+shared/editor/custom-components/table/models/cell-data.model.mjs +18 -0
- package/esm2022/lib/+shared/editor/custom-components/table/models/cell-resizer-parameters.model.mjs +9 -0
- package/esm2022/lib/+shared/editor/custom-components/table/models/row-data.model.mjs +8 -0
- package/esm2022/lib/+shared/editor/custom-components/table/models/selection-range.model.mjs +7 -0
- package/esm2022/lib/+shared/editor/custom-components/table/overlay-menu/overlay-menu.component.mjs +74 -0
- package/esm2022/lib/+shared/editor/custom-components/table/selection/table-selection.mjs +358 -0
- package/esm2022/lib/+shared/editor/editor.component.mjs +103 -0
- package/esm2022/lib/+shared/editor/editor.module.mjs +85 -0
- package/esm2022/lib/+shared/editor/execution/models/cell-session-source.model.mjs +19 -0
- package/esm2022/lib/+shared/editor/execution/models/edge-session-source.model.mjs +15 -0
- package/esm2022/lib/+shared/editor/execution/models/general-properties.model.mjs +11 -0
- package/esm2022/lib/+shared/editor/execution/models/main-session-source.model.mjs +8 -0
- package/esm2022/lib/+shared/editor/execution/models/session-source.model.mjs +3 -0
- package/esm2022/lib/+shared/editor/execution/models/session.model.mjs +10 -0
- package/esm2022/lib/+shared/editor/execution/regulator.service.mjs +193 -0
- package/esm2022/lib/+shared/editor/helpers/break.helper.mjs +18 -0
- package/esm2022/lib/+shared/editor/helpers/content.helper.mjs +30 -0
- package/esm2022/lib/+shared/editor/helpers/format.helper.mjs +23 -0
- package/esm2022/lib/+shared/editor/helpers/indexed-element.helper.mjs +6 -0
- package/esm2022/lib/+shared/editor/helpers/tab.helper.mjs +6 -0
- package/esm2022/lib/+shared/editor/interaction/editor.service.mjs +309 -0
- package/esm2022/lib/+shared/editor/interaction/input.handler.mjs +160 -0
- package/esm2022/lib/+shared/editor/interaction/mouse.handler.mjs +49 -0
- package/esm2022/lib/+shared/editor/interfaces/contents.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/interfaces/insert-index.interface.mjs +2 -0
- package/esm2022/lib/+shared/editor/operation-history/operation-history.mjs +184 -0
- package/esm2022/lib/+shared/editor/operation-history/operation.type.mjs +2 -0
- package/esm2022/lib/+shared/editor/operation-history/operations-history-info.model.mjs +7 -0
- package/esm2022/lib/+shared/editor/operations/enums/command-type.enum.mjs +31 -0
- package/esm2022/lib/+shared/editor/operations/enums/target-type.enum.mjs +7 -0
- package/esm2022/lib/+shared/editor/operations/helpers/break-operations.helper.mjs +9 -0
- package/esm2022/lib/+shared/editor/operations/helpers/content-operations.helper.mjs +15 -0
- package/esm2022/lib/+shared/editor/operations/helpers/format-operations.helper.mjs +56 -0
- package/esm2022/lib/+shared/editor/operations/helpers/image-operations.helper.mjs +19 -0
- package/esm2022/lib/+shared/editor/operations/helpers/indexed-element-operations.helper.mjs +43 -0
- package/esm2022/lib/+shared/editor/operations/helpers/link-operations.helper.mjs +28 -0
- package/esm2022/lib/+shared/editor/operations/helpers/numbering-operations.helper.mjs +55 -0
- package/esm2022/lib/+shared/editor/operations/helpers/operations-helper.helper.mjs +394 -0
- package/esm2022/lib/+shared/editor/operations/helpers/paragraph-operations.helper.mjs +83 -0
- package/esm2022/lib/+shared/editor/operations/helpers/save-commands.helper.mjs +118 -0
- package/esm2022/lib/+shared/editor/operations/helpers/tab-operations.helper.mjs +16 -0
- package/esm2022/lib/+shared/editor/operations/helpers/table-operations.helper.mjs +371 -0
- package/esm2022/lib/+shared/editor/operations/helpers/target-operations.helper.mjs +23 -0
- package/esm2022/lib/+shared/editor/positioning/selection.mjs +307 -0
- package/esm2022/lib/+shared/editor/store/editor.actions.mjs +13 -0
- package/esm2022/lib/+shared/editor-header/editor-header.component.mjs +314 -0
- package/esm2022/lib/+shared/editor-search/editor-search-dialog.component.mjs +71 -0
- package/esm2022/lib/+shared/editor-toolbar/color-picker/color-picker.component.mjs +32 -0
- package/esm2022/lib/+shared/editor-toolbar/constants/numbering-templates.const.mjs +1148 -0
- package/esm2022/lib/+shared/editor-toolbar/constants/svg-icons.const.mjs +157 -0
- package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.component.mjs +115 -0
- package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.module.mjs +107 -0
- package/esm2022/lib/+shared/editor-toolbar/enums/alignment.enum.mjs +8 -0
- package/esm2022/lib/+shared/editor-toolbar/enums/numbering-template-type.enum.mjs +16 -0
- package/esm2022/lib/+shared/editor-toolbar/enums/numbering-type.enum.mjs +6 -0
- package/esm2022/lib/+shared/editor-toolbar/font/font.component.mjs +45 -0
- package/esm2022/lib/+shared/editor-toolbar/font-size/font-size.component.mjs +85 -0
- package/esm2022/lib/+shared/editor-toolbar/font-style/font-style.component.mjs +80 -0
- package/esm2022/lib/+shared/editor-toolbar/format/format.component.mjs +28 -0
- package/esm2022/lib/+shared/editor-toolbar/heading/heading.component.mjs +23 -0
- package/esm2022/lib/+shared/editor-toolbar/helpers/toolbar-styles.helper.mjs +55 -0
- package/esm2022/lib/+shared/editor-toolbar/numbering/numbering.component.mjs +53 -0
- package/esm2022/lib/+shared/editor-toolbar/print/print.component.mjs +18 -0
- package/esm2022/lib/+shared/editor-toolbar/undo-redo/undo-redo.component.mjs +27 -0
- package/esm2022/lib/+shared/editor-toolbar/zoom/zoom.component.mjs +74 -0
- package/esm2022/lib/+shared/enums/mode.enum.mjs +7 -0
- package/esm2022/lib/+shared/helpers/print.helper.mjs +40 -0
- package/esm2022/lib/+shared/insert-table/insert-table.component.mjs +54 -0
- package/esm2022/lib/+shared/services/commands.service.mjs +20 -0
- package/esm2022/lib/+shared/services/custom-icon.service.mjs +34 -0
- package/esm2022/lib/models/generated/add-numbering.model.mjs +8 -0
- package/esm2022/lib/models/generated/apply-element-style.model.mjs +8 -0
- package/esm2022/lib/models/generated/apply-image-style.model.mjs +8 -0
- package/esm2022/lib/models/generated/apply-paragraph-style.model.mjs +12 -0
- package/esm2022/lib/models/generated/apply-text-style.model.mjs +12 -0
- package/esm2022/lib/models/generated/borders-style.model.mjs +8 -0
- package/esm2022/lib/models/generated/break.model.mjs +8 -0
- package/esm2022/lib/models/generated/cell.model.mjs +12 -0
- package/esm2022/lib/models/generated/column-section.model.mjs +8 -0
- package/esm2022/lib/models/generated/column.model.mjs +8 -0
- package/esm2022/lib/models/generated/command.model.mjs +116 -0
- package/esm2022/lib/models/generated/delete.model.mjs +8 -0
- package/esm2022/lib/models/generated/document-name.model.mjs +8 -0
- package/esm2022/lib/models/generated/document.model.mjs +8 -0
- package/esm2022/lib/models/generated/docx.model.mjs +12 -0
- package/esm2022/lib/models/generated/edge-target.model.mjs +8 -0
- package/esm2022/lib/models/generated/edge.model.mjs +8 -0
- package/esm2022/lib/models/generated/element.model.mjs +8 -0
- package/esm2022/lib/models/generated/file-source.model.mjs +8 -0
- package/esm2022/lib/models/generated/format.model.mjs +12 -0
- package/esm2022/lib/models/generated/heading.model.mjs +16 -0
- package/esm2022/lib/models/generated/image-data.model.mjs +8 -0
- package/esm2022/lib/models/generated/image.model.mjs +12 -0
- package/esm2022/lib/models/generated/insert-break.model.mjs +8 -0
- package/esm2022/lib/models/generated/insert-element.model.mjs +12 -0
- package/esm2022/lib/models/generated/insert-image.model.mjs +12 -0
- package/esm2022/lib/models/generated/insert-link.model.mjs +12 -0
- package/esm2022/lib/models/generated/insert-styled-text.model.mjs +12 -0
- package/esm2022/lib/models/generated/insert-tab.model.mjs +8 -0
- package/esm2022/lib/models/generated/insert-table-columns.model.mjs +8 -0
- package/esm2022/lib/models/generated/insert-table-rows.model.mjs +8 -0
- package/esm2022/lib/models/generated/insert-table.model.mjs +8 -0
- package/esm2022/lib/models/generated/insert-text.model.mjs +8 -0
- package/esm2022/lib/models/generated/last-document-revision.model.mjs +12 -0
- package/esm2022/lib/models/generated/link-data.model.mjs +8 -0
- package/esm2022/lib/models/generated/link.model.mjs +8 -0
- package/esm2022/lib/models/generated/margins.model.mjs +8 -0
- package/esm2022/lib/models/generated/numbering-level.model.mjs +12 -0
- package/esm2022/lib/models/generated/numbering.model.mjs +8 -0
- package/esm2022/lib/models/generated/operation.model.mjs +12 -0
- package/esm2022/lib/models/generated/page-numbers.model.mjs +8 -0
- package/esm2022/lib/models/generated/paragraph-style.model.mjs +8 -0
- package/esm2022/lib/models/generated/paragraph.model.mjs +12 -0
- package/esm2022/lib/models/generated/remove-numberings.model.mjs +8 -0
- package/esm2022/lib/models/generated/remove-table-columns.model.mjs +8 -0
- package/esm2022/lib/models/generated/remove-table-rows.model.mjs +8 -0
- package/esm2022/lib/models/generated/replace-by-text.model.mjs +8 -0
- package/esm2022/lib/models/generated/replace.model.mjs +40 -0
- package/esm2022/lib/models/generated/resize-table-columns.model.mjs +8 -0
- package/esm2022/lib/models/generated/restore-numberings.model.mjs +8 -0
- package/esm2022/lib/models/generated/restore-paragraph-styles.model.mjs +8 -0
- package/esm2022/lib/models/generated/restore-table.model.mjs +12 -0
- package/esm2022/lib/models/generated/restore-text-styles.model.mjs +8 -0
- package/esm2022/lib/models/generated/restore.model.mjs +8 -0
- package/esm2022/lib/models/generated/revision.model.mjs +12 -0
- package/esm2022/lib/models/generated/row.model.mjs +8 -0
- package/esm2022/lib/models/generated/tab.model.mjs +8 -0
- package/esm2022/lib/models/generated/table-cell.model.mjs +8 -0
- package/esm2022/lib/models/generated/table.model.mjs +12 -0
- package/esm2022/lib/models/generated/target.model.mjs +16 -0
- package/esm2022/lib/models/generated/text-style.model.mjs +8 -0
- package/esm2022/public-api.mjs +43 -0
- package/esm2022/talrace-ngx-noder.mjs +5 -0
- package/fesm2022/talrace-ngx-noder.mjs +13736 -0
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/+shared/abstract/base-api.service.d.ts +23 -0
- package/lib/+shared/abstract/observer.component.d.ts +10 -0
- package/lib/+shared/confirm-dialog/confirm-dialog.component.d.ts +16 -0
- package/lib/+shared/constants/default-file-name.const.d.ts +1 -0
- package/lib/+shared/constants/paginator-sizes.const.d.ts +2 -0
- package/lib/+shared/editor/core/base/event-emitting.d.ts +17 -0
- package/lib/+shared/editor/core/components/edges/edge-type.enum.d.ts +4 -0
- package/lib/+shared/editor/core/components/edges/edge.component.d.ts +45 -0
- package/lib/+shared/editor/core/components/edges/edges.d.ts +26 -0
- package/lib/+shared/editor/core/constants/alignments.const.d.ts +7 -0
- package/lib/+shared/editor/core/constants/clipboardEventTypes.const.d.ts +5 -0
- package/lib/+shared/editor/core/constants/content-style-change.const.d.ts +14 -0
- package/lib/+shared/editor/core/constants/display-values.const.d.ts +7 -0
- package/lib/+shared/editor/core/constants/document-info.const.d.ts +12 -0
- package/lib/+shared/editor/core/constants/editor-version.const.d.ts +1 -0
- package/lib/+shared/editor/core/constants/editor.const.d.ts +16 -0
- package/lib/+shared/editor/core/constants/unicode-chars.const.d.ts +1 -0
- package/lib/+shared/editor/core/document.d.ts +56 -0
- package/lib/+shared/editor/core/edit.session.d.ts +159 -0
- package/lib/+shared/editor/core/editor.d.ts +206 -0
- package/lib/+shared/editor/core/enums/break-types.enum.d.ts +5 -0
- package/lib/+shared/editor/core/enums/hrule.enum.d.ts +5 -0
- package/lib/+shared/editor/core/enums/mouse-button.enum.d.ts +5 -0
- package/lib/+shared/editor/core/enums/numbering-marker-type.enum.d.ts +10 -0
- package/lib/+shared/editor/core/enums/page-type.enum.d.ts +5 -0
- package/lib/+shared/editor/core/enums/vertical-alignment.enum.d.ts +9 -0
- package/lib/+shared/editor/core/helpers/content-style.helper.d.ts +16 -0
- package/lib/+shared/editor/core/helpers/delta.helper.d.ts +6 -0
- package/lib/+shared/editor/core/helpers/dom.helper.d.ts +10 -0
- package/lib/+shared/editor/core/helpers/event.helper.d.ts +4 -0
- package/lib/+shared/editor/core/helpers/font-metrics.helper.d.ts +32 -0
- package/lib/+shared/editor/core/helpers/format-style.helper.d.ts +11 -0
- package/lib/+shared/editor/core/helpers/line-width.helper.d.ts +5 -0
- package/lib/+shared/editor/core/helpers/numbering.helper.d.ts +19 -0
- package/lib/+shared/editor/core/helpers/page.helper.d.ts +4 -0
- package/lib/+shared/editor/core/helpers/paragraph-style.helper.d.ts +6 -0
- package/lib/+shared/editor/core/helpers/paragraph.helper.d.ts +27 -0
- package/lib/+shared/editor/core/helpers/position.helper.d.ts +34 -0
- package/lib/+shared/editor/core/helpers/print.rendering.helper.d.ts +6 -0
- package/lib/+shared/editor/core/helpers/rendering.helper.d.ts +26 -0
- package/lib/+shared/editor/core/helpers/unicode.helper.d.ts +4 -0
- package/lib/+shared/editor/core/interfaces/cell.interface.d.ts +5 -0
- package/lib/+shared/editor/core/interfaces/cursor-position.interface.d.ts +11 -0
- package/lib/+shared/editor/core/interfaces/font-metric-size.interface.d.ts +11 -0
- package/lib/+shared/editor/core/interfaces/layer.config.d.ts +13 -0
- package/lib/+shared/editor/core/interfaces/paragraph-info.interface.d.ts +7 -0
- package/lib/+shared/editor/core/interfaces/render-changes.interface.d.ts +10 -0
- package/lib/+shared/editor/core/interfaces/replace.interface.d.ts +4 -0
- package/lib/+shared/editor/core/interfaces/search-iteration.interface.d.ts +4 -0
- package/lib/+shared/editor/core/interfaces/toolbar-styles.interface.d.ts +18 -0
- package/lib/+shared/editor/core/interfaces/visible-line-info.interface.d.ts +5 -0
- package/lib/+shared/editor/core/interfaces/visible-range.interface.d.ts +11 -0
- package/lib/+shared/editor/core/keyboard/text-input.d.ts +10 -0
- package/lib/+shared/editor/core/layers/cursor.layer.d.ts +24 -0
- package/lib/+shared/editor/core/layers/edges.layer.d.ts +24 -0
- package/lib/+shared/editor/core/layers/lines.d.ts +21 -0
- package/lib/+shared/editor/core/layers/pages.layer.d.ts +27 -0
- package/lib/+shared/editor/core/layers/print.edges.layer.d.ts +4 -0
- package/lib/+shared/editor/core/layers/print.pages.layer.d.ts +4 -0
- package/lib/+shared/editor/core/layers/print.text.layer.d.ts +5 -0
- package/lib/+shared/editor/core/layers/renderloop.d.ts +8 -0
- package/lib/+shared/editor/core/layers/scrollbar.d.ts +41 -0
- package/lib/+shared/editor/core/layers/selection.layer.d.ts +19 -0
- package/lib/+shared/editor/core/layers/text.layer.d.ts +22 -0
- package/lib/+shared/editor/core/models/display-token.model.d.ts +27 -0
- package/lib/+shared/editor/core/models/distance.model.d.ts +6 -0
- package/lib/+shared/editor/core/models/edge-element.model.d.ts +7 -0
- package/lib/+shared/editor/core/models/format-ext.model.d.ts +5 -0
- package/lib/+shared/editor/core/models/indent.model.d.ts +7 -0
- package/lib/+shared/editor/core/models/line-info.model.d.ts +14 -0
- package/lib/+shared/editor/core/models/margin.model.d.ts +9 -0
- package/lib/+shared/editor/core/models/numbering-data.model.d.ts +11 -0
- package/lib/+shared/editor/core/models/render-changes.model.d.ts +14 -0
- package/lib/+shared/editor/core/paging/page-vertical-data.model.d.ts +8 -0
- package/lib/+shared/editor/core/paging/pages.wrap.d.ts +41 -0
- package/lib/+shared/editor/core/paging/paragraph.d.ts +44 -0
- package/lib/+shared/editor/core/paging/text-line-info.d.ts +17 -0
- package/lib/+shared/editor/core/point.d.ts +7 -0
- package/lib/+shared/editor/core/print.renderer.d.ts +25 -0
- package/lib/+shared/editor/core/range.d.ts +32 -0
- package/lib/+shared/editor/core/renderer.d.ts +60 -0
- package/lib/+shared/editor/core/search.d.ts +32 -0
- package/lib/+shared/editor/core/virtual.renderer.d.ts +93 -0
- package/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.d.ts +14 -0
- package/lib/+shared/editor/custom-components/external-element/external-element.service.d.ts +7 -0
- package/lib/+shared/editor/custom-components/external-element/external-elements.const.d.ts +5 -0
- package/lib/+shared/editor/custom-components/external-element/external-sidenav.interface.d.ts +5 -0
- package/lib/+shared/editor/custom-components/external-element/external.component.d.ts +17 -0
- package/lib/+shared/editor/custom-components/external-element/models/element-data.model.d.ts +7 -0
- package/lib/+shared/editor/custom-components/external-element/models/external-element.model.d.ts +20 -0
- package/lib/+shared/editor/custom-components/external-element/models/external-sidenav.model.d.ts +7 -0
- package/lib/+shared/editor/custom-components/image/components/image.component.d.ts +31 -0
- package/lib/+shared/editor/custom-components/image/input-handler/image-input.handler.d.ts +13 -0
- package/lib/+shared/editor/custom-components/image/interfaces/size.d.ts +4 -0
- package/lib/+shared/editor/custom-components/image/resizer/coordinate.d.ts +4 -0
- package/lib/+shared/editor/custom-components/image/resizer/direction-wrapper.d.ts +9 -0
- package/lib/+shared/editor/custom-components/image/resizer/direction.enum.d.ts +10 -0
- package/lib/+shared/editor/custom-components/image/resizer/resizer.component.d.ts +26 -0
- package/lib/+shared/editor/custom-components/image/resizer/size-delta.d.ts +4 -0
- package/lib/+shared/editor/custom-components/image/resizer/size-wrapper.d.ts +19 -0
- package/lib/+shared/editor/custom-components/image/services/image-api.service.d.ts +8 -0
- package/lib/+shared/editor/custom-components/shared/abstract/base.component.d.ts +24 -0
- package/lib/+shared/editor/custom-components/shared/constants/custom-content-markers.const.d.ts +2 -0
- package/lib/+shared/editor/custom-components/shared/helpers/custom-component.hepler.d.ts +8 -0
- package/lib/+shared/editor/custom-components/shared/interfaces/custom-components.interface.d.ts +13 -0
- package/lib/+shared/editor/custom-components/shared/services/component/component.service.d.ts +21 -0
- package/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.d.ts +30 -0
- package/lib/+shared/editor/custom-components/shared/services/overlay/overlay.service.d.ts +18 -0
- package/lib/+shared/editor/custom-components/shared/types/custom-content.d.ts +5 -0
- package/lib/+shared/editor/custom-components/tab/tab.component.d.ts +15 -0
- package/lib/+shared/editor/custom-components/table/cell-resizer/cell-resizer.d.ts +31 -0
- package/lib/+shared/editor/custom-components/table/components/table-cell.component.d.ts +45 -0
- package/lib/+shared/editor/custom-components/table/components/table.component.d.ts +55 -0
- package/lib/+shared/editor/custom-components/table/enums/reisizer-side.enum.d.ts +6 -0
- package/lib/+shared/editor/custom-components/table/enums/vertical-merge.enum.d.ts +4 -0
- package/lib/+shared/editor/custom-components/table/models/cell-data.model.d.ts +11 -0
- package/lib/+shared/editor/custom-components/table/models/cell-resizer-parameters.model.d.ts +9 -0
- package/lib/+shared/editor/custom-components/table/models/row-data.model.d.ts +7 -0
- package/lib/+shared/editor/custom-components/table/models/selection-range.model.d.ts +17 -0
- package/lib/+shared/editor/custom-components/table/overlay-menu/overlay-menu.component.d.ts +37 -0
- package/lib/+shared/editor/custom-components/table/selection/table-selection.d.ts +74 -0
- package/lib/+shared/editor/editor.component.d.ts +43 -0
- package/lib/+shared/editor/editor.module.d.ts +30 -0
- package/lib/+shared/editor/execution/models/cell-session-source.model.d.ts +11 -0
- package/lib/+shared/editor/execution/models/edge-session-source.model.d.ts +11 -0
- package/lib/+shared/editor/execution/models/general-properties.model.d.ts +7 -0
- package/lib/+shared/editor/execution/models/main-session-source.model.d.ts +5 -0
- package/lib/+shared/editor/execution/models/session-source.model.d.ts +5 -0
- package/lib/+shared/editor/execution/models/session.model.d.ts +12 -0
- package/lib/+shared/editor/execution/regulator.service.d.ts +45 -0
- package/lib/+shared/editor/helpers/break.helper.d.ts +7 -0
- package/lib/+shared/editor/helpers/content.helper.d.ts +9 -0
- package/lib/+shared/editor/helpers/format.helper.d.ts +4 -0
- package/lib/+shared/editor/helpers/indexed-element.helper.d.ts +4 -0
- package/lib/+shared/editor/helpers/tab.helper.d.ts +3 -0
- package/lib/+shared/editor/interaction/editor.service.d.ts +194 -0
- package/lib/+shared/editor/interaction/input.handler.d.ts +25 -0
- package/lib/+shared/editor/interaction/mouse.handler.d.ts +14 -0
- package/lib/+shared/editor/interfaces/contents.interface.d.ts +22 -0
- package/lib/+shared/editor/interfaces/insert-index.interface.d.ts +3 -0
- package/lib/+shared/editor/operation-history/operation-history.d.ts +65 -0
- package/lib/+shared/editor/operation-history/operation.type.d.ts +24 -0
- package/lib/+shared/editor/operation-history/operations-history-info.model.d.ts +5 -0
- package/lib/+shared/editor/operations/enums/command-type.enum.d.ts +29 -0
- package/lib/+shared/editor/operations/enums/target-type.enum.d.ts +5 -0
- package/lib/+shared/editor/operations/helpers/break-operations.helper.d.ts +5 -0
- package/lib/+shared/editor/operations/helpers/content-operations.helper.d.ts +5 -0
- package/lib/+shared/editor/operations/helpers/format-operations.helper.d.ts +11 -0
- package/lib/+shared/editor/operations/helpers/image-operations.helper.d.ts +7 -0
- package/lib/+shared/editor/operations/helpers/indexed-element-operations.helper.d.ts +8 -0
- package/lib/+shared/editor/operations/helpers/link-operations.helper.d.ts +6 -0
- package/lib/+shared/editor/operations/helpers/numbering-operations.helper.d.ts +11 -0
- package/lib/+shared/editor/operations/helpers/operations-helper.helper.d.ts +52 -0
- package/lib/+shared/editor/operations/helpers/paragraph-operations.helper.d.ts +13 -0
- package/lib/+shared/editor/operations/helpers/save-commands.helper.d.ts +43 -0
- package/lib/+shared/editor/operations/helpers/tab-operations.helper.d.ts +4 -0
- package/lib/+shared/editor/operations/helpers/table-operations.helper.d.ts +30 -0
- package/lib/+shared/editor/operations/helpers/target-operations.helper.d.ts +6 -0
- package/lib/+shared/editor/positioning/selection.d.ts +50 -0
- package/lib/+shared/editor/store/editor.actions.d.ts +11 -0
- package/lib/+shared/editor-header/editor-header.component.d.ts +101 -0
- package/lib/+shared/editor-search/editor-search-dialog.component.d.ts +24 -0
- package/lib/+shared/editor-toolbar/color-picker/color-picker.component.d.ts +12 -0
- package/lib/+shared/editor-toolbar/constants/numbering-templates.const.d.ts +6 -0
- package/lib/+shared/editor-toolbar/constants/svg-icons.const.d.ts +12 -0
- package/lib/+shared/editor-toolbar/editor-toolbar.component.d.ts +44 -0
- package/lib/+shared/editor-toolbar/editor-toolbar.module.d.ts +28 -0
- package/lib/+shared/editor-toolbar/enums/alignment.enum.d.ts +6 -0
- package/lib/+shared/editor-toolbar/enums/numbering-template-type.enum.d.ts +14 -0
- package/lib/+shared/editor-toolbar/enums/numbering-type.enum.d.ts +4 -0
- package/lib/+shared/editor-toolbar/font/font.component.d.ts +13 -0
- package/lib/+shared/editor-toolbar/font-size/font-size.component.d.ts +24 -0
- package/lib/+shared/editor-toolbar/font-style/font-style.component.d.ts +24 -0
- package/lib/+shared/editor-toolbar/format/format.component.d.ts +12 -0
- package/lib/+shared/editor-toolbar/heading/heading.component.d.ts +8 -0
- package/lib/+shared/editor-toolbar/helpers/toolbar-styles.helper.d.ts +6 -0
- package/lib/+shared/editor-toolbar/numbering/numbering.component.d.ts +18 -0
- package/lib/+shared/editor-toolbar/print/print.component.d.ts +7 -0
- package/lib/+shared/editor-toolbar/undo-redo/undo-redo.component.d.ts +10 -0
- package/lib/+shared/editor-toolbar/zoom/zoom.component.d.ts +22 -0
- package/lib/+shared/enums/mode.enum.d.ts +5 -0
- package/lib/+shared/helpers/print.helper.d.ts +9 -0
- package/lib/+shared/insert-table/insert-table.component.d.ts +21 -0
- package/lib/+shared/services/commands.service.d.ts +10 -0
- package/lib/+shared/services/custom-icon.service.d.ts +11 -0
- package/lib/models/generated/add-numbering.model.d.ts +7 -0
- package/lib/models/generated/apply-element-style.model.d.ts +6 -0
- package/lib/models/generated/apply-image-style.model.d.ts +6 -0
- package/lib/models/generated/apply-paragraph-style.model.d.ts +7 -0
- package/lib/models/generated/apply-text-style.model.d.ts +7 -0
- package/lib/models/generated/borders-style.model.d.ts +8 -0
- package/lib/models/generated/break.model.d.ts +5 -0
- package/lib/models/generated/cell.model.d.ts +32 -0
- package/lib/models/generated/column-section.model.d.ts +7 -0
- package/lib/models/generated/column.model.d.ts +5 -0
- package/lib/models/generated/command.model.d.ts +60 -0
- package/lib/models/generated/delete.model.d.ts +5 -0
- package/lib/models/generated/document-name.model.d.ts +5 -0
- package/lib/models/generated/document.model.d.ts +7 -0
- package/lib/models/generated/docx.model.d.ts +43 -0
- package/lib/models/generated/edge-target.model.d.ts +5 -0
- package/lib/models/generated/edge.model.d.ts +24 -0
- package/lib/models/generated/element.model.d.ts +9 -0
- package/lib/models/generated/file-source.model.d.ts +4 -0
- package/lib/models/generated/format.model.d.ts +7 -0
- package/lib/models/generated/heading.model.d.ts +12 -0
- package/lib/models/generated/image-data.model.d.ts +6 -0
- package/lib/models/generated/image.model.d.ts +31 -0
- package/lib/models/generated/insert-break.model.d.ts +6 -0
- package/lib/models/generated/insert-element.model.d.ts +5 -0
- package/lib/models/generated/insert-image.model.d.ts +6 -0
- package/lib/models/generated/insert-link.model.d.ts +7 -0
- package/lib/models/generated/insert-styled-text.model.d.ts +7 -0
- package/lib/models/generated/insert-tab.model.d.ts +4 -0
- package/lib/models/generated/insert-table-columns.model.d.ts +7 -0
- package/lib/models/generated/insert-table-rows.model.d.ts +7 -0
- package/lib/models/generated/insert-table.model.d.ts +8 -0
- package/lib/models/generated/insert-text.model.d.ts +5 -0
- package/lib/models/generated/last-document-revision.model.d.ts +9 -0
- package/lib/models/generated/link-data.model.d.ts +5 -0
- package/lib/models/generated/link.model.d.ts +7 -0
- package/lib/models/generated/margins.model.d.ts +7 -0
- package/lib/models/generated/numbering-level.model.d.ts +14 -0
- package/lib/models/generated/numbering.model.d.ts +7 -0
- package/lib/models/generated/operation.model.d.ts +8 -0
- package/lib/models/generated/page-numbers.model.d.ts +8 -0
- package/lib/models/generated/paragraph-style.model.d.ts +18 -0
- package/lib/models/generated/paragraph.model.d.ts +6 -0
- package/lib/models/generated/remove-numberings.model.d.ts +5 -0
- package/lib/models/generated/remove-table-columns.model.d.ts +6 -0
- package/lib/models/generated/remove-table-rows.model.d.ts +6 -0
- package/lib/models/generated/replace-by-text.model.d.ts +6 -0
- package/lib/models/generated/replace.model.d.ts +19 -0
- package/lib/models/generated/resize-table-columns.model.d.ts +9 -0
- package/lib/models/generated/restore-numberings.model.d.ts +7 -0
- package/lib/models/generated/restore-paragraph-styles.model.d.ts +5 -0
- package/lib/models/generated/restore-table.model.d.ts +6 -0
- package/lib/models/generated/restore-text-styles.model.d.ts +5 -0
- package/lib/models/generated/restore.model.d.ts +22 -0
- package/lib/models/generated/revision.model.d.ts +9 -0
- package/lib/models/generated/row.model.d.ts +9 -0
- package/lib/models/generated/tab.model.d.ts +6 -0
- package/lib/models/generated/table-cell.model.d.ts +6 -0
- package/lib/models/generated/table.model.d.ts +18 -0
- package/lib/models/generated/target.model.d.ts +9 -0
- package/lib/models/generated/text-style.model.d.ts +14 -0
- package/package.json +35 -0
- package/public-api.d.ts +42 -0
- package/src/_ngx-noder.theme.scss +22 -0
- package/src/assets/fonts/nc-iconfont.css +333 -0
- package/src/assets/fonts/nc-iconfont.eot +0 -0
- package/src/assets/fonts/nc-iconfont.svg +110 -0
- package/src/assets/fonts/nc-iconfont.ttf +0 -0
- package/src/assets/fonts/nc-iconfont.woff +0 -0
- package/src/lib/+shared/add-link-dialog/_add-link-dialog.theme.scss +21 -0
- package/src/lib/+shared/editor/_editor.theme.scss +35 -0
- package/src/lib/+shared/editor/custom-components/external-element/element-toolbar/_element-toolbar.theme.scss +10 -0
- package/src/lib/+shared/editor-header/_editor-header.theme.scss +106 -0
- package/src/lib/+shared/editor-toolbar/_editor-toolbar.theme.scss +33 -0
- package/src/lib/+shared/editor-toolbar/numbering/_numbering.theme.scss +29 -0
- package/src/lib/+shared/insert-table/_insert-table.theme.scss +22 -0
- package/src/styles.scss +58 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BreakModel } from '../../../../models/generated/break.model';
|
|
2
|
+
import { IndexedElementOperationsHelper } from './indexed-element-operations.helper';
|
|
3
|
+
export class BreakOperationsHelper {
|
|
4
|
+
static insertContent(elements, index, breakType, length) {
|
|
5
|
+
const element = new BreakModel({ insertIndex: index, breakType });
|
|
6
|
+
IndexedElementOperationsHelper.insert(elements, element, length);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWstb3BlcmF0aW9ucy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9vcGVyYXRpb25zL2hlbHBlcnMvYnJlYWstb3BlcmF0aW9ucy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXJGLE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFzQixFQUFFLEtBQWEsRUFBRSxTQUFxQixFQUFFLE1BQWM7UUFDN0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDbEUsOEJBQThCLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvYnJlYWsubW9kZWwnO1xuaW1wb3J0IHsgQnJlYWtUeXBlcyB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvYnJlYWstdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBJbmRleGVkRWxlbWVudE9wZXJhdGlvbnNIZWxwZXIgfSBmcm9tICcuL2luZGV4ZWQtZWxlbWVudC1vcGVyYXRpb25zLmhlbHBlcic7XG5cbmV4cG9ydCBjbGFzcyBCcmVha09wZXJhdGlvbnNIZWxwZXIge1xuICAgIHN0YXRpYyBpbnNlcnRDb250ZW50KGVsZW1lbnRzOiBCcmVha01vZGVsW10sIGluZGV4OiBudW1iZXIsIGJyZWFrVHlwZTogQnJlYWtUeXBlcywgbGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IG5ldyBCcmVha01vZGVsKHsgaW5zZXJ0SW5kZXg6IGluZGV4LCBicmVha1R5cGUgfSk7XG4gICAgICAgIEluZGV4ZWRFbGVtZW50T3BlcmF0aW9uc0hlbHBlci5pbnNlcnQoZWxlbWVudHMsIGVsZW1lbnQsIGxlbmd0aCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class ContentOperationsHelper {
|
|
2
|
+
static removeContent(content, startIndex, endIndex) {
|
|
3
|
+
return `${content.slice(0, startIndex)}${content.slice(endIndex + 1, content.length)}`;
|
|
4
|
+
}
|
|
5
|
+
static insertContent(content, text, index) {
|
|
6
|
+
const before = content.slice(0, index);
|
|
7
|
+
const after = content.slice(index, content.length);
|
|
8
|
+
return `${before}${text}${after}`;
|
|
9
|
+
}
|
|
10
|
+
static replaceContent(content, startIndex, endIndex, text) {
|
|
11
|
+
const reduced = this.removeContent(content, startIndex, endIndex);
|
|
12
|
+
return this.insertContent(reduced, text, startIndex);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1vcGVyYXRpb25zLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL29wZXJhdGlvbnMvaGVscGVycy9jb250ZW50LW9wZXJhdGlvbnMuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx1QkFBdUI7SUFDaEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFlLEVBQUUsVUFBa0IsRUFBRSxRQUFnQjtRQUN0RSxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQzNGLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWUsRUFBRSxJQUFZLEVBQUUsS0FBYTtRQUM3RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsT0FBTyxHQUFHLE1BQU0sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBZSxFQUFFLFVBQWtCLEVBQUUsUUFBZ0IsRUFBRSxJQUFZO1FBQ3JGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQ29udGVudE9wZXJhdGlvbnNIZWxwZXIge1xuICAgIHN0YXRpYyByZW1vdmVDb250ZW50KGNvbnRlbnQ6IHN0cmluZywgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2NvbnRlbnQuc2xpY2UoMCwgc3RhcnRJbmRleCl9JHtjb250ZW50LnNsaWNlKGVuZEluZGV4ICsgMSwgY29udGVudC5sZW5ndGgpfWA7XG4gICAgfVxuXG4gICAgc3RhdGljIGluc2VydENvbnRlbnQoY29udGVudDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBiZWZvcmUgPSBjb250ZW50LnNsaWNlKDAsIGluZGV4KTtcbiAgICAgICAgY29uc3QgYWZ0ZXIgPSBjb250ZW50LnNsaWNlKGluZGV4LCBjb250ZW50Lmxlbmd0aCk7XG4gICAgICAgIHJldHVybiBgJHtiZWZvcmV9JHt0ZXh0fSR7YWZ0ZXJ9YDtcbiAgICB9XG5cbiAgICBzdGF0aWMgcmVwbGFjZUNvbnRlbnQoY29udGVudDogc3RyaW5nLCBzdGFydEluZGV4OiBudW1iZXIsIGVuZEluZGV4OiBudW1iZXIsIHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJlZHVjZWQgPSB0aGlzLnJlbW92ZUNvbnRlbnQoY29udGVudCwgc3RhcnRJbmRleCwgZW5kSW5kZXgpO1xuICAgICAgICByZXR1cm4gdGhpcy5pbnNlcnRDb250ZW50KHJlZHVjZWQsIHRleHQsIHN0YXJ0SW5kZXgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ContentStyleHelper } from '../../core/helpers/content-style.helper';
|
|
2
|
+
import { FormatStyleHelper } from '../../core/helpers/format-style.helper';
|
|
3
|
+
export class FormatOperationsHelper {
|
|
4
|
+
static removeContent(formats, startIndex, endIndex) {
|
|
5
|
+
const length = endIndex - startIndex + 1;
|
|
6
|
+
for (let i = formats.length - 1; i >= 0; i--) {
|
|
7
|
+
if (formats[i].startIndex >= startIndex && formats[i].endIndex <= endIndex) {
|
|
8
|
+
formats.splice(i, 1);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
formats.forEach(x => {
|
|
12
|
+
if (x.startIndex >= startIndex && x.startIndex <= endIndex) {
|
|
13
|
+
x.startIndex = startIndex;
|
|
14
|
+
}
|
|
15
|
+
else if (x.startIndex > endIndex) {
|
|
16
|
+
x.startIndex -= length;
|
|
17
|
+
}
|
|
18
|
+
if (x.endIndex >= startIndex && x.endIndex <= endIndex) {
|
|
19
|
+
x.endIndex = startIndex - 1;
|
|
20
|
+
}
|
|
21
|
+
else if (x.endIndex > endIndex) {
|
|
22
|
+
x.endIndex -= length;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
FormatStyleHelper.mergeFormats(formats, startIndex - 1, startIndex);
|
|
26
|
+
}
|
|
27
|
+
static insertContent(formats, index, textLength) {
|
|
28
|
+
formats.forEach(x => {
|
|
29
|
+
if (x.startIndex > index || (x.startIndex === index && index !== 0)) {
|
|
30
|
+
x.startIndex += textLength;
|
|
31
|
+
}
|
|
32
|
+
if (x.endIndex >= index - 1) {
|
|
33
|
+
x.endIndex += textLength;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
static insertStyledContent(formats, index, textLength, style) {
|
|
38
|
+
this.insertContent(formats, index, textLength);
|
|
39
|
+
this.apply(formats, index, index + textLength - 1, style);
|
|
40
|
+
}
|
|
41
|
+
static restore(formats, index, textLength, textFormats) {
|
|
42
|
+
this.insertContent(formats, index, textLength);
|
|
43
|
+
this.restoreFormats(formats, textFormats);
|
|
44
|
+
}
|
|
45
|
+
static replaceContent(formats, startIndex, endIndex, textLength) {
|
|
46
|
+
this.removeContent(formats, startIndex, endIndex);
|
|
47
|
+
this.insertContent(formats, startIndex, textLength);
|
|
48
|
+
}
|
|
49
|
+
static restoreFormats(formats, textFormats) {
|
|
50
|
+
textFormats.forEach(x => this.apply(formats, x.startIndex, x.endIndex, x.textStyle));
|
|
51
|
+
}
|
|
52
|
+
static apply(formats, startIndex, endIndex, style) {
|
|
53
|
+
ContentStyleHelper.applyTextStyles(formats, startIndex, endIndex, style);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW9wZXJhdGlvbnMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvK3NoYXJlZC9lZGl0b3Ivb3BlcmF0aW9ucy9oZWxwZXJzL2Zvcm1hdC1vcGVyYXRpb25zLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUczRSxNQUFNLE9BQU8sc0JBQXNCO0lBQy9CLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBc0IsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQzdFLE1BQU0sTUFBTSxHQUFHLFFBQVEsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxFQUFFO2dCQUN4RSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN4QjtTQUNKO1FBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksUUFBUSxFQUFFO2dCQUN4RCxDQUFDLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQzthQUM3QjtpQkFBTSxJQUFJLENBQUMsQ0FBQyxVQUFVLEdBQUcsUUFBUSxFQUFFO2dCQUNoQyxDQUFDLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQzthQUMxQjtZQUNELElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxVQUFVLElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxRQUFRLEVBQUU7Z0JBQ3BELENBQUMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQzthQUMvQjtpQkFBTSxJQUFJLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxFQUFFO2dCQUM5QixDQUFDLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQzthQUN4QjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsaUJBQWlCLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxVQUFVLEdBQUcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQXNCLEVBQUUsS0FBYSxFQUFFLFVBQWtCO1FBQzFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEIsSUFBSSxDQUFDLENBQUMsVUFBVSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssS0FBSyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDakUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUM7YUFDOUI7WUFDRCxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtnQkFDekIsQ0FBQyxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUM7YUFDNUI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBc0IsRUFBRSxLQUFhLEVBQUUsVUFBa0IsRUFBRSxLQUFxQjtRQUN2RyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssR0FBRyxVQUFVLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQXNCLEVBQUUsS0FBYSxFQUFFLFVBQWtCLEVBQUUsV0FBMEI7UUFDaEcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQXNCLEVBQUUsVUFBa0IsRUFBRSxRQUFnQixFQUFFLFVBQWtCO1FBQ2xHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBc0IsRUFBRSxXQUEwQjtRQUNwRSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQXNCLEVBQUUsVUFBa0IsRUFBRSxRQUFnQixFQUFFLEtBQXFCO1FBQzVGLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3RSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50U3R5bGVIZWxwZXIgfSBmcm9tICcuLi8uLi9jb3JlL2hlbHBlcnMvY29udGVudC1zdHlsZS5oZWxwZXInO1xuaW1wb3J0IHsgRm9ybWF0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2Zvcm1hdC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtYXRTdHlsZUhlbHBlciB9IGZyb20gJy4uLy4uL2NvcmUvaGVscGVycy9mb3JtYXQtc3R5bGUuaGVscGVyJztcbmltcG9ydCB7IFRleHRTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90ZXh0LXN0eWxlLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEZvcm1hdE9wZXJhdGlvbnNIZWxwZXIge1xuICAgIHN0YXRpYyByZW1vdmVDb250ZW50KGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBsZW5ndGggPSBlbmRJbmRleCAtIHN0YXJ0SW5kZXggKyAxO1xuICAgICAgICBmb3IgKGxldCBpID0gZm9ybWF0cy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgaWYgKGZvcm1hdHNbaV0uc3RhcnRJbmRleCA+PSBzdGFydEluZGV4ICYmIGZvcm1hdHNbaV0uZW5kSW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBmb3JtYXRzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvcm1hdHMuZm9yRWFjaCh4ID0+IHtcbiAgICAgICAgICAgIGlmICh4LnN0YXJ0SW5kZXggPj0gc3RhcnRJbmRleCAmJiB4LnN0YXJ0SW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICB4LnN0YXJ0SW5kZXggPSBzdGFydEluZGV4O1xuICAgICAgICAgICAgfSBlbHNlIGlmICh4LnN0YXJ0SW5kZXggPiBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIHguc3RhcnRJbmRleCAtPSBsZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoeC5lbmRJbmRleCA+PSBzdGFydEluZGV4ICYmIHguZW5kSW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICB4LmVuZEluZGV4ID0gc3RhcnRJbmRleCAtIDE7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHguZW5kSW5kZXggPiBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIHguZW5kSW5kZXggLT0gbGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBGb3JtYXRTdHlsZUhlbHBlci5tZXJnZUZvcm1hdHMoZm9ybWF0cywgc3RhcnRJbmRleCAtIDEsIHN0YXJ0SW5kZXgpO1xuICAgIH1cblxuICAgIHN0YXRpYyBpbnNlcnRDb250ZW50KGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sIGluZGV4OiBudW1iZXIsIHRleHRMZW5ndGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBmb3JtYXRzLmZvckVhY2goeCA9PiB7XG4gICAgICAgICAgICBpZiAoeC5zdGFydEluZGV4ID4gaW5kZXggfHwgKHguc3RhcnRJbmRleCA9PT0gaW5kZXggJiYgaW5kZXggIT09IDApKSB7XG4gICAgICAgICAgICAgICAgeC5zdGFydEluZGV4ICs9IHRleHRMZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoeC5lbmRJbmRleCA+PSBpbmRleCAtIDEpIHtcbiAgICAgICAgICAgICAgICB4LmVuZEluZGV4ICs9IHRleHRMZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN0YXRpYyBpbnNlcnRTdHlsZWRDb250ZW50KGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sIGluZGV4OiBudW1iZXIsIHRleHRMZW5ndGg6IG51bWJlciwgc3R5bGU6IFRleHRTdHlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5zZXJ0Q29udGVudChmb3JtYXRzLCBpbmRleCwgdGV4dExlbmd0aCk7XG4gICAgICAgIHRoaXMuYXBwbHkoZm9ybWF0cywgaW5kZXgsIGluZGV4ICsgdGV4dExlbmd0aCAtIDEsIHN0eWxlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcmVzdG9yZShmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCBpbmRleDogbnVtYmVyLCB0ZXh0TGVuZ3RoOiBudW1iZXIsIHRleHRGb3JtYXRzOiBGb3JtYXRNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5zZXJ0Q29udGVudChmb3JtYXRzLCBpbmRleCwgdGV4dExlbmd0aCk7XG4gICAgICAgIHRoaXMucmVzdG9yZUZvcm1hdHMoZm9ybWF0cywgdGV4dEZvcm1hdHMpO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXBsYWNlQ29udGVudChmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCBzdGFydEluZGV4OiBudW1iZXIsIGVuZEluZGV4OiBudW1iZXIsIHRleHRMZW5ndGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUNvbnRlbnQoZm9ybWF0cywgc3RhcnRJbmRleCwgZW5kSW5kZXgpO1xuICAgICAgICB0aGlzLmluc2VydENvbnRlbnQoZm9ybWF0cywgc3RhcnRJbmRleCwgdGV4dExlbmd0aCk7XG4gICAgfVxuXG4gICAgc3RhdGljIHJlc3RvcmVGb3JtYXRzKGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sIHRleHRGb3JtYXRzOiBGb3JtYXRNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIHRleHRGb3JtYXRzLmZvckVhY2goeCA9PiB0aGlzLmFwcGx5KGZvcm1hdHMsIHguc3RhcnRJbmRleCwgeC5lbmRJbmRleCwgeC50ZXh0U3R5bGUpKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgYXBwbHkoZm9ybWF0czogRm9ybWF0TW9kZWxbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyLCBzdHlsZTogVGV4dFN0eWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgQ29udGVudFN0eWxlSGVscGVyLmFwcGx5VGV4dFN0eWxlcyhmb3JtYXRzLCBzdGFydEluZGV4LCBlbmRJbmRleCwgc3R5bGUpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ImageModel } from '../../../../models/generated/image.model';
|
|
2
|
+
import { IndexedElementOperationsHelper } from './indexed-element-operations.helper';
|
|
3
|
+
export class ImageOperationsHelper {
|
|
4
|
+
static apply(images, model) {
|
|
5
|
+
const image = images.find(x => x.insertIndex === model.insertIndex);
|
|
6
|
+
image.width = model.width;
|
|
7
|
+
image.height = model.height;
|
|
8
|
+
}
|
|
9
|
+
static insertContent(images, index, imageData) {
|
|
10
|
+
const image = new ImageModel({
|
|
11
|
+
height: imageData.height,
|
|
12
|
+
width: imageData.width,
|
|
13
|
+
content: imageData.content,
|
|
14
|
+
insertIndex: index
|
|
15
|
+
});
|
|
16
|
+
IndexedElementOperationsHelper.insert(images, image);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utb3BlcmF0aW9ucy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9vcGVyYXRpb25zL2hlbHBlcnMvaW1hZ2Utb3BlcmF0aW9ucy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXJGLE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFvQixFQUFFLEtBQTJCO1FBQzFELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRSxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUIsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQW9CLEVBQUUsS0FBYSxFQUFFLFNBQXlCO1FBQy9FLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtZQUN4QixLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7WUFDdEIsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO1lBQzFCLFdBQVcsRUFBRSxLQUFLO1NBQ3JCLENBQUMsQ0FBQztRQUVILDhCQUE4QixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbHlJbWFnZVN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2FwcGx5LWltYWdlLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IEltYWdlRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbWFnZS1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEltYWdlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2ltYWdlLm1vZGVsJztcbmltcG9ydCB7IEluZGV4ZWRFbGVtZW50T3BlcmF0aW9uc0hlbHBlciB9IGZyb20gJy4vaW5kZXhlZC1lbGVtZW50LW9wZXJhdGlvbnMuaGVscGVyJztcblxuZXhwb3J0IGNsYXNzIEltYWdlT3BlcmF0aW9uc0hlbHBlciB7XG4gICAgc3RhdGljIGFwcGx5KGltYWdlczogSW1hZ2VNb2RlbFtdLCBtb2RlbDogQXBwbHlJbWFnZVN0eWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW1hZ2UgPSBpbWFnZXMuZmluZCh4ID0+IHguaW5zZXJ0SW5kZXggPT09IG1vZGVsLmluc2VydEluZGV4KTtcbiAgICAgICAgaW1hZ2Uud2lkdGggPSBtb2RlbC53aWR0aDtcbiAgICAgICAgaW1hZ2UuaGVpZ2h0ID0gbW9kZWwuaGVpZ2h0O1xuICAgIH1cblxuICAgIHN0YXRpYyBpbnNlcnRDb250ZW50KGltYWdlczogSW1hZ2VNb2RlbFtdLCBpbmRleDogbnVtYmVyLCBpbWFnZURhdGE6IEltYWdlRGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlTW9kZWwoe1xuICAgICAgICAgICAgaGVpZ2h0OiBpbWFnZURhdGEuaGVpZ2h0LFxuICAgICAgICAgICAgd2lkdGg6IGltYWdlRGF0YS53aWR0aCxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGltYWdlRGF0YS5jb250ZW50LFxuICAgICAgICAgICAgaW5zZXJ0SW5kZXg6IGluZGV4XG4gICAgICAgIH0pO1xuXG4gICAgICAgIEluZGV4ZWRFbGVtZW50T3BlcmF0aW9uc0hlbHBlci5pbnNlcnQoaW1hZ2VzLCBpbWFnZSk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,43 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZC1lbGVtZW50LW9wZXJhdGlvbnMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvK3NoYXJlZC9lZGl0b3Ivb3BlcmF0aW9ucy9oZWxwZXJzL2luZGV4ZWQtZWxlbWVudC1vcGVyYXRpb25zLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sOEJBQThCO0lBQ3ZDLE1BQU0sQ0FBQyxhQUFhLENBQWlDLFFBQWEsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQ3BHLE1BQU0sTUFBTSxHQUFHLFFBQVEsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksVUFBVSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksUUFBUSxFQUFFO2dCQUM5RSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN6QjtTQUNKO1FBQ0QsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsQ0FBQyxXQUFXLEdBQUcsUUFBUSxFQUFFO2dCQUMxQixDQUFDLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQWlDLFFBQWEsRUFBRSxPQUFVLEVBQUUsTUFBTSxHQUFHLENBQUM7UUFDL0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0UsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ1gsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMxQjthQUFNO1lBQ0gsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQWlDLFFBQWEsRUFBRSxLQUFhLEVBQUUsTUFBYztRQUM3RixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxDQUFDLFdBQVcsSUFBSSxLQUFLLEVBQUU7Z0JBQ3hCLENBQUMsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDO2FBQzNCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBaUMsUUFBYSxFQUFFLEtBQWEsRUFBRSxhQUFxQixFQUFFLFdBQWdCO1FBQ2hILElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNuRCxJQUFJLGVBQWUsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsQ0FBQztRQUN0RSxlQUFlLEdBQUcsZUFBZSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFDN0UsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQWlDLFFBQWEsRUFBRSxVQUFrQixFQUFFLFFBQWdCLEVBQUUsTUFBYztRQUNySCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluc2VydEluZGV4SW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pbnNlcnQtaW5kZXguaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIEluZGV4ZWRFbGVtZW50T3BlcmF0aW9uc0hlbHBlciB7XG4gICAgc3RhdGljIHJlbW92ZUNvbnRlbnQ8VCBleHRlbmRzIEluc2VydEluZGV4SW50ZXJmYWNlPihlbGVtZW50czogVFtdLCBzdGFydEluZGV4OiBudW1iZXIsIGVuZEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gZW5kSW5kZXggLSBzdGFydEluZGV4ICsgMTtcbiAgICAgICAgZm9yIChsZXQgaSA9IGVsZW1lbnRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudHNbaV0uaW5zZXJ0SW5kZXggPj0gc3RhcnRJbmRleCAmJiBlbGVtZW50c1tpXS5pbnNlcnRJbmRleCA8PSBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnRzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbGVtZW50cy5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgaWYgKHguaW5zZXJ0SW5kZXggPiBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIHguaW5zZXJ0SW5kZXggLT0gbGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW5zZXJ0PFQgZXh0ZW5kcyBJbnNlcnRJbmRleEludGVyZmFjZT4oZWxlbWVudHM6IFRbXSwgZWxlbWVudDogVCwgbGVuZ3RoID0gMSk6IHZvaWQge1xuICAgICAgICB0aGlzLmluc2VydENvbnRlbnQoZWxlbWVudHMsIGVsZW1lbnQuaW5zZXJ0SW5kZXgsIGxlbmd0aCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gZWxlbWVudHMuZmluZEluZGV4KHggPT4geC5pbnNlcnRJbmRleCA+IGVsZW1lbnQuaW5zZXJ0SW5kZXgpO1xuICAgICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgICAgICBlbGVtZW50cy5wdXNoKGVsZW1lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWxlbWVudHMuc3BsaWNlKGluZGV4LCAwLCBlbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBpbnNlcnRDb250ZW50PFQgZXh0ZW5kcyBJbnNlcnRJbmRleEludGVyZmFjZT4oZWxlbWVudHM6IFRbXSwgaW5kZXg6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgZWxlbWVudHMuZm9yRWFjaCh4ID0+IHtcbiAgICAgICAgICAgIGlmICh4Lmluc2VydEluZGV4ID49IGluZGV4KSB7XG4gICAgICAgICAgICAgICAgeC5pbnNlcnRJbmRleCArPSBsZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXN0b3JlPFQgZXh0ZW5kcyBJbnNlcnRJbmRleEludGVyZmFjZT4oZWxlbWVudHM6IFRbXSwgaW5kZXg6IG51bWJlciwgY29udGVudExlbmd0aDogbnVtYmVyLCBuZXdFbGVtZW50czogVFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5zZXJ0Q29udGVudChlbGVtZW50cywgaW5kZXgsIGNvbnRlbnRMZW5ndGgpO1xuICAgICAgICBsZXQgaW5kZXhJbkVsZW1lbnRzID0gZWxlbWVudHMuZmluZEluZGV4KHggPT4geC5pbnNlcnRJbmRleCA+PSBpbmRleCk7XG4gICAgICAgIGluZGV4SW5FbGVtZW50cyA9IGluZGV4SW5FbGVtZW50cyA9PT0gLTEgPyBlbGVtZW50cy5sZW5ndGggOiBpbmRleEluRWxlbWVudHM7XG4gICAgICAgIGVsZW1lbnRzLnNwbGljZShpbmRleEluRWxlbWVudHMsIDAsIC4uLm5ld0VsZW1lbnRzKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcmVwbGFjZUNvbnRlbnQ8VCBleHRlbmRzIEluc2VydEluZGV4SW50ZXJmYWNlPihlbGVtZW50czogVFtdLCBzdGFydEluZGV4OiBudW1iZXIsIGVuZEluZGV4OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ29udGVudChlbGVtZW50cywgc3RhcnRJbmRleCwgZW5kSW5kZXgpO1xuICAgICAgICB0aGlzLmluc2VydENvbnRlbnQoZWxlbWVudHMsIHN0YXJ0SW5kZXgsIGxlbmd0aCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { LinkModel } from '../../../../models/generated/link.model';
|
|
2
|
+
import { IndexedElementOperationsHelper } from './indexed-element-operations.helper';
|
|
3
|
+
export class LinkOperationsHelper {
|
|
4
|
+
static insertContent(links, link, insertIndex, endIndex) {
|
|
5
|
+
IndexedElementOperationsHelper.insertContent(links, insertIndex, 1);
|
|
6
|
+
const linkModel = new LinkModel({ insertIndex, link, endIndex });
|
|
7
|
+
const index = links.findIndex(x => x.insertIndex > linkModel.insertIndex);
|
|
8
|
+
if (index < 0) {
|
|
9
|
+
links.push(linkModel);
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
links.splice(index, 0, linkModel);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
static insertTextIntoLink(links, text, insertIndex) {
|
|
16
|
+
let link = links.find(x => x.insertIndex <= insertIndex && x.endIndex >= insertIndex - 1);
|
|
17
|
+
if (link) {
|
|
18
|
+
link.endIndex += text.length;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
static removeTextFromLink(links, startIndex, endIndex) {
|
|
22
|
+
let link = links.find(x => x.insertIndex <= startIndex && x.endIndex >= endIndex - 1);
|
|
23
|
+
if (link) {
|
|
24
|
+
link.endIndex = endIndex - 1;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1vcGVyYXRpb25zLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL29wZXJhdGlvbnMvaGVscGVycy9saW5rLW9wZXJhdGlvbnMuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVyRixNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBa0IsRUFBRSxJQUFZLEVBQUUsV0FBbUIsRUFBRSxRQUFnQjtRQUN4Riw4QkFBOEIsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNqRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ1gsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN6QjthQUFNO1lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFrQixFQUFFLElBQVksRUFBRSxXQUFtQjtRQUMzRSxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxXQUFXLElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUYsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDaEM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQWtCLEVBQUUsVUFBa0IsRUFBRSxRQUFnQjtRQUM5RSxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxVQUFVLElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEYsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaW5rTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2xpbmsubW9kZWwnO1xuaW1wb3J0IHsgSW5kZXhlZEVsZW1lbnRPcGVyYXRpb25zSGVscGVyIH0gZnJvbSAnLi9pbmRleGVkLWVsZW1lbnQtb3BlcmF0aW9ucy5oZWxwZXInO1xuXG5leHBvcnQgY2xhc3MgTGlua09wZXJhdGlvbnNIZWxwZXIge1xuICAgIHN0YXRpYyBpbnNlcnRDb250ZW50KGxpbmtzOiBMaW5rTW9kZWxbXSwgbGluazogc3RyaW5nLCBpbnNlcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIEluZGV4ZWRFbGVtZW50T3BlcmF0aW9uc0hlbHBlci5pbnNlcnRDb250ZW50KGxpbmtzLCBpbnNlcnRJbmRleCwgMSk7XG4gICAgICAgIGNvbnN0IGxpbmtNb2RlbCA9IG5ldyBMaW5rTW9kZWwoeyBpbnNlcnRJbmRleCwgbGluaywgZW5kSW5kZXggfSk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gbGlua3MuZmluZEluZGV4KHggPT4geC5pbnNlcnRJbmRleCA+IGxpbmtNb2RlbC5pbnNlcnRJbmRleCk7XG4gICAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgICAgIGxpbmtzLnB1c2gobGlua01vZGVsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpbmtzLnNwbGljZShpbmRleCwgMCwgbGlua01vZGVsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBpbnNlcnRUZXh0SW50b0xpbmsobGlua3M6IExpbmtNb2RlbFtdLCB0ZXh0OiBzdHJpbmcsIGluc2VydEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgbGV0IGxpbmsgPSBsaW5rcy5maW5kKHggPT4geC5pbnNlcnRJbmRleCA8PSBpbnNlcnRJbmRleCAmJiB4LmVuZEluZGV4ID49IGluc2VydEluZGV4IC0gMSk7XG4gICAgICAgIGlmIChsaW5rKSB7XG4gICAgICAgICAgICBsaW5rLmVuZEluZGV4ICs9IHRleHQubGVuZ3RoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIHJlbW92ZVRleHRGcm9tTGluayhsaW5rczogTGlua01vZGVsW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBsZXQgbGluayA9IGxpbmtzLmZpbmQoeCA9PiB4Lmluc2VydEluZGV4IDw9IHN0YXJ0SW5kZXggJiYgeC5lbmRJbmRleCA+PSBlbmRJbmRleCAtIDEpO1xuICAgICAgICBpZiAobGluaykge1xuICAgICAgICAgICAgbGluay5lbmRJbmRleCA9IGVuZEluZGV4IC0gMTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaW5nLW9wZXJhdGlvbnMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvK3NoYXJlZC9lZGl0b3Ivb3BlcmF0aW9ucy9oZWxwZXJzL251bWJlcmluZy1vcGVyYXRpb25zLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFHOUUsTUFBTSxPQUFPLHlCQUF5QjtJQUNsQyxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQTRCLEVBQUUsV0FBbUIsRUFBRSxNQUE2QjtRQUNoRyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM5RSxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBNEI7UUFDbkQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUU7WUFDaEMsSUFBSSxTQUFTLENBQUMsV0FBVyxHQUFHLE1BQU0sRUFBRTtnQkFDaEMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUM7YUFDbEM7U0FDSjtRQUVELE9BQU8sTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUE0QixFQUFFLG1CQUFxQztRQUM5RSxLQUFLLElBQUksa0JBQWtCLElBQUksbUJBQW1CLEVBQUU7WUFDaEQsTUFBTSx1QkFBdUIsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2RyxJQUFJLHVCQUF1QixFQUFFO2dCQUN6QixTQUFTO2FBQ1o7WUFFRCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM5RixJQUFJLFdBQVcsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDcEIsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2FBQ3ZDO2lCQUFNO2dCQUNILFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2FBQ3pEO1NBQ0o7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUE0QixFQUFFLFVBQTRCLEVBQUUsWUFBc0I7UUFDbEcsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQTRCLEVBQUUsWUFBc0I7UUFDOUQsS0FBSyxJQUFJLFdBQVcsSUFBSSxZQUFZLEVBQUU7WUFDbEMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssV0FBVyxDQUFDLENBQUM7WUFDdkUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBRU8sTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUE0QixFQUFFLFlBQXNCO1FBQy9FLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQzdDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLE9BQU8sS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUFNLElBQUksa0JBQWtCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNqRSxJQUNJLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsV0FBVyxLQUFLLElBQUk7Z0JBQ3JELGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxFQUMzRTtnQkFDRSxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0Ysa0JBQWtCLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM3QztZQUVELEtBQUssRUFBRSxDQUFDO1NBQ1g7UUFFRCxPQUFPLGtCQUFrQixDQUFDO0lBQzlCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE51bWJlcmluZ0xldmVsTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL251bWJlcmluZy1sZXZlbC5tb2RlbCc7XG5pbXBvcnQgeyBOdW1iZXJpbmdNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvbnVtYmVyaW5nLm1vZGVsJztcbmltcG9ydCB7IFBhcmFncmFwaE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9wYXJhZ3JhcGgubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgTnVtYmVyaW5nT3BlcmF0aW9uc0hlbHBlciB7XG4gICAgc3RhdGljIGFkZE51bWJlcmluZyhudW1iZXJpbmdzOiBOdW1iZXJpbmdNb2RlbFtdLCBudW1iZXJpbmdJZDogbnVtYmVyLCBsZXZlbHM6IE51bWJlcmluZ0xldmVsTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdOdW1iZXJpbmcgPSBuZXcgTnVtYmVyaW5nTW9kZWwoeyBudW1iZXJpbmdJZDogbnVtYmVyaW5nSWQsIGxldmVscyB9KTtcbiAgICAgICAgbnVtYmVyaW5ncy5wdXNoKG5ld051bWJlcmluZyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdlbmVyYXRlTnVtYmVyaW5nSWQobnVtYmVyaW5nczogTnVtYmVyaW5nTW9kZWxbXSk6IG51bWJlciB7XG4gICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IG51bWJlcmluZyBvZiBudW1iZXJpbmdzKSB7XG4gICAgICAgICAgICBpZiAobnVtYmVyaW5nLm51bWJlcmluZ0lkID4gcmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gbnVtYmVyaW5nLm51bWJlcmluZ0lkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdCArIDE7XG4gICAgfVxuXG4gICAgc3RhdGljIHJlc3RvcmUobnVtYmVyaW5nczogTnVtYmVyaW5nTW9kZWxbXSwgbnVtYmVyaW5nc1RvUmVzdG9yZTogTnVtYmVyaW5nTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBmb3IgKGxldCBudW1iZXJpbmdUb1Jlc3RvcmUgb2YgbnVtYmVyaW5nc1RvUmVzdG9yZSkge1xuICAgICAgICAgICAgY29uc3QgaXNOdW1iZXJpbmdBbHJlYWR5RXhpc3QgPSBudW1iZXJpbmdzLnNvbWUoeCA9PiB4Lm51bWJlcmluZ0lkID09PSBudW1iZXJpbmdUb1Jlc3RvcmUubnVtYmVyaW5nSWQpO1xuICAgICAgICAgICAgaWYgKGlzTnVtYmVyaW5nQWxyZWFkeUV4aXN0KSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGluc2VydEluZGV4ID0gbnVtYmVyaW5ncy5maW5kSW5kZXgoeCA9PiB4Lm51bWJlcmluZ0lkID4gbnVtYmVyaW5nVG9SZXN0b3JlLm51bWJlcmluZ0lkKTtcbiAgICAgICAgICAgIGlmIChpbnNlcnRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBudW1iZXJpbmdzLnB1c2gobnVtYmVyaW5nVG9SZXN0b3JlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbnVtYmVyaW5ncy5zcGxpY2UoaW5zZXJ0SW5kZXgsIDAsIG51bWJlcmluZ1RvUmVzdG9yZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgZGVsZXRlVW51c2VkKG51bWJlcmluZ3M6IE51bWJlcmluZ01vZGVsW10sIHBhcmFncmFwaHM6IFBhcmFncmFwaE1vZGVsW10sIG51bWJlcmluZ0lkczogbnVtYmVyW10pOiB2b2lkIHtcbiAgICAgICAgbGV0IHVudXNlZE51bWJlcmluZ0lkcyA9IHRoaXMuZmlsdGVyVW51c2VkSWRzKHBhcmFncmFwaHMsIG51bWJlcmluZ0lkcyk7XG4gICAgICAgIHRoaXMuZGVsZXRlKG51bWJlcmluZ3MsIHVudXNlZE51bWJlcmluZ0lkcyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGRlbGV0ZShudW1iZXJpbmdzOiBOdW1iZXJpbmdNb2RlbFtdLCBudW1iZXJpbmdJZHM6IG51bWJlcltdKTogdm9pZCB7XG4gICAgICAgIGZvciAobGV0IG51bWJlcmluZ0lkIG9mIG51bWJlcmluZ0lkcykge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBudW1iZXJpbmdzLmZpbmRJbmRleCh4ID0+IHgubnVtYmVyaW5nSWQgPT09IG51bWJlcmluZ0lkKTtcbiAgICAgICAgICAgIG51bWJlcmluZ3Muc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGZpbHRlclVudXNlZElkcyhwYXJhZ3JhcGhzOiBQYXJhZ3JhcGhNb2RlbFtdLCBudW1iZXJpbmdJZHM6IG51bWJlcltdKTogbnVtYmVyW10ge1xuICAgICAgICBjb25zdCB1bnVzZWROdW1iZXJpbmdJZHMgPSBbLi4ubnVtYmVyaW5nSWRzXTtcbiAgICAgICAgbGV0IGluZGV4ID0gMDtcbiAgICAgICAgd2hpbGUgKGluZGV4IDwgcGFyYWdyYXBocy5sZW5ndGggJiYgdW51c2VkTnVtYmVyaW5nSWRzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHBhcmFncmFwaHNbaW5kZXhdLnBhcmFncmFwaFN0eWxlLm51bWJlcmluZ0lkICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgdW51c2VkTnVtYmVyaW5nSWRzLmluY2x1ZGVzKHBhcmFncmFwaHNbaW5kZXhdLnBhcmFncmFwaFN0eWxlLm51bWJlcmluZ0lkKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVsZXRlSW5kZXggPSB1bnVzZWROdW1iZXJpbmdJZHMuaW5kZXhPZihwYXJhZ3JhcGhzW2luZGV4XS5wYXJhZ3JhcGhTdHlsZS5udW1iZXJpbmdJZCk7XG4gICAgICAgICAgICAgICAgdW51c2VkTnVtYmVyaW5nSWRzLnNwbGljZShkZWxldGVJbmRleCwgMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdW51c2VkTnVtYmVyaW5nSWRzO1xuICAgIH1cbn1cbiJdfQ==
|