@talrace/ngx-noder 0.0.7 → 0.0.8
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 +75 -66
- package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +61 -0
- package/esm2022/lib/apart-components/add-link-dialog/validation.helper.mjs +7 -0
- package/esm2022/lib/apart-components/add-link-mobile/add-link-mobile.component.mjs +47 -0
- package/esm2022/lib/apart-components/confirm-dialog/confirm-dialog.component.mjs +32 -0
- package/esm2022/lib/apart-components/editor-search/editor-search-dialog.component.mjs +64 -0
- package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +89 -0
- package/esm2022/lib/apart-components/editor-title-mobile/editor-title-mobile.component.mjs +22 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +111 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/color-picker/color-picker.component.mjs +37 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +49 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +90 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-style/font-style.component.mjs +81 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/format/format.component.mjs +28 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.mjs +22 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/numbering/numbering.component.mjs +53 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/print/print.component.mjs +18 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/undo-redo/undo-redo.component.mjs +27 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/zoom/zoom.component.mjs +71 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +94 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.mjs +24 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +65 -0
- package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +84 -0
- package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +90 -0
- package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar.module.mjs +117 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.mjs +8 -0
- package/esm2022/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/constants/numbering-templates.const.mjs +6 -6
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/svg-icons.const.mjs +157 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/alignment.enum.mjs +8 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.mjs +11 -0
- package/esm2022/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/enums/numbering-template-type.enum.mjs +1 -1
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-type.enum.mjs +6 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/custom-icon.service.mjs +34 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.mjs +26 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs +60 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +55 -0
- package/esm2022/lib/apart-components/insert-table/insert-table.component.mjs +54 -0
- package/esm2022/lib/apart-components/insert-table-mobile/insert-table-mobile.component.mjs +84 -0
- package/esm2022/lib/apart-components/text-format-mobile/text-format-mobile.component.mjs +123 -0
- package/esm2022/lib/editor/components/edges/edge-element.model.mjs +9 -0
- package/esm2022/lib/editor/components/edges/edge-type.enum.mjs +6 -0
- package/esm2022/lib/editor/components/edges/edge.component.mjs +99 -0
- package/esm2022/lib/editor/components/edges/edges.mjs +108 -0
- package/esm2022/lib/editor/components/edges/page-type.enum.mjs +7 -0
- package/esm2022/lib/editor/components/editor.component.mjs +112 -0
- package/esm2022/lib/editor/components/external-element/external-element.service.mjs +6 -0
- package/esm2022/lib/editor/components/external-element/external-elements.const.mjs +4 -0
- package/esm2022/lib/editor/components/external-element/external-sidenav.interface.mjs +2 -0
- package/esm2022/lib/editor/components/external-element/external.component.mjs +41 -0
- package/esm2022/lib/editor/components/external-element/models/element-data.model.mjs +9 -0
- package/esm2022/lib/editor/components/external-element/models/external-element.model.mjs +11 -0
- package/esm2022/lib/editor/components/external-element/models/external-sidenav.model.mjs +15 -0
- package/esm2022/lib/editor/components/image/components/image.component.mjs +88 -0
- package/esm2022/lib/editor/components/image/image-api.service.mjs +36 -0
- package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +38 -0
- package/esm2022/lib/editor/components/image/resizer/coordinate.mjs +2 -0
- package/esm2022/lib/editor/components/image/resizer/direction-wrapper.mjs +19 -0
- package/esm2022/lib/editor/components/image/resizer/direction.enum.mjs +12 -0
- package/esm2022/lib/editor/components/image/resizer/resizer.component.mjs +106 -0
- package/esm2022/lib/editor/components/image/resizer/size-delta.mjs +2 -0
- package/esm2022/lib/editor/components/image/resizer/size-wrapper.mjs +52 -0
- package/esm2022/lib/editor/components/image/size.mjs +2 -0
- package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +59 -0
- package/esm2022/lib/editor/components/shared/abstract/destroy.component.mjs +18 -0
- package/esm2022/lib/editor/components/shared/custom-component.hepler.mjs +43 -0
- package/esm2022/lib/editor/components/shared/custom-components.interface.mjs +2 -0
- package/esm2022/lib/editor/components/shared/custom-content-markers.const.mjs +3 -0
- package/esm2022/lib/editor/components/shared/custom-content.mjs +2 -0
- package/esm2022/lib/editor/components/shared/services/component.service.mjs +64 -0
- package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +163 -0
- package/esm2022/lib/editor/components/shared/services/overlay.service.mjs +55 -0
- package/esm2022/lib/editor/components/tab/tab.component.mjs +44 -0
- package/esm2022/lib/editor/components/tab/tab.helper.mjs +6 -0
- package/esm2022/lib/editor/components/table/cell-resizer/cell-resizer.mjs +118 -0
- package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +97 -0
- package/esm2022/lib/editor/components/table/components/table.component.mjs +401 -0
- package/esm2022/lib/{+shared/editor/core → editor/components/table}/enums/hrule.enum.mjs +1 -1
- package/esm2022/lib/editor/components/table/enums/reisizer-side.enum.mjs +8 -0
- package/esm2022/lib/editor/components/table/enums/vertical-merge.enum.mjs +6 -0
- package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +18 -0
- package/esm2022/lib/editor/components/table/models/cell-resizer-parameters.model.mjs +9 -0
- package/esm2022/lib/editor/components/table/models/row-data.model.mjs +8 -0
- package/esm2022/lib/editor/components/table/models/selection-range.model.mjs +7 -0
- package/esm2022/lib/editor/components/table/overlay-menu/overlay-menu.component.mjs +74 -0
- package/esm2022/lib/editor/components/table/selection/table-selection.mjs +366 -0
- package/esm2022/lib/editor/content/constants/display-values.const.mjs +8 -0
- package/esm2022/lib/editor/content/constants/document-info.const.mjs +13 -0
- package/esm2022/lib/editor/content/constants/editor.const.mjs +62 -0
- package/esm2022/lib/editor/content/contents.interface.mjs +2 -0
- package/esm2022/lib/editor/content/display-data/display-token.model.mjs +12 -0
- package/esm2022/lib/editor/content/display-data/document.mjs +134 -0
- package/esm2022/lib/editor/content/display-data/format-ext.model.mjs +10 -0
- package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +11 -0
- package/esm2022/lib/editor/content/display-data/indent.model.mjs +9 -0
- package/esm2022/lib/editor/content/display-data/line-info.model.mjs +9 -0
- package/esm2022/lib/editor/content/display-data/lines.mjs +96 -0
- package/esm2022/lib/editor/content/display-data/pages.wrap.mjs +226 -0
- package/esm2022/lib/editor/content/display-data/paragraph-info.interface.mjs +2 -0
- package/esm2022/lib/editor/content/display-data/paragraph.mjs +52 -0
- package/esm2022/lib/editor/content/display-data/text-line-info.mjs +34 -0
- package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +2 -0
- package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +96 -0
- package/esm2022/lib/{+shared/editor → editor/content}/helpers/format.helper.mjs +1 -1
- package/esm2022/lib/{+shared/editor → editor/content}/helpers/indexed-element.helper.mjs +1 -1
- package/esm2022/lib/editor/content/helpers/scaling.helper.mjs +9 -0
- package/esm2022/lib/editor/content/margin.model.mjs +16 -0
- package/esm2022/lib/editor/content/page-vertical-data.model.mjs +9 -0
- package/esm2022/lib/{+shared/editor/core/enums → editor/content}/vertical-alignment.enum.mjs +1 -1
- package/esm2022/lib/editor/core/event-emitting.mjs +56 -0
- package/esm2022/lib/editor/display/cell.interface.mjs +2 -0
- package/esm2022/lib/editor/display/event.helper.mjs +18 -0
- package/esm2022/lib/editor/display/layers/cursor.layer.mjs +101 -0
- package/esm2022/lib/editor/display/layers/layer.config.mjs +2 -0
- package/esm2022/lib/editor/display/layers/pages.layer.mjs +97 -0
- package/esm2022/lib/editor/display/layers/print.pages.layer.mjs +7 -0
- package/esm2022/lib/editor/display/layers/print.text.layer.mjs +7 -0
- package/esm2022/lib/editor/display/layers/selection.layer.mjs +113 -0
- package/esm2022/lib/editor/display/layers/text.layer.mjs +203 -0
- package/esm2022/lib/editor/display/print/print.helper.mjs +40 -0
- package/esm2022/lib/editor/display/print/print.renderer.mjs +67 -0
- package/esm2022/lib/editor/display/print/print.rendering.helper.mjs +7 -0
- package/esm2022/lib/editor/display/render-changes.interface.mjs +2 -0
- package/esm2022/lib/editor/display/render-changes.model.mjs +25 -0
- package/esm2022/lib/editor/display/renderer.mjs +206 -0
- package/esm2022/lib/editor/display/rendering.helper.mjs +187 -0
- package/esm2022/lib/editor/display/renderloop.mjs +26 -0
- package/esm2022/lib/editor/display/virtual.renderer.mjs +317 -0
- package/esm2022/lib/editor/display/visible-range.interface.mjs +2 -0
- package/esm2022/lib/editor/editor.module.mjs +67 -0
- package/esm2022/lib/editor/execution/distance.model.mjs +10 -0
- package/esm2022/lib/editor/execution/edit.session.mjs +1117 -0
- package/esm2022/lib/editor/execution/editor.mjs +1346 -0
- package/esm2022/lib/editor/execution/helpers/delta.helper.mjs +18 -0
- package/esm2022/lib/editor/execution/helpers/dom.helper.mjs +42 -0
- package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +64 -0
- package/esm2022/lib/editor/execution/helpers/page.helper.mjs +12 -0
- package/esm2022/lib/editor/execution/helpers/paragraph-style.helper.mjs +41 -0
- package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +169 -0
- package/esm2022/lib/editor/execution/regulator.service.mjs +198 -0
- package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +19 -0
- package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +15 -0
- package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +8 -0
- package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +3 -0
- package/esm2022/lib/editor/execution/targeting/session.model.mjs +10 -0
- package/esm2022/lib/editor/gadgets/font-metrics/editor-version.const.mjs +2 -0
- package/esm2022/lib/editor/gadgets/font-metrics/font-metric-size.interface.mjs +2 -0
- package/esm2022/lib/editor/gadgets/font-metrics/font-metrics.helper.mjs +88 -0
- package/esm2022/lib/editor/gadgets/history/operation-history.mjs +206 -0
- package/esm2022/lib/editor/gadgets/history/operation.type.mjs +2 -0
- package/esm2022/lib/editor/gadgets/history/operations-history-info.model.mjs +7 -0
- package/esm2022/lib/editor/gadgets/numbering/numbering-data.model.mjs +9 -0
- package/esm2022/lib/{+shared/editor/core/enums → editor/gadgets/numbering}/numbering-marker-type.enum.mjs +1 -1
- package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +82 -0
- package/esm2022/lib/editor/gadgets/page-break/break-types.enum.mjs +7 -0
- package/esm2022/lib/editor/gadgets/page-break/break.helper.mjs +18 -0
- package/esm2022/lib/editor/gadgets/scrollbar.mjs +81 -0
- package/esm2022/lib/editor/gadgets/search/replace.interface.mjs +2 -0
- package/esm2022/lib/editor/gadgets/search/search-iteration.interface.mjs +2 -0
- package/esm2022/lib/editor/gadgets/search/search.mjs +231 -0
- package/esm2022/lib/editor/gadgets/unicode/unicode-chars.const.mjs +5 -0
- package/esm2022/lib/editor/gadgets/unicode/unicode.helper.mjs +20 -0
- package/esm2022/lib/editor/interaction/base.handler.mjs +19 -0
- package/esm2022/lib/editor/interaction/document.handler.mjs +27 -0
- package/esm2022/lib/editor/interaction/editor.service.mjs +325 -0
- package/esm2022/lib/editor/interaction/input.handler.mjs +149 -0
- package/esm2022/lib/{+shared/enums → editor/interaction}/mode.enum.mjs +1 -1
- package/esm2022/lib/editor/interaction/mouse-button.enum.mjs +7 -0
- package/esm2022/lib/editor/interaction/mouse.handler.mjs +49 -0
- package/esm2022/lib/editor/interaction/text-input.mjs +53 -0
- package/esm2022/lib/editor/operations/commands.service.mjs +20 -0
- package/esm2022/lib/editor/operations/enums/command-type.enum.mjs +32 -0
- package/esm2022/lib/editor/operations/enums/target-type.enum.mjs +7 -0
- package/esm2022/lib/editor/operations/helpers/break-operations.helper.mjs +9 -0
- package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +15 -0
- package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +55 -0
- package/esm2022/lib/editor/operations/helpers/image-operations.helper.mjs +19 -0
- package/esm2022/lib/editor/operations/helpers/indexed-element-operations.helper.mjs +43 -0
- package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +28 -0
- package/esm2022/lib/editor/operations/helpers/numbering-operations.helper.mjs +55 -0
- package/esm2022/lib/editor/operations/helpers/paragraph-operations.helper.mjs +114 -0
- package/esm2022/lib/editor/operations/helpers/tab-operations.helper.mjs +16 -0
- package/esm2022/lib/editor/operations/helpers/table-operations.helper.mjs +374 -0
- package/esm2022/lib/editor/operations/operations-helper.helper.mjs +432 -0
- package/esm2022/lib/editor/operations/save-commands.helper.mjs +127 -0
- package/esm2022/lib/editor/operations/target-operations.helper.mjs +23 -0
- package/esm2022/lib/editor/positioning/alignments.const.mjs +8 -0
- package/esm2022/lib/editor/positioning/content.helper.mjs +36 -0
- package/esm2022/lib/editor/positioning/cursor-paragraph.mjs +13 -0
- package/esm2022/lib/editor/positioning/cursor-position.interface.mjs +2 -0
- package/esm2022/lib/editor/positioning/insert-index.interface.mjs +2 -0
- package/esm2022/lib/editor/positioning/line-width.helper.mjs +13 -0
- package/esm2022/lib/editor/positioning/position.helper.mjs +194 -0
- package/esm2022/lib/editor/positioning/range.mjs +94 -0
- package/esm2022/lib/editor/positioning/selection.mjs +307 -0
- package/esm2022/lib/editor/revision.helper.mjs +91 -0
- package/esm2022/lib/models/generated/cell.model.mjs +1 -1
- package/esm2022/lib/models/generated/command.model.mjs +5 -1
- package/esm2022/lib/models/generated/insert-paragraph.model.mjs +20 -0
- package/esm2022/lib/models/generated/replace.model.mjs +5 -1
- package/esm2022/public-api.mjs +37 -31
- package/fesm2022/talrace-ngx-noder.mjs +3398 -2731
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
- package/lib/apart-components/add-link-dialog/add-link-dialog.component.d.ts +27 -0
- package/lib/apart-components/add-link-dialog/validation.helper.d.ts +5 -0
- package/lib/apart-components/add-link-mobile/add-link-mobile.component.d.ts +19 -0
- package/lib/{+shared → apart-components}/confirm-dialog/confirm-dialog.component.d.ts +2 -1
- package/lib/{+shared → apart-components}/editor-search/editor-search-dialog.component.d.ts +6 -7
- package/lib/apart-components/editor-title/editor-title.component.d.ts +25 -0
- package/lib/apart-components/editor-title-mobile/editor-title-mobile.component.d.ts +6 -0
- package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +49 -0
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/color-picker/color-picker.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font/font.component.d.ts +2 -2
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font-size/font-size.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font-style/font-style.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/format/format.component.d.ts +2 -2
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/heading/heading.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/numbering/numbering.component.d.ts +3 -3
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/print/print.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/undo-redo/undo-redo.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/zoom/zoom.component.d.ts +1 -1
- package/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.d.ts +36 -0
- package/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.d.ts +14 -0
- package/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.d.ts +23 -0
- package/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.d.ts +26 -0
- package/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.d.ts +40 -0
- package/lib/apart-components/editor-toolbar/editor-toolbar.module.d.ts +32 -0
- package/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.d.ts +2 -0
- package/lib/apart-components/editor-toolbar/shared/constants/numbering-templates.const.d.ts +6 -0
- package/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.d.ts +9 -0
- package/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.d.ts +14 -0
- package/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.d.ts +38 -0
- package/lib/{+shared/editor-toolbar/helpers → apart-components/editor-toolbar/shared}/toolbar-styles.helper.d.ts +2 -2
- package/lib/{+shared → apart-components}/insert-table/insert-table.component.d.ts +1 -1
- package/lib/apart-components/insert-table-mobile/insert-table-mobile.component.d.ts +30 -0
- package/lib/apart-components/text-format-mobile/text-format-mobile.component.d.ts +35 -0
- package/lib/{+shared/editor/core/models → editor/components/edges}/edge-element.model.d.ts +1 -1
- package/lib/editor/components/edges/edge.component.d.ts +44 -0
- package/lib/{+shared/editor/core → editor}/components/edges/edges.d.ts +7 -7
- package/lib/{+shared/editor → editor/components}/editor.component.d.ts +11 -11
- package/lib/{+shared/editor/custom-components → editor/components}/external-element/external-sidenav.interface.d.ts +1 -1
- package/lib/{+shared/editor/custom-components → editor/components}/external-element/external.component.d.ts +4 -4
- package/lib/{+shared/editor/custom-components → editor/components}/external-element/models/external-element.model.d.ts +2 -1
- package/lib/{+shared/editor/custom-components → editor/components}/image/components/image.component.d.ts +4 -4
- package/lib/editor/components/image/image-api.service.d.ts +17 -0
- package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/resizer.component.d.ts +2 -2
- package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/size-wrapper.d.ts +1 -1
- package/lib/{+shared/editor/custom-components → editor/components}/shared/abstract/base.component.d.ts +6 -4
- package/lib/editor/components/shared/abstract/destroy.component.d.ts +9 -0
- package/lib/{+shared/editor/custom-components/shared/helpers → editor/components/shared}/custom-component.hepler.d.ts +3 -3
- package/lib/editor/components/shared/custom-components.interface.d.ts +13 -0
- package/lib/editor/components/shared/custom-content.d.ts +5 -0
- package/lib/{+shared/editor/custom-components/shared/services/component → editor/components/shared/services}/component.service.d.ts +1 -1
- package/lib/editor/components/shared/services/custom-content.service.d.ts +33 -0
- package/lib/{+shared/editor/custom-components → editor/components}/tab/tab.component.d.ts +2 -2
- package/lib/{+shared/editor/custom-components → editor/components}/table/cell-resizer/cell-resizer.d.ts +2 -1
- package/lib/editor/components/table/components/table-cell.component.d.ts +45 -0
- package/lib/{+shared/editor/custom-components → editor/components}/table/components/table.component.d.ts +26 -11
- package/lib/{+shared/editor/custom-components → editor/components}/table/overlay-menu/overlay-menu.component.d.ts +2 -2
- package/lib/{+shared/editor/custom-components → editor/components}/table/selection/table-selection.d.ts +3 -3
- package/lib/{+shared/editor/core → editor/content}/constants/editor.const.d.ts +3 -3
- package/lib/editor/content/contents.interface.d.ts +22 -0
- package/lib/{+shared/editor/core/models → editor/content/display-data}/display-token.model.d.ts +1 -1
- package/lib/{+shared/editor/core → editor/content/display-data}/document.d.ts +9 -9
- package/lib/{+shared/editor/core/models → editor/content/display-data}/format-ext.model.d.ts +1 -1
- package/lib/{+shared/editor/execution/models → editor/content/display-data}/general-properties.model.d.ts +2 -1
- package/lib/{+shared/editor/core/models → editor/content/display-data}/line-info.model.d.ts +1 -0
- package/lib/{+shared/editor/core/layers → editor/content/display-data}/lines.d.ts +1 -1
- package/lib/editor/content/display-data/pages.wrap.d.ts +42 -0
- package/lib/{+shared/editor/core/paging → editor/content/display-data}/paragraph.d.ts +8 -5
- package/lib/{+shared/editor/core/paging → editor/content/display-data}/text-line-info.d.ts +4 -2
- package/lib/editor/content/helpers/content-style.helper.d.ts +11 -0
- package/lib/{+shared/editor → editor/content}/helpers/indexed-element.helper.d.ts +1 -1
- package/lib/editor/content/helpers/scaling.helper.d.ts +4 -0
- package/lib/{+shared/editor/core/paging → editor/content}/page-vertical-data.model.d.ts +1 -1
- package/lib/{+shared/editor/core/base → editor/core}/event-emitting.d.ts +0 -5
- package/lib/{+shared/editor/core → editor/display}/layers/cursor.layer.d.ts +7 -8
- package/lib/{+shared/editor/core/interfaces → editor/display/layers}/layer.config.d.ts +2 -2
- package/lib/{+shared/editor/core → editor/display}/layers/pages.layer.d.ts +5 -6
- package/lib/editor/display/layers/print.text.layer.d.ts +4 -0
- package/lib/{+shared/editor/core → editor/display}/layers/selection.layer.d.ts +5 -6
- package/lib/editor/display/layers/text.layer.d.ts +34 -0
- package/lib/{+shared/helpers → editor/display/print}/print.helper.d.ts +3 -3
- package/lib/editor/display/print/print.renderer.d.ts +23 -0
- package/lib/{+shared/editor/core/helpers → editor/display/print}/print.rendering.helper.d.ts +2 -2
- package/lib/{+shared/editor/core/models → editor/display}/render-changes.model.d.ts +1 -1
- package/lib/{+shared/editor/core → editor/display}/renderer.d.ts +10 -13
- package/lib/{+shared/editor/core/helpers → editor/display}/rendering.helper.d.ts +10 -10
- package/lib/{+shared/editor/core/layers → editor/display}/renderloop.d.ts +2 -2
- package/lib/{+shared/editor/core → editor/display}/virtual.renderer.d.ts +14 -29
- package/lib/editor/editor.module.d.ts +31 -0
- package/lib/{+shared/editor/core → editor/execution}/edit.session.d.ts +65 -63
- package/lib/{+shared/editor/core → editor/execution}/editor.d.ts +48 -42
- package/lib/editor/execution/helpers/delta.helper.d.ts +6 -0
- package/lib/{+shared/editor/core → editor/execution}/helpers/format-style.helper.d.ts +3 -5
- package/lib/{+shared/editor/core → editor/execution}/helpers/page.helper.d.ts +1 -1
- package/lib/{+shared/editor/core → editor/execution}/helpers/paragraph-style.helper.d.ts +1 -1
- package/lib/{+shared/editor/core → editor/execution}/helpers/paragraph.helper.d.ts +14 -8
- package/lib/{+shared/editor → editor}/execution/regulator.service.d.ts +16 -15
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/cell-session-source.model.d.ts +3 -3
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/edge-session-source.model.d.ts +3 -3
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/main-session-source.model.d.ts +1 -1
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/session-source.model.d.ts +1 -1
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/session.model.d.ts +3 -3
- package/lib/{+shared/editor/core/helpers → editor/gadgets/font-metrics}/font-metrics.helper.d.ts +1 -1
- package/lib/{+shared/editor/operation-history → editor/gadgets/history}/operation-history.d.ts +9 -7
- package/lib/{+shared/editor/operation-history → editor/gadgets/history}/operation.type.d.ts +2 -1
- package/lib/{+shared/editor/core/models → editor/gadgets/numbering}/numbering-data.model.d.ts +1 -1
- package/lib/{+shared/editor/core/helpers → editor/gadgets/numbering}/numbering.helper.d.ts +8 -8
- package/lib/{+shared/editor/helpers → editor/gadgets/page-break}/break.helper.d.ts +2 -2
- package/lib/{+shared/editor/core/layers → editor/gadgets}/scrollbar.d.ts +9 -18
- package/lib/{+shared/editor/core → editor/gadgets/search}/search.d.ts +4 -4
- package/lib/editor/interaction/base.handler.d.ts +9 -0
- package/lib/editor/interaction/document.handler.d.ts +10 -0
- package/lib/{+shared/editor → editor}/interaction/editor.service.d.ts +24 -18
- package/lib/{+shared/editor → editor}/interaction/input.handler.d.ts +4 -5
- package/lib/{+shared/editor → editor}/interaction/mouse.handler.d.ts +1 -1
- package/lib/{+shared/editor → editor}/operations/enums/command-type.enum.d.ts +11 -10
- package/lib/{+shared/editor → editor}/operations/helpers/break-operations.helper.d.ts +2 -2
- package/lib/{+shared/editor → editor}/operations/helpers/format-operations.helper.d.ts +2 -2
- package/lib/editor/operations/helpers/image-operations.helper.d.ts +7 -0
- package/lib/{+shared/editor → editor}/operations/helpers/indexed-element-operations.helper.d.ts +1 -1
- package/lib/{+shared/editor → editor}/operations/helpers/link-operations.helper.d.ts +1 -1
- package/lib/{+shared/editor → editor}/operations/helpers/numbering-operations.helper.d.ts +3 -3
- package/lib/{+shared/editor → editor}/operations/helpers/paragraph-operations.helper.d.ts +3 -2
- package/lib/{+shared/editor → editor}/operations/helpers/tab-operations.helper.d.ts +1 -1
- package/lib/{+shared/editor → editor}/operations/helpers/table-operations.helper.d.ts +6 -6
- package/lib/{+shared/editor/operations/helpers → editor/operations}/operations-helper.helper.d.ts +21 -19
- package/lib/{+shared/editor/operations/helpers → editor/operations}/save-commands.helper.d.ts +28 -22
- package/lib/editor/operations/target-operations.helper.d.ts +6 -0
- package/lib/{+shared/editor/helpers → editor/positioning}/content.helper.d.ts +10 -5
- package/lib/editor/positioning/cursor-paragraph.d.ts +7 -0
- package/lib/{+shared/editor/core/interfaces → editor/positioning}/cursor-position.interface.d.ts +1 -1
- package/lib/{+shared/editor/core/helpers → editor/positioning}/line-width.helper.d.ts +2 -2
- package/lib/{+shared/editor/core/helpers → editor/positioning}/position.helper.d.ts +9 -9
- package/lib/{+shared/editor/core → editor/positioning}/range.d.ts +12 -12
- package/lib/{+shared/editor → editor}/positioning/selection.d.ts +10 -10
- package/lib/editor/revision.helper.d.ts +15 -0
- package/lib/models/generated/cell.model.d.ts +1 -0
- package/lib/models/generated/command.model.d.ts +2 -0
- package/lib/models/generated/insert-paragraph.model.d.ts +10 -0
- package/lib/models/generated/replace.model.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +36 -30
- package/src/_ngx-noder.theme.scss +20 -13
- package/src/assets/fonts/nc-iconfont.css +112 -106
- package/src/assets/fonts/nc-iconfont.eot +0 -0
- package/src/assets/fonts/nc-iconfont.svg +4 -1
- package/src/assets/fonts/nc-iconfont.ttf +0 -0
- package/src/assets/fonts/nc-iconfont.woff +0 -0
- package/src/lib/{+shared → apart-components}/add-link-dialog/_add-link-dialog.theme.scss +4 -4
- package/src/lib/apart-components/add-link-mobile/_add-link-mobile.theme.scss +25 -0
- package/src/lib/apart-components/confirm-dialog/_theme.scss +30 -0
- package/src/lib/apart-components/editor-title/_editor-title.theme.scss +28 -0
- package/src/lib/apart-components/editor-title-mobile/_editor-title-mobile.theme.scss +42 -0
- package/src/lib/apart-components/editor-toolbar/_editor-toolbar.theme.scss +27 -0
- package/src/lib/apart-components/editor-toolbar/_theme.scss +25 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/color-picker/_color-picker.theme.scss +12 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/font/_font.theme.scss +12 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/font-size/_font-size.theme.scss +14 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/font-style/_font-style.theme.scss +21 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/format/_format.theme.scss +21 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/numbering/_numbering.theme.scss +70 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/undo-redo/_undo-redo.theme.scss +16 -0
- package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns/_menu-dropdowns.theme.scss +26 -0
- package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/_menu-dropdowns-mobile.theme.scss +33 -0
- package/src/lib/apart-components/editor-toolbar/components/toolbar-actions/_toolbar-actions.theme.scss +22 -0
- package/src/lib/{+shared → apart-components}/insert-table/_insert-table.theme.scss +10 -7
- package/src/lib/apart-components/insert-table-mobile/_insert-table-mobile.theme.scss +54 -0
- package/src/lib/apart-components/text-format-mobile/_text-format-mobile.theme.scss +86 -0
- package/src/lib/editor/_theme.scss +5 -0
- package/src/lib/editor/components/_editor.theme.scss +112 -0
- package/src/scss/_fonts.scss +3 -0
- package/src/scss/base-editor.scss +329 -0
- package/src/styles.scss +3 -58
- package/esm2022/lib/+shared/abstract/base-api.service.mjs +0 -99
- package/esm2022/lib/+shared/abstract/observer.component.mjs +0 -24
- package/esm2022/lib/+shared/confirm-dialog/confirm-dialog.component.mjs +0 -28
- package/esm2022/lib/+shared/constants/default-file-name.const.mjs +0 -2
- package/esm2022/lib/+shared/constants/paginator-sizes.const.mjs +0 -3
- package/esm2022/lib/+shared/editor/core/base/event-emitting.mjs +0 -71
- package/esm2022/lib/+shared/editor/core/components/edges/edge-type.enum.mjs +0 -6
- package/esm2022/lib/+shared/editor/core/components/edges/edge.component.mjs +0 -100
- package/esm2022/lib/+shared/editor/core/components/edges/edges.mjs +0 -104
- package/esm2022/lib/+shared/editor/core/constants/alignments.const.mjs +0 -8
- package/esm2022/lib/+shared/editor/core/constants/clipboardEventTypes.const.mjs +0 -6
- package/esm2022/lib/+shared/editor/core/constants/content-style-change.const.mjs +0 -15
- package/esm2022/lib/+shared/editor/core/constants/display-values.const.mjs +0 -8
- package/esm2022/lib/+shared/editor/core/constants/document-info.const.mjs +0 -13
- package/esm2022/lib/+shared/editor/core/constants/editor-version.const.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/constants/editor.const.mjs +0 -62
- package/esm2022/lib/+shared/editor/core/constants/unicode-chars.const.mjs +0 -5
- package/esm2022/lib/+shared/editor/core/document.mjs +0 -134
- package/esm2022/lib/+shared/editor/core/edit.session.mjs +0 -1102
- package/esm2022/lib/+shared/editor/core/editor.mjs +0 -1279
- package/esm2022/lib/+shared/editor/core/enums/break-types.enum.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/enums/mouse-button.enum.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/enums/page-type.enum.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/helpers/content-style.helper.mjs +0 -156
- package/esm2022/lib/+shared/editor/core/helpers/delta.helper.mjs +0 -18
- package/esm2022/lib/+shared/editor/core/helpers/dom.helper.mjs +0 -42
- package/esm2022/lib/+shared/editor/core/helpers/event.helper.mjs +0 -18
- package/esm2022/lib/+shared/editor/core/helpers/font-metrics.helper.mjs +0 -88
- package/esm2022/lib/+shared/editor/core/helpers/format-style.helper.mjs +0 -72
- package/esm2022/lib/+shared/editor/core/helpers/line-width.helper.mjs +0 -13
- package/esm2022/lib/+shared/editor/core/helpers/numbering.helper.mjs +0 -83
- package/esm2022/lib/+shared/editor/core/helpers/page.helper.mjs +0 -12
- package/esm2022/lib/+shared/editor/core/helpers/paragraph-style.helper.mjs +0 -41
- package/esm2022/lib/+shared/editor/core/helpers/paragraph.helper.mjs +0 -132
- package/esm2022/lib/+shared/editor/core/helpers/position.helper.mjs +0 -191
- package/esm2022/lib/+shared/editor/core/helpers/print.rendering.helper.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/helpers/rendering.helper.mjs +0 -186
- package/esm2022/lib/+shared/editor/core/helpers/unicode.helper.mjs +0 -20
- package/esm2022/lib/+shared/editor/core/interfaces/cell.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/cursor-position.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/font-metric-size.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/layer.config.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/paragraph-info.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/render-changes.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/replace.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/search-iteration.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/toolbar-styles.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/visible-line-info.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/visible-range.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/keyboard/text-input.mjs +0 -53
- package/esm2022/lib/+shared/editor/core/layers/cursor.layer.mjs +0 -103
- package/esm2022/lib/+shared/editor/core/layers/edges.layer.mjs +0 -99
- package/esm2022/lib/+shared/editor/core/layers/lines.mjs +0 -96
- package/esm2022/lib/+shared/editor/core/layers/pages.layer.mjs +0 -106
- package/esm2022/lib/+shared/editor/core/layers/print.edges.layer.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/layers/print.pages.layer.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/layers/print.text.layer.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/layers/renderloop.mjs +0 -26
- package/esm2022/lib/+shared/editor/core/layers/scrollbar.mjs +0 -100
- package/esm2022/lib/+shared/editor/core/layers/selection.layer.mjs +0 -115
- package/esm2022/lib/+shared/editor/core/layers/text.layer.mjs +0 -124
- package/esm2022/lib/+shared/editor/core/models/display-token.model.mjs +0 -12
- package/esm2022/lib/+shared/editor/core/models/distance.model.mjs +0 -10
- package/esm2022/lib/+shared/editor/core/models/edge-element.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/core/models/format-ext.model.mjs +0 -10
- package/esm2022/lib/+shared/editor/core/models/indent.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/core/models/line-info.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/core/models/margin.model.mjs +0 -16
- package/esm2022/lib/+shared/editor/core/models/numbering-data.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/core/models/render-changes.model.mjs +0 -25
- package/esm2022/lib/+shared/editor/core/paging/page-vertical-data.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/core/paging/pages.wrap.mjs +0 -219
- package/esm2022/lib/+shared/editor/core/paging/paragraph.mjs +0 -52
- package/esm2022/lib/+shared/editor/core/paging/text-line-info.mjs +0 -34
- package/esm2022/lib/+shared/editor/core/point.mjs +0 -13
- package/esm2022/lib/+shared/editor/core/print.renderer.mjs +0 -72
- package/esm2022/lib/+shared/editor/core/range.mjs +0 -94
- package/esm2022/lib/+shared/editor/core/renderer.mjs +0 -217
- package/esm2022/lib/+shared/editor/core/search.mjs +0 -231
- package/esm2022/lib/+shared/editor/core/virtual.renderer.mjs +0 -356
- package/esm2022/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.mjs +0 -35
- package/esm2022/lib/+shared/editor/custom-components/external-element/external-element.service.mjs +0 -6
- package/esm2022/lib/+shared/editor/custom-components/external-element/external-elements.const.mjs +0 -4
- package/esm2022/lib/+shared/editor/custom-components/external-element/external-sidenav.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/custom-components/external-element/external.component.mjs +0 -41
- package/esm2022/lib/+shared/editor/custom-components/external-element/models/element-data.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/custom-components/external-element/models/external-element.model.mjs +0 -10
- package/esm2022/lib/+shared/editor/custom-components/external-element/models/external-sidenav.model.mjs +0 -15
- package/esm2022/lib/+shared/editor/custom-components/image/components/image.component.mjs +0 -87
- package/esm2022/lib/+shared/editor/custom-components/image/input-handler/image-input.handler.mjs +0 -38
- package/esm2022/lib/+shared/editor/custom-components/image/interfaces/size.mjs +0 -2
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/coordinate.mjs +0 -2
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/direction-wrapper.mjs +0 -19
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/direction.enum.mjs +0 -12
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/resizer.component.mjs +0 -106
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/size-delta.mjs +0 -2
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/size-wrapper.mjs +0 -52
- package/esm2022/lib/+shared/editor/custom-components/image/services/image-api.service.mjs +0 -14
- package/esm2022/lib/+shared/editor/custom-components/shared/abstract/base.component.mjs +0 -57
- package/esm2022/lib/+shared/editor/custom-components/shared/constants/custom-content-markers.const.mjs +0 -3
- package/esm2022/lib/+shared/editor/custom-components/shared/helpers/custom-component.hepler.mjs +0 -43
- package/esm2022/lib/+shared/editor/custom-components/shared/interfaces/custom-components.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/custom-components/shared/services/component/component.service.mjs +0 -64
- package/esm2022/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.mjs +0 -120
- package/esm2022/lib/+shared/editor/custom-components/shared/services/overlay/overlay.service.mjs +0 -55
- package/esm2022/lib/+shared/editor/custom-components/shared/types/custom-content.mjs +0 -2
- package/esm2022/lib/+shared/editor/custom-components/tab/tab.component.mjs +0 -43
- package/esm2022/lib/+shared/editor/custom-components/table/cell-resizer/cell-resizer.mjs +0 -118
- package/esm2022/lib/+shared/editor/custom-components/table/components/table-cell.component.mjs +0 -95
- package/esm2022/lib/+shared/editor/custom-components/table/components/table.component.mjs +0 -293
- package/esm2022/lib/+shared/editor/custom-components/table/enums/reisizer-side.enum.mjs +0 -8
- package/esm2022/lib/+shared/editor/custom-components/table/enums/vertical-merge.enum.mjs +0 -6
- package/esm2022/lib/+shared/editor/custom-components/table/models/cell-data.model.mjs +0 -18
- package/esm2022/lib/+shared/editor/custom-components/table/models/cell-resizer-parameters.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/custom-components/table/models/row-data.model.mjs +0 -8
- package/esm2022/lib/+shared/editor/custom-components/table/models/selection-range.model.mjs +0 -7
- package/esm2022/lib/+shared/editor/custom-components/table/overlay-menu/overlay-menu.component.mjs +0 -74
- package/esm2022/lib/+shared/editor/custom-components/table/selection/table-selection.mjs +0 -358
- package/esm2022/lib/+shared/editor/editor.component.mjs +0 -103
- package/esm2022/lib/+shared/editor/editor.module.mjs +0 -85
- package/esm2022/lib/+shared/editor/execution/models/cell-session-source.model.mjs +0 -19
- package/esm2022/lib/+shared/editor/execution/models/edge-session-source.model.mjs +0 -15
- package/esm2022/lib/+shared/editor/execution/models/general-properties.model.mjs +0 -11
- package/esm2022/lib/+shared/editor/execution/models/main-session-source.model.mjs +0 -8
- package/esm2022/lib/+shared/editor/execution/models/session-source.model.mjs +0 -3
- package/esm2022/lib/+shared/editor/execution/models/session.model.mjs +0 -10
- package/esm2022/lib/+shared/editor/execution/regulator.service.mjs +0 -193
- package/esm2022/lib/+shared/editor/helpers/break.helper.mjs +0 -18
- package/esm2022/lib/+shared/editor/helpers/content.helper.mjs +0 -30
- package/esm2022/lib/+shared/editor/helpers/tab.helper.mjs +0 -6
- package/esm2022/lib/+shared/editor/interaction/editor.service.mjs +0 -309
- package/esm2022/lib/+shared/editor/interaction/input.handler.mjs +0 -160
- package/esm2022/lib/+shared/editor/interaction/mouse.handler.mjs +0 -49
- package/esm2022/lib/+shared/editor/interfaces/contents.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/interfaces/insert-index.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/operation-history/operation-history.mjs +0 -184
- package/esm2022/lib/+shared/editor/operation-history/operation.type.mjs +0 -2
- package/esm2022/lib/+shared/editor/operation-history/operations-history-info.model.mjs +0 -7
- package/esm2022/lib/+shared/editor/operations/enums/command-type.enum.mjs +0 -31
- package/esm2022/lib/+shared/editor/operations/enums/target-type.enum.mjs +0 -7
- package/esm2022/lib/+shared/editor/operations/helpers/break-operations.helper.mjs +0 -9
- package/esm2022/lib/+shared/editor/operations/helpers/content-operations.helper.mjs +0 -15
- package/esm2022/lib/+shared/editor/operations/helpers/format-operations.helper.mjs +0 -56
- package/esm2022/lib/+shared/editor/operations/helpers/image-operations.helper.mjs +0 -19
- package/esm2022/lib/+shared/editor/operations/helpers/indexed-element-operations.helper.mjs +0 -43
- package/esm2022/lib/+shared/editor/operations/helpers/link-operations.helper.mjs +0 -28
- package/esm2022/lib/+shared/editor/operations/helpers/numbering-operations.helper.mjs +0 -55
- package/esm2022/lib/+shared/editor/operations/helpers/operations-helper.helper.mjs +0 -394
- package/esm2022/lib/+shared/editor/operations/helpers/paragraph-operations.helper.mjs +0 -83
- package/esm2022/lib/+shared/editor/operations/helpers/save-commands.helper.mjs +0 -118
- package/esm2022/lib/+shared/editor/operations/helpers/tab-operations.helper.mjs +0 -16
- package/esm2022/lib/+shared/editor/operations/helpers/table-operations.helper.mjs +0 -371
- package/esm2022/lib/+shared/editor/operations/helpers/target-operations.helper.mjs +0 -23
- package/esm2022/lib/+shared/editor/positioning/selection.mjs +0 -307
- package/esm2022/lib/+shared/editor/store/editor.actions.mjs +0 -13
- package/esm2022/lib/+shared/editor-header/editor-header.component.mjs +0 -314
- package/esm2022/lib/+shared/editor-search/editor-search-dialog.component.mjs +0 -71
- package/esm2022/lib/+shared/editor-toolbar/color-picker/color-picker.component.mjs +0 -32
- package/esm2022/lib/+shared/editor-toolbar/constants/svg-icons.const.mjs +0 -157
- package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.component.mjs +0 -115
- package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.module.mjs +0 -107
- package/esm2022/lib/+shared/editor-toolbar/enums/alignment.enum.mjs +0 -8
- package/esm2022/lib/+shared/editor-toolbar/enums/numbering-type.enum.mjs +0 -6
- package/esm2022/lib/+shared/editor-toolbar/font/font.component.mjs +0 -45
- package/esm2022/lib/+shared/editor-toolbar/font-size/font-size.component.mjs +0 -85
- package/esm2022/lib/+shared/editor-toolbar/font-style/font-style.component.mjs +0 -80
- package/esm2022/lib/+shared/editor-toolbar/format/format.component.mjs +0 -28
- package/esm2022/lib/+shared/editor-toolbar/heading/heading.component.mjs +0 -23
- package/esm2022/lib/+shared/editor-toolbar/helpers/toolbar-styles.helper.mjs +0 -55
- package/esm2022/lib/+shared/editor-toolbar/numbering/numbering.component.mjs +0 -53
- package/esm2022/lib/+shared/editor-toolbar/print/print.component.mjs +0 -18
- package/esm2022/lib/+shared/editor-toolbar/undo-redo/undo-redo.component.mjs +0 -27
- package/esm2022/lib/+shared/editor-toolbar/zoom/zoom.component.mjs +0 -74
- package/esm2022/lib/+shared/helpers/print.helper.mjs +0 -40
- package/esm2022/lib/+shared/insert-table/insert-table.component.mjs +0 -54
- package/esm2022/lib/+shared/services/commands.service.mjs +0 -20
- package/esm2022/lib/+shared/services/custom-icon.service.mjs +0 -34
- package/lib/+shared/abstract/base-api.service.d.ts +0 -23
- package/lib/+shared/abstract/observer.component.d.ts +0 -10
- package/lib/+shared/constants/default-file-name.const.d.ts +0 -1
- package/lib/+shared/constants/paginator-sizes.const.d.ts +0 -2
- package/lib/+shared/editor/core/components/edges/edge.component.d.ts +0 -45
- package/lib/+shared/editor/core/constants/clipboardEventTypes.const.d.ts +0 -5
- package/lib/+shared/editor/core/constants/content-style-change.const.d.ts +0 -14
- package/lib/+shared/editor/core/helpers/content-style.helper.d.ts +0 -16
- package/lib/+shared/editor/core/helpers/delta.helper.d.ts +0 -6
- package/lib/+shared/editor/core/interfaces/visible-line-info.interface.d.ts +0 -5
- package/lib/+shared/editor/core/layers/edges.layer.d.ts +0 -24
- package/lib/+shared/editor/core/layers/print.edges.layer.d.ts +0 -4
- package/lib/+shared/editor/core/layers/print.text.layer.d.ts +0 -5
- package/lib/+shared/editor/core/layers/text.layer.d.ts +0 -22
- package/lib/+shared/editor/core/paging/pages.wrap.d.ts +0 -41
- package/lib/+shared/editor/core/point.d.ts +0 -7
- package/lib/+shared/editor/core/print.renderer.d.ts +0 -25
- package/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.d.ts +0 -14
- package/lib/+shared/editor/custom-components/image/services/image-api.service.d.ts +0 -8
- package/lib/+shared/editor/custom-components/shared/interfaces/custom-components.interface.d.ts +0 -13
- package/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.d.ts +0 -30
- package/lib/+shared/editor/custom-components/shared/types/custom-content.d.ts +0 -5
- package/lib/+shared/editor/custom-components/table/components/table-cell.component.d.ts +0 -45
- package/lib/+shared/editor/editor.module.d.ts +0 -30
- package/lib/+shared/editor/interfaces/contents.interface.d.ts +0 -22
- package/lib/+shared/editor/operations/helpers/image-operations.helper.d.ts +0 -7
- package/lib/+shared/editor/operations/helpers/target-operations.helper.d.ts +0 -6
- package/lib/+shared/editor/store/editor.actions.d.ts +0 -11
- package/lib/+shared/editor-header/editor-header.component.d.ts +0 -101
- package/lib/+shared/editor-toolbar/constants/numbering-templates.const.d.ts +0 -6
- package/lib/+shared/editor-toolbar/editor-toolbar.component.d.ts +0 -44
- package/lib/+shared/editor-toolbar/editor-toolbar.module.d.ts +0 -28
- package/src/lib/+shared/editor/_editor.theme.scss +0 -35
- package/src/lib/+shared/editor/custom-components/external-element/element-toolbar/_element-toolbar.theme.scss +0 -10
- package/src/lib/+shared/editor-header/_editor-header.theme.scss +0 -106
- package/src/lib/+shared/editor-toolbar/_editor-toolbar.theme.scss +0 -33
- package/src/lib/+shared/editor-toolbar/numbering/_numbering.theme.scss +0 -29
- /package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/constants/svg-icons.const.d.ts +0 -0
- /package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/enums/alignment.enum.d.ts +0 -0
- /package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/enums/numbering-template-type.enum.d.ts +0 -0
- /package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/enums/numbering-type.enum.d.ts +0 -0
- /package/lib/{+shared → apart-components/editor-toolbar/shared}/services/custom-icon.service.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor}/components/edges/edge-type.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/components/edges}/page-type.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/external-element/external-element.service.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/external-element/external-elements.const.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/external-element/models/element-data.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/external-element/models/external-sidenav.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/input-handler/image-input.handler.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/coordinate.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/direction-wrapper.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/direction.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/size-delta.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components/image/interfaces → editor/components/image}/size.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components/shared/constants → editor/components/shared}/custom-content-markers.const.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components/shared/services/overlay → editor/components/shared/services}/overlay.service.d.ts +0 -0
- /package/lib/{+shared/editor/helpers → editor/components/tab}/tab.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/components/table}/enums/hrule.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/enums/reisizer-side.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/enums/vertical-merge.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/models/cell-data.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/models/cell-resizer-parameters.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/models/row-data.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/models/selection-range.model.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/content}/constants/display-values.const.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/content}/constants/document-info.const.d.ts +0 -0
- /package/lib/{+shared/editor/core/models → editor/content/display-data}/indent.model.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/content/display-data}/paragraph-info.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/content/display-data}/toolbar-styles.interface.d.ts +0 -0
- /package/lib/{+shared/editor → editor/content}/helpers/format.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core/models → editor/content}/margin.model.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/content}/vertical-alignment.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/display}/cell.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/helpers → editor/display}/event.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/display}/layers/print.pages.layer.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/display}/render-changes.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/display}/visible-range.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/models → editor/execution}/distance.model.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/execution}/helpers/dom.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core/constants → editor/gadgets/font-metrics}/editor-version.const.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/gadgets/font-metrics}/font-metric-size.interface.d.ts +0 -0
- /package/lib/{+shared/editor/operation-history → editor/gadgets/history}/operations-history-info.model.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/gadgets/numbering}/numbering-marker-type.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/gadgets/page-break}/break-types.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/gadgets/search}/replace.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/gadgets/search}/search-iteration.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/constants → editor/gadgets/unicode}/unicode-chars.const.d.ts +0 -0
- /package/lib/{+shared/editor/core/helpers → editor/gadgets/unicode}/unicode.helper.d.ts +0 -0
- /package/lib/{+shared/enums → editor/interaction}/mode.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/interaction}/mouse-button.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/keyboard → editor/interaction}/text-input.d.ts +0 -0
- /package/lib/{+shared/services → editor/operations}/commands.service.d.ts +0 -0
- /package/lib/{+shared/editor → editor}/operations/enums/target-type.enum.d.ts +0 -0
- /package/lib/{+shared/editor → editor}/operations/helpers/content-operations.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core/constants → editor/positioning}/alignments.const.d.ts +0 -0
- /package/lib/{+shared/editor/interfaces → editor/positioning}/insert-index.interface.d.ts +0 -0
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { fromEvent, throttleTime } from 'rxjs';
|
|
2
|
-
import { MouseButton } from '../core/enums/mouse-button.enum';
|
|
3
|
-
export class MouseHandler {
|
|
4
|
-
constructor(container, editor) {
|
|
5
|
-
this.clicks = 0;
|
|
6
|
-
this.containerWheel$ = fromEvent(container, 'wheel')
|
|
7
|
-
.pipe(throttleTime(20))
|
|
8
|
-
.subscribe((event) => editor.onMouseWheel(event));
|
|
9
|
-
this.containerMouseDown$ = fromEvent(container, 'mousedown').subscribe((event) => this.onMultiMouseDown(event, editor));
|
|
10
|
-
}
|
|
11
|
-
destroy() {
|
|
12
|
-
this.containerWheel$?.unsubscribe();
|
|
13
|
-
this.containerMouseDown$?.unsubscribe();
|
|
14
|
-
this.endMousePress();
|
|
15
|
-
}
|
|
16
|
-
startMousePress(editor) {
|
|
17
|
-
this.endMousePress();
|
|
18
|
-
this.documentMouseMove$ = fromEvent(document, 'mousemove')
|
|
19
|
-
.pipe(throttleTime(20))
|
|
20
|
-
.subscribe((event) => editor.onMousePressedMove(event.clientX, event.clientY));
|
|
21
|
-
this.documentMouseUp$ = fromEvent(document, 'mouseup').subscribe(() => this.endMousePress());
|
|
22
|
-
}
|
|
23
|
-
endMousePress() {
|
|
24
|
-
this.documentMouseMove$?.unsubscribe();
|
|
25
|
-
this.documentMouseUp$?.unsubscribe();
|
|
26
|
-
}
|
|
27
|
-
onMultiMouseDown(event, editor) {
|
|
28
|
-
if (event.button !== MouseButton.Left) {
|
|
29
|
-
editor.onMouseClick(event);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
this.clicks = event.detail > 1 && this.clicks < 4 ? this.clicks + 1 : 1;
|
|
33
|
-
switch (this.clicks) {
|
|
34
|
-
case 1:
|
|
35
|
-
editor.onLeftClick(event);
|
|
36
|
-
break;
|
|
37
|
-
case 2:
|
|
38
|
-
editor.onDoubleClick(event);
|
|
39
|
-
break;
|
|
40
|
-
case 3:
|
|
41
|
-
editor.onTripleClick(event);
|
|
42
|
-
break;
|
|
43
|
-
case 4:
|
|
44
|
-
editor.onQuadClick(event);
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW91c2UuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL2ludGVyYWN0aW9uL21vdXNlLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxNQUFNLE9BQU8sWUFBWTtJQVdyQixZQUFZLFNBQWUsRUFBRSxNQUFjO1FBVm5DLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFXZixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO2FBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDdEIsU0FBUyxDQUFDLENBQUMsS0FBaUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQWM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQzthQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3RCLFNBQVMsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQy9GLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQWlCLEVBQUUsTUFBYztRQUN0RCxJQUFLLEtBQUssQ0FBQyxNQUFzQixLQUFLLFdBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDcEQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNqQixLQUFLLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDMUIsTUFBTTtZQUNWLEtBQUssQ0FBQztnQkFDRixNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLE1BQU07WUFDVixLQUFLLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDMUIsTUFBTTtTQUNiO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24sIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICcuLi9jb3JlL2VkaXRvcic7XG5pbXBvcnQgeyBNb3VzZUJ1dHRvbiB9IGZyb20gJy4uL2NvcmUvZW51bXMvbW91c2UtYnV0dG9uLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgTW91c2VIYW5kbGVyIHtcbiAgICBwcml2YXRlIGNsaWNrcyA9IDA7XG5cbiAgICBkb2N1bWVudE1vdXNlTW92ZSQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIGRvY3VtZW50TW91c2VVcCQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnRhaW5lcldoZWVsJDogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29udGFpbmVyTW91c2VEb3duJDogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoY29udGFpbmVyOiBOb2RlLCBlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICB0aGlzLmNvbnRhaW5lcldoZWVsJCA9IGZyb21FdmVudChjb250YWluZXIsICd3aGVlbCcpXG4gICAgICAgICAgICAucGlwZSh0aHJvdHRsZVRpbWUoMjApKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IFdoZWVsRXZlbnQpID0+IGVkaXRvci5vbk1vdXNlV2hlZWwoZXZlbnQpKTtcbiAgICAgICAgdGhpcy5jb250YWluZXJNb3VzZURvd24kID0gZnJvbUV2ZW50KGNvbnRhaW5lciwgJ21vdXNlZG93bicpLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHRoaXMub25NdWx0aU1vdXNlRG93bihldmVudCwgZWRpdG9yKSk7XG4gICAgfVxuXG4gICAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250YWluZXJXaGVlbCQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyTW91c2VEb3duJD8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5lbmRNb3VzZVByZXNzKCk7XG4gICAgfVxuXG4gICAgc3RhcnRNb3VzZVByZXNzKGVkaXRvcjogRWRpdG9yKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZW5kTW91c2VQcmVzcygpO1xuICAgICAgICB0aGlzLmRvY3VtZW50TW91c2VNb3ZlJCA9IGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNlbW92ZScpXG4gICAgICAgICAgICAucGlwZSh0aHJvdHRsZVRpbWUoMjApKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IGVkaXRvci5vbk1vdXNlUHJlc3NlZE1vdmUoZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSkpO1xuICAgICAgICB0aGlzLmRvY3VtZW50TW91c2VVcCQgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZXVwJykuc3Vic2NyaWJlKCgpID0+IHRoaXMuZW5kTW91c2VQcmVzcygpKTtcbiAgICB9XG5cbiAgICBlbmRNb3VzZVByZXNzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRvY3VtZW50TW91c2VNb3ZlJD8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudE1vdXNlVXAkPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25NdWx0aU1vdXNlRG93bihldmVudDogTW91c2VFdmVudCwgZWRpdG9yOiBFZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgaWYgKChldmVudC5idXR0b24gYXMgTW91c2VCdXR0b24pICE9PSBNb3VzZUJ1dHRvbi5MZWZ0KSB7XG4gICAgICAgICAgICBlZGl0b3Iub25Nb3VzZUNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2xpY2tzID0gZXZlbnQuZGV0YWlsID4gMSAmJiB0aGlzLmNsaWNrcyA8IDQgPyB0aGlzLmNsaWNrcyArIDEgOiAxO1xuICAgICAgICBzd2l0Y2ggKHRoaXMuY2xpY2tzKSB7XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgZWRpdG9yLm9uTGVmdENsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICBlZGl0b3Iub25Eb3VibGVDbGljayhldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgZWRpdG9yLm9uVHJpcGxlQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgICAgIGVkaXRvci5vblF1YWRDbGljayhldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudHMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvK3NoYXJlZC9lZGl0b3IvaW50ZXJmYWNlcy9jb250ZW50cy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2JyZWFrLm1vZGVsJztcbmltcG9ydCB7IENvbHVtblNlY3Rpb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvY29sdW1uLXNlY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgRWxlbWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9lbGVtZW50Lm1vZGVsJztcbmltcG9ydCB7IEZvcm1hdE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9mb3JtYXQubW9kZWwnO1xuaW1wb3J0IHsgSW1hZ2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW1hZ2UubW9kZWwnO1xuaW1wb3J0IHsgTGlua01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9saW5rLm1vZGVsJztcbmltcG9ydCB7IFBhcmFncmFwaE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9wYXJhZ3JhcGgubW9kZWwnO1xuaW1wb3J0IHsgVGFibGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGFibGUubW9kZWwnO1xuaW1wb3J0IHsgVGFiTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RhYi5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudHNJbnRlcmZhY2Uge1xuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICBjb250ZW50TGVuZ3RoOiBudW1iZXI7XG4gICAgcGFyYWdyYXBoczogUGFyYWdyYXBoTW9kZWxbXTtcbiAgICBmb3JtYXRzOiBGb3JtYXRNb2RlbFtdO1xuICAgIGltYWdlczogSW1hZ2VNb2RlbFtdO1xuICAgIGxpbmtzOiBMaW5rTW9kZWxbXTtcbiAgICB0YWJsZXM6IFRhYmxlTW9kZWxbXTtcbiAgICBlbGVtZW50czogRWxlbWVudE1vZGVsW107XG4gICAgYnJlYWtzOiBCcmVha01vZGVsW107XG4gICAgY29sdW1uU2VjdGlvbnM6IENvbHVtblNlY3Rpb25Nb2RlbFtdO1xuICAgIHRhYnM6IFRhYk1vZGVsW107XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWluZGV4LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL2ludGVyZmFjZXMvaW5zZXJ0LWluZGV4LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJbnNlcnRJbmRleEludGVyZmFjZSB7XG4gICAgaW5zZXJ0SW5kZXg6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import { AddNumberingModel } from '../../../models/generated/add-numbering.model';
|
|
2
|
-
import { ApplyElementStyleModel } from '../../../models/generated/apply-element-style.model';
|
|
3
|
-
import { ApplyImageStyleModel } from '../../../models/generated/apply-image-style.model';
|
|
4
|
-
import { ApplyParagraphStyleModel } from '../../../models/generated/apply-paragraph-style.model';
|
|
5
|
-
import { ApplyTextStyleModel } from '../../../models/generated/apply-text-style.model';
|
|
6
|
-
import { DeleteModel } from '../../../models/generated/delete.model';
|
|
7
|
-
import { InsertStyledTextModel } from '../../../models/generated/insert-styled-text.model';
|
|
8
|
-
import { InsertTableColumnsModel } from '../../../models/generated/insert-table-columns.model';
|
|
9
|
-
import { InsertTableRowsModel } from '../../../models/generated/insert-table-rows.model';
|
|
10
|
-
import { InsertTextModel } from '../../../models/generated/insert-text.model';
|
|
11
|
-
import { OperationsHistoryInfoModel } from './operations-history-info.model';
|
|
12
|
-
import { RemoveNumberingsModel } from '../../../models/generated/remove-numberings.model';
|
|
13
|
-
import { RemoveTableColumnsModel } from '../../../models/generated/remove-table-columns.model';
|
|
14
|
-
import { RemoveTableRowsModel } from '../../../models/generated/remove-table-rows.model';
|
|
15
|
-
import { ResizeTableColumnsModel } from '../../../models/generated/resize-table-columns.model';
|
|
16
|
-
import { RestoreNumberingsModel } from '../../../models/generated/restore-numberings.model';
|
|
17
|
-
import { RestoreParagraphStylesModel } from '../../../models/generated/restore-paragraph-styles.model';
|
|
18
|
-
import { RestoreTableModel } from '../../../models/generated/restore-table.model';
|
|
19
|
-
import { RestoreTextStylesModel } from '../../../models/generated/restore-text-styles.model';
|
|
20
|
-
export class OperationHistory {
|
|
21
|
-
constructor(editorService, regulatorService) {
|
|
22
|
-
this.editorService = editorService;
|
|
23
|
-
this.regulatorService = regulatorService;
|
|
24
|
-
this.MAX_HISTORY = 100;
|
|
25
|
-
this.storage = [];
|
|
26
|
-
this.step = -1;
|
|
27
|
-
this.editorService.historyInfo = new OperationsHistoryInfoModel(this.step, this.storage.length - 1);
|
|
28
|
-
}
|
|
29
|
-
pushInsertText(insertIndex, text) {
|
|
30
|
-
const redoStep = new InsertTextModel({ insertIndex, text });
|
|
31
|
-
const undoStep = new DeleteModel({ startIndex: insertIndex, endIndex: insertIndex + text.length });
|
|
32
|
-
this.addToHistory(undoStep, redoStep);
|
|
33
|
-
}
|
|
34
|
-
pushInsertElement(model) {
|
|
35
|
-
const undoStep = new DeleteModel({ startIndex: model.element.insertIndex, endIndex: model.element.insertIndex + 1 });
|
|
36
|
-
this.addToHistory(undoStep, model);
|
|
37
|
-
}
|
|
38
|
-
pushInsertBreak(model, endIndex) {
|
|
39
|
-
const undoStep = new DeleteModel({ startIndex: model.insertIndex, endIndex });
|
|
40
|
-
this.addToHistory(undoStep, model);
|
|
41
|
-
}
|
|
42
|
-
pushInsertTab(model) {
|
|
43
|
-
const undoStep = new DeleteModel({ startIndex: model.insertIndex, endIndex: model.insertIndex + 1 });
|
|
44
|
-
this.addToHistory(undoStep, model);
|
|
45
|
-
}
|
|
46
|
-
pushInsertImage(model) {
|
|
47
|
-
const undoStep = new DeleteModel({ startIndex: model.insertIndex, endIndex: model.insertIndex + 1 });
|
|
48
|
-
this.addToHistory(undoStep, model);
|
|
49
|
-
}
|
|
50
|
-
pushInsertLink(model) {
|
|
51
|
-
const undoStep = new DeleteModel({ startIndex: model.insertIndex, endIndex: model.endIndex });
|
|
52
|
-
this.addToHistory(undoStep, model);
|
|
53
|
-
}
|
|
54
|
-
pushInsertTable(model) {
|
|
55
|
-
const undoStep = new DeleteModel({ startIndex: model.insertIndex, endIndex: model.insertIndex + model.content.length });
|
|
56
|
-
this.addToHistory(undoStep, model);
|
|
57
|
-
}
|
|
58
|
-
pushInsertStyledText(insertIndex, text, style) {
|
|
59
|
-
const redoStep = new InsertStyledTextModel({ insertIndex, text, textStyle: style });
|
|
60
|
-
const undoStep = new DeleteModel({ startIndex: insertIndex, endIndex: insertIndex + text.length });
|
|
61
|
-
this.addToHistory(undoStep, redoStep);
|
|
62
|
-
}
|
|
63
|
-
pushDelete(model) {
|
|
64
|
-
const redoStep = new DeleteModel({ startIndex: model.startIndex, endIndex: model.startIndex + model.text.length });
|
|
65
|
-
model.endIndex = model.startIndex;
|
|
66
|
-
this.addToHistory(model, redoStep);
|
|
67
|
-
}
|
|
68
|
-
pushApplyTextStyle(startIndex, endIndex, style, formats) {
|
|
69
|
-
const redoStep = new ApplyTextStyleModel({ startIndex, endIndex, textStyle: style });
|
|
70
|
-
const undoStep = new RestoreTextStylesModel({ formats });
|
|
71
|
-
this.addToHistory(undoStep, redoStep);
|
|
72
|
-
}
|
|
73
|
-
pushApplyParagraphStyle(startIndex, endIndex, style, paragraphs) {
|
|
74
|
-
const redoStep = new ApplyParagraphStyleModel({ startIndex, endIndex, paragraphStyle: style });
|
|
75
|
-
const undoStep = new RestoreParagraphStylesModel({ paragraphs });
|
|
76
|
-
this.addToHistory(undoStep, redoStep);
|
|
77
|
-
}
|
|
78
|
-
pushApplyElementStyle(previous, current) {
|
|
79
|
-
const redoStep = new ApplyElementStyleModel({ insertIndex: current.insertIndex, width: current.width, height: current.height });
|
|
80
|
-
const undoStep = new ApplyElementStyleModel({ insertIndex: previous.insertIndex, width: previous.width, height: previous.height });
|
|
81
|
-
this.addToHistory(undoStep, redoStep);
|
|
82
|
-
}
|
|
83
|
-
pushInsertTableRows(insertIndex, rowsCount, targetIndex, inheritIndex, table) {
|
|
84
|
-
const oldTable = JSON.parse(JSON.stringify(table));
|
|
85
|
-
const redoStep = new InsertTableRowsModel({ insertIndex, rowsCount, targetIndex, inheritIndex });
|
|
86
|
-
const undoStep = new RestoreTableModel({ insertIndex, oldTable });
|
|
87
|
-
this.addToHistory(undoStep, redoStep);
|
|
88
|
-
}
|
|
89
|
-
pushInsertTableColumns(insertIndex, columnsCount, targetIndex, inheritIndex, table) {
|
|
90
|
-
const oldTable = JSON.parse(JSON.stringify(table));
|
|
91
|
-
const redoStep = new InsertTableColumnsModel({ insertIndex, columnsCount, targetIndex, inheritIndex });
|
|
92
|
-
const undoStep = new RestoreTableModel({ insertIndex, oldTable });
|
|
93
|
-
this.addToHistory(undoStep, redoStep);
|
|
94
|
-
}
|
|
95
|
-
pushRemoveTableRows(insertIndex, startIndex, endIndex, table) {
|
|
96
|
-
const oldTable = JSON.parse(JSON.stringify(table));
|
|
97
|
-
const redoStep = new RemoveTableRowsModel({ insertIndex, startIndex, endIndex });
|
|
98
|
-
const undoStep = new RestoreTableModel({ insertIndex, oldTable });
|
|
99
|
-
this.addToHistory(undoStep, redoStep);
|
|
100
|
-
}
|
|
101
|
-
pushRemoveTableColumns(insertIndex, startIndex, endIndex, table) {
|
|
102
|
-
const oldTable = JSON.parse(JSON.stringify(table));
|
|
103
|
-
const redoStep = new RemoveTableColumnsModel({ insertIndex, startIndex, endIndex });
|
|
104
|
-
const undoStep = new RestoreTableModel({ insertIndex, oldTable });
|
|
105
|
-
this.addToHistory(undoStep, redoStep);
|
|
106
|
-
}
|
|
107
|
-
pushResizeTableColumns(resizeTableColumns) {
|
|
108
|
-
const redoStep = new ResizeTableColumnsModel({
|
|
109
|
-
cellIndex: resizeTableColumns.cellIndex,
|
|
110
|
-
columnIndex: resizeTableColumns.columnIndex,
|
|
111
|
-
distance: resizeTableColumns.distance,
|
|
112
|
-
insertIndex: resizeTableColumns.insertIndex,
|
|
113
|
-
resizerSide: resizeTableColumns.resizerSide,
|
|
114
|
-
rowIndex: resizeTableColumns.rowIndex
|
|
115
|
-
});
|
|
116
|
-
const undoStep = new ResizeTableColumnsModel({
|
|
117
|
-
cellIndex: resizeTableColumns.cellIndex,
|
|
118
|
-
columnIndex: resizeTableColumns.columnIndex,
|
|
119
|
-
distance: -resizeTableColumns.distance,
|
|
120
|
-
insertIndex: resizeTableColumns.insertIndex,
|
|
121
|
-
resizerSide: resizeTableColumns.resizerSide,
|
|
122
|
-
rowIndex: resizeTableColumns.rowIndex
|
|
123
|
-
});
|
|
124
|
-
this.addToHistory(undoStep, redoStep);
|
|
125
|
-
}
|
|
126
|
-
pushApplyImageStyle(previous, current) {
|
|
127
|
-
const redoStep = new ApplyImageStyleModel({ insertIndex: current.insertIndex, width: current.width, height: current.height });
|
|
128
|
-
const undoStep = new ApplyImageStyleModel({ insertIndex: previous.insertIndex, width: previous.width, height: previous.height });
|
|
129
|
-
this.addToHistory(undoStep, redoStep);
|
|
130
|
-
}
|
|
131
|
-
pushAddNumbering(startIndex, endIndex, levels, paragraphs, numberings) {
|
|
132
|
-
const redoStep = new AddNumberingModel({ startIndex, endIndex, levels });
|
|
133
|
-
const undoStep = new RestoreNumberingsModel({ paragraphs, numberings });
|
|
134
|
-
this.addToHistory(undoStep, redoStep);
|
|
135
|
-
}
|
|
136
|
-
pushRemoveNumberings(startIndex, endIndex, numberings, paragraphs) {
|
|
137
|
-
const redoStep = new RemoveNumberingsModel({ startIndex, endIndex });
|
|
138
|
-
const undoStep = new RestoreNumberingsModel({ numberings, paragraphs });
|
|
139
|
-
this.addToHistory(undoStep, redoStep);
|
|
140
|
-
}
|
|
141
|
-
pushReplace(restore, replace) {
|
|
142
|
-
const length = replace.insertText ? replace.insertText.text.length : 1;
|
|
143
|
-
restore.endIndex = restore.startIndex + length;
|
|
144
|
-
this.addToHistory(restore, replace);
|
|
145
|
-
}
|
|
146
|
-
popUndoOperation() {
|
|
147
|
-
if (this.step === -1) {
|
|
148
|
-
return null;
|
|
149
|
-
}
|
|
150
|
-
const operation = this.storage[this.step].undo;
|
|
151
|
-
const targets = this.storage[this.step].targets;
|
|
152
|
-
const cursor = this.storage[this.step].cursor;
|
|
153
|
-
const anchor = this.storage[this.step].anchor;
|
|
154
|
-
this.step--;
|
|
155
|
-
this.editorService.historyInfo = new OperationsHistoryInfoModel(this.step, this.storage.length - 1);
|
|
156
|
-
return { operation, targets, cursor, anchor };
|
|
157
|
-
}
|
|
158
|
-
popRedoOperation() {
|
|
159
|
-
if (this.step >= this.storage.length - 1) {
|
|
160
|
-
return null;
|
|
161
|
-
}
|
|
162
|
-
this.step++;
|
|
163
|
-
const operation = this.storage[this.step].redo;
|
|
164
|
-
const targets = this.storage[this.step].targets;
|
|
165
|
-
const cursor = this.storage[this.step].cursor;
|
|
166
|
-
const anchor = this.storage[this.step].anchor;
|
|
167
|
-
this.editorService.historyInfo = new OperationsHistoryInfoModel(this.step, this.storage.length - 1);
|
|
168
|
-
return { operation, targets, cursor, anchor };
|
|
169
|
-
}
|
|
170
|
-
addToHistory(undoStep, redoStep) {
|
|
171
|
-
const targets = this.regulatorService.getCurrentSessionTargets();
|
|
172
|
-
const cursor = this.regulatorService.selection.cursor;
|
|
173
|
-
const anchor = this.regulatorService.selection.anchor;
|
|
174
|
-
this.step++;
|
|
175
|
-
this.storage.splice(this.step, this.storage.length);
|
|
176
|
-
this.storage.push({ undo: undoStep, redo: redoStep, targets, cursor, anchor });
|
|
177
|
-
if (this.storage.length > this.MAX_HISTORY) {
|
|
178
|
-
this.storage.splice(0, 1);
|
|
179
|
-
this.step--;
|
|
180
|
-
}
|
|
181
|
-
this.editorService.historyInfo = new OperationsHistoryInfoModel(this.step, this.storage.length - 1);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLWhpc3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9vcGVyYXRpb24taGlzdG9yeS9vcGVyYXRpb24taGlzdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFTckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFFekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBSTlFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRS9GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFN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QUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDdEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDdEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMvRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkZE51bWJlcmluZ01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9hZGQtbnVtYmVyaW5nLm1vZGVsJztcbmltcG9ydCB7IEFwcGx5RWxlbWVudFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2FwcGx5LWVsZW1lbnQtc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgQXBwbHlJbWFnZVN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2FwcGx5LWltYWdlLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IEFwcGx5UGFyYWdyYXBoU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvYXBwbHktcGFyYWdyYXBoLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IEFwcGx5VGV4dFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2FwcGx5LXRleHQtc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgRGVsZXRlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2RlbGV0ZS5tb2RlbCc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24vZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9lbGVtZW50Lm1vZGVsJztcbmltcG9ydCB7IEZvcm1hdE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9mb3JtYXQubW9kZWwnO1xuaW1wb3J0IHsgSW1hZ2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW1hZ2UubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0QnJlYWtNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LWJyZWFrLm1vZGVsJztcbmltcG9ydCB7IEluc2VydEVsZW1lbnRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LWVsZW1lbnQubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0SW1hZ2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LWltYWdlLm1vZGVsJztcbmltcG9ydCB7IEluc2VydExpbmtNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LWxpbmsubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0U3R5bGVkVGV4dE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtc3R5bGVkLXRleHQubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0VGFibGVDb2x1bW5zTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC10YWJsZS1jb2x1bW5zLm1vZGVsJztcbmltcG9ydCB7IEluc2VydFRhYmxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC10YWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRUYWJsZVJvd3NNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXRhYmxlLXJvd3MubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0VGFiTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC10YWIubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0VGV4dE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtdGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBOdW1iZXJpbmdMZXZlbE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9udW1iZXJpbmctbGV2ZWwubW9kZWwnO1xuaW1wb3J0IHsgTnVtYmVyaW5nTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL251bWJlcmluZy5tb2RlbCc7XG5pbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tICcuL29wZXJhdGlvbi50eXBlJztcbmltcG9ydCB7IE9wZXJhdGlvbnNIaXN0b3J5SW5mb01vZGVsIH0gZnJvbSAnLi9vcGVyYXRpb25zLWhpc3RvcnktaW5mby5tb2RlbCc7XG5pbXBvcnQgeyBQYXJhZ3JhcGhNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLm1vZGVsJztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3BhcmFncmFwaC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2NvcmUvcG9pbnQnO1xuaW1wb3J0IHsgUmVndWxhdG9yU2VydmljZSB9IGZyb20gJy4uL2V4ZWN1dGlvbi9yZWd1bGF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBSZW1vdmVOdW1iZXJpbmdzTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3JlbW92ZS1udW1iZXJpbmdzLm1vZGVsJztcbmltcG9ydCB7IFJlbW92ZVRhYmxlQ29sdW1uc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZW1vdmUtdGFibGUtY29sdW1ucy5tb2RlbCc7XG5pbXBvcnQgeyBSZW1vdmVUYWJsZVJvd3NNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVtb3ZlLXRhYmxlLXJvd3MubW9kZWwnO1xuaW1wb3J0IHsgUmVwbGFjZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXBsYWNlLm1vZGVsJztcbmltcG9ydCB7IFJlc2l6ZVRhYmxlQ29sdW1uc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXNpemUtdGFibGUtY29sdW1ucy5tb2RlbCc7XG5pbXBvcnQgeyBSZXN0b3JlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc3RvcmUubW9kZWwnO1xuaW1wb3J0IHsgUmVzdG9yZU51bWJlcmluZ3NNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVzdG9yZS1udW1iZXJpbmdzLm1vZGVsJztcbmltcG9ydCB7IFJlc3RvcmVQYXJhZ3JhcGhTdHlsZXNNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVzdG9yZS1wYXJhZ3JhcGgtc3R5bGVzLm1vZGVsJztcbmltcG9ydCB7IFJlc3RvcmVUYWJsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXN0b3JlLXRhYmxlLm1vZGVsJztcbmltcG9ydCB7IFJlc3RvcmVUZXh0U3R5bGVzTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc3RvcmUtdGV4dC1zdHlsZXMubW9kZWwnO1xuaW1wb3J0IHsgVGFibGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGFibGUubW9kZWwnO1xuaW1wb3J0IHsgVGFyZ2V0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RhcmdldC5tb2RlbCc7XG5pbXBvcnQgeyBUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGV4dC1zdHlsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBPcGVyYXRpb25IaXN0b3J5IHtcbiAgICByZWFkb25seSBNQVhfSElTVE9SWSA9IDEwMDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZTogeyB1bmRvOiBPcGVyYXRpb247IHJlZG86IE9wZXJhdGlvbjsgdGFyZ2V0czogVGFyZ2V0TW9kZWxbXTsgY3Vyc29yOiBQb2ludDsgYW5jaG9yOiBQb2ludCB8IG51bGwgfVtdID0gW107XG5cbiAgICBwcml2YXRlIHN0ZXAgPSAtMTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSwgcHJpdmF0ZSByZWd1bGF0b3JTZXJ2aWNlOiBSZWd1bGF0b3JTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5oaXN0b3J5SW5mbyA9IG5ldyBPcGVyYXRpb25zSGlzdG9yeUluZm9Nb2RlbCh0aGlzLnN0ZXAsIHRoaXMuc3RvcmFnZS5sZW5ndGggLSAxKTtcbiAgICB9XG5cbiAgICBwdXNoSW5zZXJ0VGV4dChpbnNlcnRJbmRleDogbnVtYmVyLCB0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVkb1N0ZXAgPSBuZXcgSW5zZXJ0VGV4dE1vZGVsKHsgaW5zZXJ0SW5kZXgsIHRleHQgfSk7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IERlbGV0ZU1vZGVsKHsgc3RhcnRJbmRleDogaW5zZXJ0SW5kZXgsIGVuZEluZGV4OiBpbnNlcnRJbmRleCArIHRleHQubGVuZ3RoIH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgcmVkb1N0ZXApO1xuICAgIH1cblxuICAgIHB1c2hJbnNlcnRFbGVtZW50KG1vZGVsOiBJbnNlcnRFbGVtZW50TW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdW5kb1N0ZXAgPSBuZXcgRGVsZXRlTW9kZWwoeyBzdGFydEluZGV4OiBtb2RlbC5lbGVtZW50Lmluc2VydEluZGV4LCBlbmRJbmRleDogbW9kZWwuZWxlbWVudC5pbnNlcnRJbmRleCArIDEgfSk7XG4gICAgICAgIHRoaXMuYWRkVG9IaXN0b3J5KHVuZG9TdGVwLCBtb2RlbCk7XG4gICAgfVxuXG4gICAgcHVzaEluc2VydEJyZWFrKG1vZGVsOiBJbnNlcnRCcmVha01vZGVsLCBlbmRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IERlbGV0ZU1vZGVsKHsgc3RhcnRJbmRleDogbW9kZWwuaW5zZXJ0SW5kZXgsIGVuZEluZGV4IH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgbW9kZWwpO1xuICAgIH1cblxuICAgIHB1c2hJbnNlcnRUYWIobW9kZWw6IEluc2VydFRhYk1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IERlbGV0ZU1vZGVsKHsgc3RhcnRJbmRleDogbW9kZWwuaW5zZXJ0SW5kZXgsIGVuZEluZGV4OiBtb2RlbC5pbnNlcnRJbmRleCArIDEgfSk7XG4gICAgICAgIHRoaXMuYWRkVG9IaXN0b3J5KHVuZG9TdGVwLCBtb2RlbCk7XG4gICAgfVxuXG4gICAgcHVzaEluc2VydEltYWdlKG1vZGVsOiBJbnNlcnRJbWFnZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IERlbGV0ZU1vZGVsKHsgc3RhcnRJbmRleDogbW9kZWwuaW5zZXJ0SW5kZXgsIGVuZEluZGV4OiBtb2RlbC5pbnNlcnRJbmRleCArIDEgfSk7XG4gICAgICAgIHRoaXMuYWRkVG9IaXN0b3J5KHVuZG9TdGVwLCBtb2RlbCk7XG4gICAgfVxuXG4gICAgcHVzaEluc2VydExpbmsobW9kZWw6IEluc2VydExpbmtNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBEZWxldGVNb2RlbCh7IHN0YXJ0SW5kZXg6IG1vZGVsLmluc2VydEluZGV4LCBlbmRJbmRleDogbW9kZWwuZW5kSW5kZXggfSk7XG4gICAgICAgIHRoaXMuYWRkVG9IaXN0b3J5KHVuZG9TdGVwLCBtb2RlbCk7XG4gICAgfVxuXG4gICAgcHVzaEluc2VydFRhYmxlKG1vZGVsOiBJbnNlcnRUYWJsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IERlbGV0ZU1vZGVsKHsgc3RhcnRJbmRleDogbW9kZWwuaW5zZXJ0SW5kZXgsIGVuZEluZGV4OiBtb2RlbC5pbnNlcnRJbmRleCArIG1vZGVsLmNvbnRlbnQubGVuZ3RoIH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgbW9kZWwpO1xuICAgIH1cblxuICAgIHB1c2hJbnNlcnRTdHlsZWRUZXh0KGluc2VydEluZGV4OiBudW1iZXIsIHRleHQ6IHN0cmluZywgc3R5bGU6IFRleHRTdHlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlZG9TdGVwID0gbmV3IEluc2VydFN0eWxlZFRleHRNb2RlbCh7IGluc2VydEluZGV4LCB0ZXh0LCB0ZXh0U3R5bGU6IHN0eWxlIH0pO1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBEZWxldGVNb2RlbCh7IHN0YXJ0SW5kZXg6IGluc2VydEluZGV4LCBlbmRJbmRleDogaW5zZXJ0SW5kZXggKyB0ZXh0Lmxlbmd0aCB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIHJlZG9TdGVwKTtcbiAgICB9XG5cbiAgICBwdXNoRGVsZXRlKG1vZGVsOiBSZXN0b3JlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVkb1N0ZXAgPSBuZXcgRGVsZXRlTW9kZWwoeyBzdGFydEluZGV4OiBtb2RlbC5zdGFydEluZGV4LCBlbmRJbmRleDogbW9kZWwuc3RhcnRJbmRleCArIG1vZGVsLnRleHQubGVuZ3RoIH0pO1xuICAgICAgICBtb2RlbC5lbmRJbmRleCA9IG1vZGVsLnN0YXJ0SW5kZXg7XG4gICAgICAgIHRoaXMuYWRkVG9IaXN0b3J5KG1vZGVsLCByZWRvU3RlcCk7XG4gICAgfVxuXG4gICAgcHVzaEFwcGx5VGV4dFN0eWxlKHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgc3R5bGU6IFRleHRTdHlsZU1vZGVsLCBmb3JtYXRzOiBGb3JtYXRNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlZG9TdGVwID0gbmV3IEFwcGx5VGV4dFN0eWxlTW9kZWwoeyBzdGFydEluZGV4LCBlbmRJbmRleCwgdGV4dFN0eWxlOiBzdHlsZSB9KTtcbiAgICAgICAgY29uc3QgdW5kb1N0ZXAgPSBuZXcgUmVzdG9yZVRleHRTdHlsZXNNb2RlbCh7IGZvcm1hdHMgfSk7XG4gICAgICAgIHRoaXMuYWRkVG9IaXN0b3J5KHVuZG9TdGVwLCByZWRvU3RlcCk7XG4gICAgfVxuXG4gICAgcHVzaEFwcGx5UGFyYWdyYXBoU3R5bGUoc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyLCBzdHlsZTogUGFyYWdyYXBoU3R5bGVNb2RlbCwgcGFyYWdyYXBoczogUGFyYWdyYXBoTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCByZWRvU3RlcCA9IG5ldyBBcHBseVBhcmFncmFwaFN0eWxlTW9kZWwoeyBzdGFydEluZGV4LCBlbmRJbmRleCwgcGFyYWdyYXBoU3R5bGU6IHN0eWxlIH0pO1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBSZXN0b3JlUGFyYWdyYXBoU3R5bGVzTW9kZWwoeyBwYXJhZ3JhcGhzIH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgcmVkb1N0ZXApO1xuICAgIH1cblxuICAgIHB1c2hBcHBseUVsZW1lbnRTdHlsZShwcmV2aW91czogRWxlbWVudE1vZGVsLCBjdXJyZW50OiBFbGVtZW50TW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVkb1N0ZXAgPSBuZXcgQXBwbHlFbGVtZW50U3R5bGVNb2RlbCh7IGluc2VydEluZGV4OiBjdXJyZW50Lmluc2VydEluZGV4LCB3aWR0aDogY3VycmVudC53aWR0aCwgaGVpZ2h0OiBjdXJyZW50LmhlaWdodCB9KTtcbiAgICAgICAgY29uc3QgdW5kb1N0ZXAgPSBuZXcgQXBwbHlFbGVtZW50U3R5bGVNb2RlbCh7IGluc2VydEluZGV4OiBwcmV2aW91cy5pbnNlcnRJbmRleCwgd2lkdGg6IHByZXZpb3VzLndpZHRoLCBoZWlnaHQ6IHByZXZpb3VzLmhlaWdodCB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIHJlZG9TdGVwKTtcbiAgICB9XG5cbiAgICBwdXNoSW5zZXJ0VGFibGVSb3dzKGluc2VydEluZGV4OiBudW1iZXIsIHJvd3NDb3VudDogbnVtYmVyLCB0YXJnZXRJbmRleDogbnVtYmVyLCBpbmhlcml0SW5kZXg6IG51bWJlciwgdGFibGU6IFRhYmxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb2xkVGFibGUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRhYmxlKSk7XG4gICAgICAgIGNvbnN0IHJlZG9TdGVwID0gbmV3IEluc2VydFRhYmxlUm93c01vZGVsKHsgaW5zZXJ0SW5kZXgsIHJvd3NDb3VudCwgdGFyZ2V0SW5kZXgsIGluaGVyaXRJbmRleCB9KTtcbiAgICAgICAgY29uc3QgdW5kb1N0ZXAgPSBuZXcgUmVzdG9yZVRhYmxlTW9kZWwoeyBpbnNlcnRJbmRleCwgb2xkVGFibGUgfSk7XG4gICAgICAgIHRoaXMuYWRkVG9IaXN0b3J5KHVuZG9TdGVwLCByZWRvU3RlcCk7XG4gICAgfVxuXG4gICAgcHVzaEluc2VydFRhYmxlQ29sdW1ucyhpbnNlcnRJbmRleDogbnVtYmVyLCBjb2x1bW5zQ291bnQ6IG51bWJlciwgdGFyZ2V0SW5kZXg6IG51bWJlciwgaW5oZXJpdEluZGV4OiBudW1iZXIsIHRhYmxlOiBUYWJsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9sZFRhYmxlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0YWJsZSkpO1xuICAgICAgICBjb25zdCByZWRvU3RlcCA9IG5ldyBJbnNlcnRUYWJsZUNvbHVtbnNNb2RlbCh7IGluc2VydEluZGV4LCBjb2x1bW5zQ291bnQsIHRhcmdldEluZGV4LCBpbmhlcml0SW5kZXggfSk7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IFJlc3RvcmVUYWJsZU1vZGVsKHsgaW5zZXJ0SW5kZXgsIG9sZFRhYmxlIH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgcmVkb1N0ZXApO1xuICAgIH1cblxuICAgIHB1c2hSZW1vdmVUYWJsZVJvd3MoaW5zZXJ0SW5kZXg6IG51bWJlciwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyLCB0YWJsZTogVGFibGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBvbGRUYWJsZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGFibGUpKTtcbiAgICAgICAgY29uc3QgcmVkb1N0ZXAgPSBuZXcgUmVtb3ZlVGFibGVSb3dzTW9kZWwoeyBpbnNlcnRJbmRleCwgc3RhcnRJbmRleCwgZW5kSW5kZXggfSk7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IFJlc3RvcmVUYWJsZU1vZGVsKHsgaW5zZXJ0SW5kZXgsIG9sZFRhYmxlIH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgcmVkb1N0ZXApO1xuICAgIH1cblxuICAgIHB1c2hSZW1vdmVUYWJsZUNvbHVtbnMoaW5zZXJ0SW5kZXg6IG51bWJlciwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyLCB0YWJsZTogVGFibGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBvbGRUYWJsZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGFibGUpKTtcbiAgICAgICAgY29uc3QgcmVkb1N0ZXAgPSBuZXcgUmVtb3ZlVGFibGVDb2x1bW5zTW9kZWwoeyBpbnNlcnRJbmRleCwgc3RhcnRJbmRleCwgZW5kSW5kZXggfSk7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IFJlc3RvcmVUYWJsZU1vZGVsKHsgaW5zZXJ0SW5kZXgsIG9sZFRhYmxlIH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgcmVkb1N0ZXApO1xuICAgIH1cblxuICAgIHB1c2hSZXNpemVUYWJsZUNvbHVtbnMocmVzaXplVGFibGVDb2x1bW5zOiBSZXNpemVUYWJsZUNvbHVtbnNNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCByZWRvU3RlcCA9IG5ldyBSZXNpemVUYWJsZUNvbHVtbnNNb2RlbCh7XG4gICAgICAgICAgICBjZWxsSW5kZXg6IHJlc2l6ZVRhYmxlQ29sdW1ucy5jZWxsSW5kZXgsXG4gICAgICAgICAgICBjb2x1bW5JbmRleDogcmVzaXplVGFibGVDb2x1bW5zLmNvbHVtbkluZGV4LFxuICAgICAgICAgICAgZGlzdGFuY2U6IHJlc2l6ZVRhYmxlQ29sdW1ucy5kaXN0YW5jZSxcbiAgICAgICAgICAgIGluc2VydEluZGV4OiByZXNpemVUYWJsZUNvbHVtbnMuaW5zZXJ0SW5kZXgsXG4gICAgICAgICAgICByZXNpemVyU2lkZTogcmVzaXplVGFibGVDb2x1bW5zLnJlc2l6ZXJTaWRlLFxuICAgICAgICAgICAgcm93SW5kZXg6IHJlc2l6ZVRhYmxlQ29sdW1ucy5yb3dJbmRleFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgdW5kb1N0ZXAgPSBuZXcgUmVzaXplVGFibGVDb2x1bW5zTW9kZWwoe1xuICAgICAgICAgICAgY2VsbEluZGV4OiByZXNpemVUYWJsZUNvbHVtbnMuY2VsbEluZGV4LFxuICAgICAgICAgICAgY29sdW1uSW5kZXg6IHJlc2l6ZVRhYmxlQ29sdW1ucy5jb2x1bW5JbmRleCxcbiAgICAgICAgICAgIGRpc3RhbmNlOiAtcmVzaXplVGFibGVDb2x1bW5zLmRpc3RhbmNlLFxuICAgICAgICAgICAgaW5zZXJ0SW5kZXg6IHJlc2l6ZVRhYmxlQ29sdW1ucy5pbnNlcnRJbmRleCxcbiAgICAgICAgICAgIHJlc2l6ZXJTaWRlOiByZXNpemVUYWJsZUNvbHVtbnMucmVzaXplclNpZGUsXG4gICAgICAgICAgICByb3dJbmRleDogcmVzaXplVGFibGVDb2x1bW5zLnJvd0luZGV4XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgcmVkb1N0ZXApO1xuICAgIH1cblxuICAgIHB1c2hBcHBseUltYWdlU3R5bGUocHJldmlvdXM6IEltYWdlTW9kZWwsIGN1cnJlbnQ6IEltYWdlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVkb1N0ZXAgPSBuZXcgQXBwbHlJbWFnZVN0eWxlTW9kZWwoeyBpbnNlcnRJbmRleDogY3VycmVudC5pbnNlcnRJbmRleCwgd2lkdGg6IGN1cnJlbnQud2lkdGgsIGhlaWdodDogY3VycmVudC5oZWlnaHQgfSk7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IEFwcGx5SW1hZ2VTdHlsZU1vZGVsKHsgaW5zZXJ0SW5kZXg6IHByZXZpb3VzLmluc2VydEluZGV4LCB3aWR0aDogcHJldmlvdXMud2lkdGgsIGhlaWdodDogcHJldmlvdXMuaGVpZ2h0IH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgcmVkb1N0ZXApO1xuICAgIH1cblxuICAgIHB1c2hBZGROdW1iZXJpbmcoXG4gICAgICAgIHN0YXJ0SW5kZXg6IG51bWJlcixcbiAgICAgICAgZW5kSW5kZXg6IG51bWJlcixcbiAgICAgICAgbGV2ZWxzOiBOdW1iZXJpbmdMZXZlbE1vZGVsW10sXG4gICAgICAgIHBhcmFncmFwaHM6IFBhcmFncmFwaE1vZGVsW10sXG4gICAgICAgIG51bWJlcmluZ3M6IE51bWJlcmluZ01vZGVsW11cbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVkb1N0ZXAgPSBuZXcgQWRkTnVtYmVyaW5nTW9kZWwoeyBzdGFydEluZGV4LCBlbmRJbmRleCwgbGV2ZWxzIH0pO1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBSZXN0b3JlTnVtYmVyaW5nc01vZGVsKHsgcGFyYWdyYXBocywgbnVtYmVyaW5ncyB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIHJlZG9TdGVwKTtcbiAgICB9XG5cbiAgICBwdXNoUmVtb3ZlTnVtYmVyaW5ncyhzdGFydEluZGV4OiBudW1iZXIsIGVuZEluZGV4OiBudW1iZXIsIG51bWJlcmluZ3M6IE51bWJlcmluZ01vZGVsW10sIHBhcmFncmFwaHM6IFBhcmFncmFwaE1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVkb1N0ZXAgPSBuZXcgUmVtb3ZlTnVtYmVyaW5nc01vZGVsKHsgc3RhcnRJbmRleCwgZW5kSW5kZXggfSk7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IFJlc3RvcmVOdW1iZXJpbmdzTW9kZWwoeyBudW1iZXJpbmdzLCBwYXJhZ3JhcGhzIH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgcmVkb1N0ZXApO1xuICAgIH1cblxuICAgIHB1c2hSZXBsYWNlKHJlc3RvcmU6IFJlc3RvcmVNb2RlbCwgcmVwbGFjZTogUmVwbGFjZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHJlcGxhY2UuaW5zZXJ0VGV4dCA/IHJlcGxhY2UuaW5zZXJ0VGV4dC50ZXh0Lmxlbmd0aCA6IDE7XG4gICAgICAgIHJlc3RvcmUuZW5kSW5kZXggPSByZXN0b3JlLnN0YXJ0SW5kZXggKyBsZW5ndGg7XG4gICAgICAgIHRoaXMuYWRkVG9IaXN0b3J5KHJlc3RvcmUsIHJlcGxhY2UpO1xuICAgIH1cblxuICAgIHBvcFVuZG9PcGVyYXRpb24oKTogeyBvcGVyYXRpb246IE9wZXJhdGlvbiB8IG51bGw7IHRhcmdldHM6IFRhcmdldE1vZGVsW107IGN1cnNvcjogUG9pbnQ7IGFuY2hvcjogUG9pbnQgfCBudWxsIH0gfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuc3RlcCA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9wZXJhdGlvbiA9IHRoaXMuc3RvcmFnZVt0aGlzLnN0ZXBdLnVuZG87XG4gICAgICAgIGNvbnN0IHRhcmdldHMgPSB0aGlzLnN0b3JhZ2VbdGhpcy5zdGVwXS50YXJnZXRzO1xuICAgICAgICBjb25zdCBjdXJzb3IgPSB0aGlzLnN0b3JhZ2VbdGhpcy5zdGVwXS5jdXJzb3I7XG4gICAgICAgIGNvbnN0IGFuY2hvciA9IHRoaXMuc3RvcmFnZVt0aGlzLnN0ZXBdLmFuY2hvcjtcbiAgICAgICAgdGhpcy5zdGVwLS07XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5oaXN0b3J5SW5mbyA9IG5ldyBPcGVyYXRpb25zSGlzdG9yeUluZm9Nb2RlbCh0aGlzLnN0ZXAsIHRoaXMuc3RvcmFnZS5sZW5ndGggLSAxKTtcbiAgICAgICAgcmV0dXJuIHsgb3BlcmF0aW9uLCB0YXJnZXRzLCBjdXJzb3IsIGFuY2hvciB9O1xuICAgIH1cblxuICAgIHBvcFJlZG9PcGVyYXRpb24oKTogeyBvcGVyYXRpb246IE9wZXJhdGlvbiB8IG51bGw7IHRhcmdldHM6IFRhcmdldE1vZGVsW107IGN1cnNvcjogUG9pbnQ7IGFuY2hvcjogUG9pbnQgfCBudWxsIH0gfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuc3RlcCA+PSB0aGlzLnN0b3JhZ2UubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdGVwKys7XG4gICAgICAgIGNvbnN0IG9wZXJhdGlvbiA9IHRoaXMuc3RvcmFnZVt0aGlzLnN0ZXBdLnJlZG87XG4gICAgICAgIGNvbnN0IHRhcmdldHMgPSB0aGlzLnN0b3JhZ2VbdGhpcy5zdGVwXS50YXJnZXRzO1xuICAgICAgICBjb25zdCBjdXJzb3IgPSB0aGlzLnN0b3JhZ2VbdGhpcy5zdGVwXS5jdXJzb3I7XG4gICAgICAgIGNvbnN0IGFuY2hvciA9IHRoaXMuc3RvcmFnZVt0aGlzLnN0ZXBdLmFuY2hvcjtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmhpc3RvcnlJbmZvID0gbmV3IE9wZXJhdGlvbnNIaXN0b3J5SW5mb01vZGVsKHRoaXMuc3RlcCwgdGhpcy5zdG9yYWdlLmxlbmd0aCAtIDEpO1xuICAgICAgICByZXR1cm4geyBvcGVyYXRpb24sIHRhcmdldHMsIGN1cnNvciwgYW5jaG9yIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUb0hpc3RvcnkodW5kb1N0ZXA6IE9wZXJhdGlvbiwgcmVkb1N0ZXA6IE9wZXJhdGlvbik6IHZvaWQge1xuICAgICAgICBjb25zdCB0YXJnZXRzID0gdGhpcy5yZWd1bGF0b3JTZXJ2aWNlLmdldEN1cnJlbnRTZXNzaW9uVGFyZ2V0cygpO1xuICAgICAgICBjb25zdCBjdXJzb3IgPSB0aGlzLnJlZ3VsYXRvclNlcnZpY2Uuc2VsZWN0aW9uLmN1cnNvcjtcbiAgICAgICAgY29uc3QgYW5jaG9yID0gdGhpcy5yZWd1bGF0b3JTZXJ2aWNlLnNlbGVjdGlvbi5hbmNob3I7XG4gICAgICAgIHRoaXMuc3RlcCsrO1xuICAgICAgICB0aGlzLnN0b3JhZ2Uuc3BsaWNlKHRoaXMuc3RlcCwgdGhpcy5zdG9yYWdlLmxlbmd0aCk7XG4gICAgICAgIHRoaXMuc3RvcmFnZS5wdXNoKHsgdW5kbzogdW5kb1N0ZXAsIHJlZG86IHJlZG9TdGVwLCB0YXJnZXRzLCBjdXJzb3IsIGFuY2hvciB9KTtcbiAgICAgICAgaWYgKHRoaXMuc3RvcmFnZS5sZW5ndGggPiB0aGlzLk1BWF9ISVNUT1JZKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Uuc3BsaWNlKDAsIDEpO1xuICAgICAgICAgICAgdGhpcy5zdGVwLS07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuaGlzdG9yeUluZm8gPSBuZXcgT3BlcmF0aW9uc0hpc3RvcnlJbmZvTW9kZWwodGhpcy5zdGVwLCB0aGlzLnN0b3JhZ2UubGVuZ3RoIC0gMSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9vcGVyYXRpb24taGlzdG9yeS9vcGVyYXRpb24udHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkTnVtYmVyaW5nTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2FkZC1udW1iZXJpbmcubW9kZWwnO1xuaW1wb3J0IHsgQXBwbHlJbWFnZVN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2FwcGx5LWltYWdlLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IEFwcGx5VGV4dFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2FwcGx5LXRleHQtc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgRGVsZXRlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2RlbGV0ZS5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRCcmVha01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtYnJlYWsubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0RWxlbWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtZWxlbWVudC5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRJbWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtaW1hZ2UubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0U3R5bGVkVGV4dE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtc3R5bGVkLXRleHQubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0VGFibGVDb2x1bW5zTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC10YWJsZS1jb2x1bW5zLm1vZGVsJztcbmltcG9ydCB7IEluc2VydFRhYmxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC10YWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRUYWJsZVJvd3NNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXRhYmxlLXJvd3MubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0VGFiTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC10YWIubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0VGV4dE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtdGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBSZW1vdmVOdW1iZXJpbmdzTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3JlbW92ZS1udW1iZXJpbmdzLm1vZGVsJztcbmltcG9ydCB7IFJlbW92ZVRhYmxlQ29sdW1uc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZW1vdmUtdGFibGUtY29sdW1ucy5tb2RlbCc7XG5pbXBvcnQgeyBSZW1vdmVUYWJsZVJvd3NNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVtb3ZlLXRhYmxlLXJvd3MubW9kZWwnO1xuaW1wb3J0IHsgUmVwbGFjZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXBsYWNlLm1vZGVsJztcbmltcG9ydCB7IFJlc2l6ZVRhYmxlQ29sdW1uc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXNpemUtdGFibGUtY29sdW1ucy5tb2RlbCc7XG5pbXBvcnQgeyBSZXN0b3JlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc3RvcmUubW9kZWwnO1xuaW1wb3J0IHsgUmVzdG9yZU51bWJlcmluZ3NNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVzdG9yZS1udW1iZXJpbmdzLm1vZGVsJztcbmltcG9ydCB7IFJlc3RvcmVQYXJhZ3JhcGhTdHlsZXNNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVzdG9yZS1wYXJhZ3JhcGgtc3R5bGVzLm1vZGVsJztcbmltcG9ydCB7IFJlc3RvcmVUYWJsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXN0b3JlLXRhYmxlLm1vZGVsJztcbmltcG9ydCB7IFJlc3RvcmVUZXh0U3R5bGVzTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc3RvcmUtdGV4dC1zdHlsZXMubW9kZWwnO1xuXG5leHBvcnQgdHlwZSBPcGVyYXRpb24gPVxuICAgIHwgSW5zZXJ0VGV4dE1vZGVsXG4gICAgfCBEZWxldGVNb2RlbFxuICAgIHwgSW5zZXJ0U3R5bGVkVGV4dE1vZGVsXG4gICAgfCBSZXN0b3JlTW9kZWxcbiAgICB8IEFwcGx5VGV4dFN0eWxlTW9kZWxcbiAgICB8IFJlc3RvcmVUZXh0U3R5bGVzTW9kZWxcbiAgICB8IFJlc3RvcmVQYXJhZ3JhcGhTdHlsZXNNb2RlbFxuICAgIHwgSW5zZXJ0RWxlbWVudE1vZGVsXG4gICAgfCBJbnNlcnRCcmVha01vZGVsXG4gICAgfCBBcHBseUltYWdlU3R5bGVNb2RlbFxuICAgIHwgQWRkTnVtYmVyaW5nTW9kZWxcbiAgICB8IFJlc3RvcmVOdW1iZXJpbmdzTW9kZWxcbiAgICB8IEluc2VydFRhYk1vZGVsXG4gICAgfCBJbnNlcnRUYWJsZUNvbHVtbnNNb2RlbFxuICAgIHwgSW5zZXJ0VGFibGVSb3dzTW9kZWxcbiAgICB8IFJlbW92ZVRhYmxlQ29sdW1uc01vZGVsXG4gICAgfCBSZW1vdmVUYWJsZVJvd3NNb2RlbFxuICAgIHwgUmVzaXplVGFibGVDb2x1bW5zTW9kZWxcbiAgICB8IFJlc3RvcmVUYWJsZU1vZGVsXG4gICAgfCBJbnNlcnRUYWJsZU1vZGVsXG4gICAgfCBJbnNlcnRJbWFnZU1vZGVsXG4gICAgfCBSZW1vdmVOdW1iZXJpbmdzTW9kZWxcbiAgICB8IFJlcGxhY2VNb2RlbDtcbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export class OperationsHistoryInfoModel {
|
|
2
|
-
constructor(step, storageLength) {
|
|
3
|
-
this.step = step;
|
|
4
|
-
this.lastStep = storageLength;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9ucy1oaXN0b3J5LWluZm8ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9vcGVyYXRpb24taGlzdG9yeS9vcGVyYXRpb25zLWhpc3RvcnktaW5mby5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sMEJBQTBCO0lBSW5DLFlBQVksSUFBWSxFQUFFLGFBQXFCO1FBQzNDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDO0lBQ2xDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBPcGVyYXRpb25zSGlzdG9yeUluZm9Nb2RlbCB7XG4gICAgc3RlcDogbnVtYmVyO1xuICAgIGxhc3RTdGVwOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihzdGVwOiBudW1iZXIsIHN0b3JhZ2VMZW5ndGg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnN0ZXAgPSBzdGVwO1xuICAgICAgICB0aGlzLmxhc3RTdGVwID0gc3RvcmFnZUxlbmd0aDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export var CommandType;
|
|
2
|
-
(function (CommandType) {
|
|
3
|
-
CommandType[CommandType["Delete"] = 0] = "Delete";
|
|
4
|
-
CommandType[CommandType["InsertText"] = 1] = "InsertText";
|
|
5
|
-
CommandType[CommandType["InsertStyledText"] = 2] = "InsertStyledText";
|
|
6
|
-
CommandType[CommandType["ReplaceByText"] = 3] = "ReplaceByText";
|
|
7
|
-
CommandType[CommandType["Restore"] = 4] = "Restore";
|
|
8
|
-
CommandType[CommandType["RestoreTextStyles"] = 5] = "RestoreTextStyles";
|
|
9
|
-
CommandType[CommandType["RestoreParagraphStyles"] = 6] = "RestoreParagraphStyles";
|
|
10
|
-
CommandType[CommandType["ApplyTextStyle"] = 7] = "ApplyTextStyle";
|
|
11
|
-
CommandType[CommandType["ApplyParagraphStyle"] = 8] = "ApplyParagraphStyle";
|
|
12
|
-
CommandType[CommandType["InsertElement"] = 9] = "InsertElement";
|
|
13
|
-
CommandType[CommandType["InsertBreak"] = 10] = "InsertBreak";
|
|
14
|
-
CommandType[CommandType["ApplyElementStyle"] = 11] = "ApplyElementStyle";
|
|
15
|
-
CommandType[CommandType["ApplyImageStyle"] = 12] = "ApplyImageStyle";
|
|
16
|
-
CommandType[CommandType["AddNumbering"] = 13] = "AddNumbering";
|
|
17
|
-
CommandType[CommandType["InsertTab"] = 14] = "InsertTab";
|
|
18
|
-
CommandType[CommandType["InsertTableColumns"] = 15] = "InsertTableColumns";
|
|
19
|
-
CommandType[CommandType["InsertTableRows"] = 16] = "InsertTableRows";
|
|
20
|
-
CommandType[CommandType["InsertLink"] = 17] = "InsertLink";
|
|
21
|
-
CommandType[CommandType["RemoveTableColumns"] = 18] = "RemoveTableColumns";
|
|
22
|
-
CommandType[CommandType["RemoveTableRows"] = 19] = "RemoveTableRows";
|
|
23
|
-
CommandType[CommandType["ResizeTableColumns"] = 20] = "ResizeTableColumns";
|
|
24
|
-
CommandType[CommandType["RestoreTable"] = 21] = "RestoreTable";
|
|
25
|
-
CommandType[CommandType["InsertTable"] = 22] = "InsertTable";
|
|
26
|
-
CommandType[CommandType["InsertImage"] = 23] = "InsertImage";
|
|
27
|
-
CommandType[CommandType["RemoveNumberings"] = 24] = "RemoveNumberings";
|
|
28
|
-
CommandType[CommandType["RestoreNumberings"] = 25] = "RestoreNumberings";
|
|
29
|
-
CommandType[CommandType["Replace"] = 26] = "Replace";
|
|
30
|
-
})(CommandType || (CommandType = {}));
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9vcGVyYXRpb25zL2VudW1zL2NvbW1hbmQtdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFdBNEJYO0FBNUJELFdBQVksV0FBVztJQUNuQixpREFBTSxDQUFBO0lBQ04seURBQVUsQ0FBQTtJQUNWLHFFQUFnQixDQUFBO0lBQ2hCLCtEQUFhLENBQUE7SUFDYixtREFBTyxDQUFBO0lBQ1AsdUVBQWlCLENBQUE7SUFDakIsaUZBQXNCLENBQUE7SUFDdEIsaUVBQWMsQ0FBQTtJQUNkLDJFQUFtQixDQUFBO0lBQ25CLCtEQUFhLENBQUE7SUFDYiw0REFBVyxDQUFBO0lBQ1gsd0VBQWlCLENBQUE7SUFDakIsb0VBQWUsQ0FBQTtJQUNmLDhEQUFZLENBQUE7SUFDWix3REFBUyxDQUFBO0lBQ1QsMEVBQWtCLENBQUE7SUFDbEIsb0VBQWUsQ0FBQTtJQUNmLDBEQUFVLENBQUE7SUFDViwwRUFBa0IsQ0FBQTtJQUNsQixvRUFBZSxDQUFBO0lBQ2YsMEVBQWtCLENBQUE7SUFDbEIsOERBQVksQ0FBQTtJQUNaLDREQUFXLENBQUE7SUFDWCw0REFBVyxDQUFBO0lBQ1gsc0VBQWdCLENBQUE7SUFDaEIsd0VBQWlCLENBQUE7SUFDakIsb0RBQU8sQ0FBQTtBQUNYLENBQUMsRUE1QlcsV0FBVyxLQUFYLFdBQVcsUUE0QnRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ29tbWFuZFR5cGUge1xuICAgIERlbGV0ZSxcbiAgICBJbnNlcnRUZXh0LFxuICAgIEluc2VydFN0eWxlZFRleHQsXG4gICAgUmVwbGFjZUJ5VGV4dCxcbiAgICBSZXN0b3JlLFxuICAgIFJlc3RvcmVUZXh0U3R5bGVzLFxuICAgIFJlc3RvcmVQYXJhZ3JhcGhTdHlsZXMsXG4gICAgQXBwbHlUZXh0U3R5bGUsXG4gICAgQXBwbHlQYXJhZ3JhcGhTdHlsZSxcbiAgICBJbnNlcnRFbGVtZW50LFxuICAgIEluc2VydEJyZWFrLFxuICAgIEFwcGx5RWxlbWVudFN0eWxlLFxuICAgIEFwcGx5SW1hZ2VTdHlsZSxcbiAgICBBZGROdW1iZXJpbmcsXG4gICAgSW5zZXJ0VGFiLFxuICAgIEluc2VydFRhYmxlQ29sdW1ucyxcbiAgICBJbnNlcnRUYWJsZVJvd3MsXG4gICAgSW5zZXJ0TGluayxcbiAgICBSZW1vdmVUYWJsZUNvbHVtbnMsXG4gICAgUmVtb3ZlVGFibGVSb3dzLFxuICAgIFJlc2l6ZVRhYmxlQ29sdW1ucyxcbiAgICBSZXN0b3JlVGFibGUsXG4gICAgSW5zZXJ0VGFibGUsXG4gICAgSW5zZXJ0SW1hZ2UsXG4gICAgUmVtb3ZlTnVtYmVyaW5ncyxcbiAgICBSZXN0b3JlTnVtYmVyaW5ncyxcbiAgICBSZXBsYWNlXG59XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export var TargetType;
|
|
2
|
-
(function (TargetType) {
|
|
3
|
-
TargetType[TargetType["Document"] = 0] = "Document";
|
|
4
|
-
TargetType[TargetType["TableCell"] = 1] = "TableCell";
|
|
5
|
-
TargetType[TargetType["Edge"] = 2] = "Edge";
|
|
6
|
-
})(TargetType || (TargetType = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL29wZXJhdGlvbnMvZW51bXMvdGFyZ2V0LXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ2xCLG1EQUFRLENBQUE7SUFDUixxREFBUyxDQUFBO0lBQ1QsMkNBQUksQ0FBQTtBQUNSLENBQUMsRUFKVyxVQUFVLEtBQVYsVUFBVSxRQUlyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFRhcmdldFR5cGUge1xuICAgIERvY3VtZW50LFxuICAgIFRhYmxlQ2VsbCxcbiAgICBFZGdlXG59XG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
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
|
|
@@ -1,15 +0,0 @@
|
|
|
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==
|
|
@@ -1,56 +0,0 @@
|
|
|
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==
|
|
@@ -1,19 +0,0 @@
|
|
|
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
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZC1lbGVtZW50LW9wZXJhdGlvbnMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvK3NoYXJlZC9lZGl0b3Ivb3BlcmF0aW9ucy9oZWxwZXJzL2luZGV4ZWQtZWxlbWVudC1vcGVyYXRpb25zLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sOEJBQThCO0lBQ3ZDLE1BQU0sQ0FBQyxhQUFhLENBQWlDLFFBQWEsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQ3BHLE1BQU0sTUFBTSxHQUFHLFFBQVEsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksVUFBVSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksUUFBUSxFQUFFO2dCQUM5RSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN6QjtTQUNKO1FBQ0QsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsQ0FBQyxXQUFXLEdBQUcsUUFBUSxFQUFFO2dCQUMxQixDQUFDLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQWlDLFFBQWEsRUFBRSxPQUFVLEVBQUUsTUFBTSxHQUFHLENBQUM7UUFDL0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0UsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ1gsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMxQjthQUFNO1lBQ0gsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQWlDLFFBQWEsRUFBRSxLQUFhLEVBQUUsTUFBYztRQUM3RixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxDQUFDLFdBQVcsSUFBSSxLQUFLLEVBQUU7Z0JBQ3hCLENBQUMsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDO2FBQzNCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBaUMsUUFBYSxFQUFFLEtBQWEsRUFBRSxhQUFxQixFQUFFLFdBQWdCO1FBQ2hILElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNuRCxJQUFJLGVBQWUsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsQ0FBQztRQUN0RSxlQUFlLEdBQUcsZUFBZSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFDN0UsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQWlDLFFBQWEsRUFBRSxVQUFrQixFQUFFLFFBQWdCLEVBQUUsTUFBYztRQUNySCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluc2VydEluZGV4SW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pbnNlcnQtaW5kZXguaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIEluZGV4ZWRFbGVtZW50T3BlcmF0aW9uc0hlbHBlciB7XG4gICAgc3RhdGljIHJlbW92ZUNvbnRlbnQ8VCBleHRlbmRzIEluc2VydEluZGV4SW50ZXJmYWNlPihlbGVtZW50czogVFtdLCBzdGFydEluZGV4OiBudW1iZXIsIGVuZEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gZW5kSW5kZXggLSBzdGFydEluZGV4ICsgMTtcbiAgICAgICAgZm9yIChsZXQgaSA9IGVsZW1lbnRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudHNbaV0uaW5zZXJ0SW5kZXggPj0gc3RhcnRJbmRleCAmJiBlbGVtZW50c1tpXS5pbnNlcnRJbmRleCA8PSBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnRzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbGVtZW50cy5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgaWYgKHguaW5zZXJ0SW5kZXggPiBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIHguaW5zZXJ0SW5kZXggLT0gbGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW5zZXJ0PFQgZXh0ZW5kcyBJbnNlcnRJbmRleEludGVyZmFjZT4oZWxlbWVudHM6IFRbXSwgZWxlbWVudDogVCwgbGVuZ3RoID0gMSk6IHZvaWQge1xuICAgICAgICB0aGlzLmluc2VydENvbnRlbnQoZWxlbWVudHMsIGVsZW1lbnQuaW5zZXJ0SW5kZXgsIGxlbmd0aCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gZWxlbWVudHMuZmluZEluZGV4KHggPT4geC5pbnNlcnRJbmRleCA+IGVsZW1lbnQuaW5zZXJ0SW5kZXgpO1xuICAgICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgICAgICBlbGVtZW50cy5wdXNoKGVsZW1lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWxlbWVudHMuc3BsaWNlKGluZGV4LCAwLCBlbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBpbnNlcnRDb250ZW50PFQgZXh0ZW5kcyBJbnNlcnRJbmRleEludGVyZmFjZT4oZWxlbWVudHM6IFRbXSwgaW5kZXg6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgZWxlbWVudHMuZm9yRWFjaCh4ID0+IHtcbiAgICAgICAgICAgIGlmICh4Lmluc2VydEluZGV4ID49IGluZGV4KSB7XG4gICAgICAgICAgICAgICAgeC5pbnNlcnRJbmRleCArPSBsZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXN0b3JlPFQgZXh0ZW5kcyBJbnNlcnRJbmRleEludGVyZmFjZT4oZWxlbWVudHM6IFRbXSwgaW5kZXg6IG51bWJlciwgY29udGVudExlbmd0aDogbnVtYmVyLCBuZXdFbGVtZW50czogVFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5zZXJ0Q29udGVudChlbGVtZW50cywgaW5kZXgsIGNvbnRlbnRMZW5ndGgpO1xuICAgICAgICBsZXQgaW5kZXhJbkVsZW1lbnRzID0gZWxlbWVudHMuZmluZEluZGV4KHggPT4geC5pbnNlcnRJbmRleCA+PSBpbmRleCk7XG4gICAgICAgIGluZGV4SW5FbGVtZW50cyA9IGluZGV4SW5FbGVtZW50cyA9PT0gLTEgPyBlbGVtZW50cy5sZW5ndGggOiBpbmRleEluRWxlbWVudHM7XG4gICAgICAgIGVsZW1lbnRzLnNwbGljZShpbmRleEluRWxlbWVudHMsIDAsIC4uLm5ld0VsZW1lbnRzKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcmVwbGFjZUNvbnRlbnQ8VCBleHRlbmRzIEluc2VydEluZGV4SW50ZXJmYWNlPihlbGVtZW50czogVFtdLCBzdGFydEluZGV4OiBudW1iZXIsIGVuZEluZGV4OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ29udGVudChlbGVtZW50cywgc3RhcnRJbmRleCwgZW5kSW5kZXgpO1xuICAgICAgICB0aGlzLmluc2VydENvbnRlbnQoZWxlbWVudHMsIHN0YXJ0SW5kZXgsIGxlbmd0aCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,28 +0,0 @@
|
|
|
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==
|