@talrace/ngx-noder 0.0.18 → 0.0.20
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/fesm2022/talrace-ngx-noder.mjs +181 -181
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
- package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +1 -1
- package/lib/editor/components/external-element/external.component.d.ts +1 -1
- package/lib/editor/components/shared/abstract/base.component.d.ts +1 -1
- package/lib/editor/components/shared/abstract/destroy.component.d.ts +1 -1
- package/package.json +1 -3
- package/src/lib/apart-components/add-link-dialog/_add-link-dialog.theme.scss +3 -6
- package/src/lib/apart-components/add-link-mobile/_add-link-mobile.theme.scss +4 -7
- package/src/lib/apart-components/confirm-dialog/_theme.scss +6 -9
- package/src/lib/apart-components/editor-title/_editor-title.theme.scss +6 -9
- package/src/lib/apart-components/editor-title-mobile/_editor-title-mobile.theme.scss +9 -12
- package/src/lib/apart-components/editor-toolbar/_editor-toolbar.theme.scss +5 -8
- package/src/lib/apart-components/editor-toolbar/components/buttons/color-picker/_color-picker.theme.scss +1 -3
- package/src/lib/apart-components/editor-toolbar/components/buttons/font/_font.theme.scss +1 -3
- package/src/lib/apart-components/editor-toolbar/components/buttons/font-size/_font-size.theme.scss +2 -5
- package/src/lib/apart-components/editor-toolbar/components/buttons/font-style/_font-style.theme.scss +3 -6
- package/src/lib/apart-components/editor-toolbar/components/buttons/format/_format.theme.scss +3 -6
- package/src/lib/apart-components/editor-toolbar/components/buttons/numbering/_numbering.theme.scss +15 -18
- package/src/lib/apart-components/editor-toolbar/components/buttons/undo-redo/_undo-redo.theme.scss +2 -4
- package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns/_menu-dropdowns.theme.scss +5 -8
- package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/_menu-dropdowns-mobile.theme.scss +6 -9
- package/src/lib/apart-components/editor-toolbar/components/toolbar-actions/_toolbar-actions.theme.scss +3 -6
- package/src/lib/apart-components/insert-table/_insert-table.theme.scss +6 -9
- package/src/lib/apart-components/insert-table-mobile/_insert-table-mobile.theme.scss +12 -15
- package/src/lib/apart-components/text-format-mobile/_text-format-mobile.theme.scss +22 -25
- package/src/lib/editor/components/_editor.theme.scss +25 -28
- package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +0 -73
- package/esm2022/lib/apart-components/add-link-dialog/validation.helper.mjs +0 -7
- package/esm2022/lib/apart-components/add-link-mobile/add-link-mobile.component.mjs +0 -49
- package/esm2022/lib/apart-components/confirm-dialog/confirm-dialog.component.mjs +0 -34
- package/esm2022/lib/apart-components/editor-search/editor-search-dialog.component.mjs +0 -75
- package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +0 -95
- package/esm2022/lib/apart-components/editor-title-mobile/editor-title-mobile.component.mjs +0 -24
- package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +0 -117
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/color-picker/color-picker.component.mjs +0 -37
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +0 -49
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +0 -90
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-style/font-style.component.mjs +0 -81
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/format/format.component.mjs +0 -28
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/numbering/numbering.component.mjs +0 -53
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/print/print.component.mjs +0 -18
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/undo-redo/undo-redo.component.mjs +0 -27
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/zoom/zoom.component.mjs +0 -71
- package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +0 -107
- package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.mjs +0 -25
- package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +0 -65
- package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +0 -86
- package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +0 -90
- package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar.module.mjs +0 -122
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.mjs +0 -8
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/numbering-templates.const.mjs +0 -1148
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/svg-icons.const.mjs +0 -157
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/alignment.enum.mjs +0 -8
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.mjs +0 -11
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-template-type.enum.mjs +0 -16
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-type.enum.mjs +0 -6
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/custom-icon.service.mjs +0 -34
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.mjs +0 -26
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs +0 -60
- package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +0 -48
- package/esm2022/lib/apart-components/insert-table/insert-table.component.mjs +0 -54
- package/esm2022/lib/apart-components/insert-table-mobile/insert-table-mobile.component.mjs +0 -86
- package/esm2022/lib/apart-components/text-format-mobile/text-format-mobile.component.mjs +0 -134
- package/esm2022/lib/editor/components/edges/edge-element.model.mjs +0 -38
- package/esm2022/lib/editor/components/edges/edge-type.enum.mjs +0 -6
- package/esm2022/lib/editor/components/edges/edge.component.mjs +0 -141
- package/esm2022/lib/editor/components/edges/edges.mjs +0 -120
- package/esm2022/lib/editor/components/edges/page-type.enum.mjs +0 -7
- package/esm2022/lib/editor/components/editor.component.mjs +0 -112
- package/esm2022/lib/editor/components/external-element/external-element.service.mjs +0 -6
- package/esm2022/lib/editor/components/external-element/external-elements.const.mjs +0 -4
- package/esm2022/lib/editor/components/external-element/external-sidenav.interface.mjs +0 -2
- package/esm2022/lib/editor/components/external-element/external.component.mjs +0 -41
- package/esm2022/lib/editor/components/external-element/models/element-data.model.mjs +0 -9
- package/esm2022/lib/editor/components/external-element/models/external-element.model.mjs +0 -11
- package/esm2022/lib/editor/components/external-element/models/external-sidenav.model.mjs +0 -15
- package/esm2022/lib/editor/components/image/components/image.component.mjs +0 -88
- package/esm2022/lib/editor/components/image/image-api.service.mjs +0 -36
- package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +0 -46
- package/esm2022/lib/editor/components/image/resizer/coordinate.mjs +0 -2
- package/esm2022/lib/editor/components/image/resizer/direction-wrapper.mjs +0 -19
- package/esm2022/lib/editor/components/image/resizer/direction.enum.mjs +0 -12
- package/esm2022/lib/editor/components/image/resizer/resizer.component.mjs +0 -106
- package/esm2022/lib/editor/components/image/resizer/size-delta.mjs +0 -2
- package/esm2022/lib/editor/components/image/resizer/size-wrapper.mjs +0 -52
- package/esm2022/lib/editor/components/image/size.mjs +0 -2
- package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +0 -60
- package/esm2022/lib/editor/components/shared/abstract/destroy.component.mjs +0 -18
- package/esm2022/lib/editor/components/shared/custom-component.hepler.mjs +0 -43
- package/esm2022/lib/editor/components/shared/custom-components.interface.mjs +0 -2
- package/esm2022/lib/editor/components/shared/custom-content-markers.const.mjs +0 -3
- package/esm2022/lib/editor/components/shared/custom-content.mjs +0 -2
- package/esm2022/lib/editor/components/shared/services/component.service.mjs +0 -52
- package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +0 -123
- package/esm2022/lib/editor/components/shared/services/overlay.service.mjs +0 -55
- package/esm2022/lib/editor/components/tab/tab.component.mjs +0 -44
- package/esm2022/lib/editor/components/tab/tab.helper.mjs +0 -6
- package/esm2022/lib/editor/components/table/cell-resizer/cell-resizer.mjs +0 -118
- package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +0 -99
- package/esm2022/lib/editor/components/table/components/table.component.mjs +0 -412
- package/esm2022/lib/editor/components/table/enums/hrule.enum.mjs +0 -7
- package/esm2022/lib/editor/components/table/enums/reisizer-side.enum.mjs +0 -8
- package/esm2022/lib/editor/components/table/enums/vertical-merge.enum.mjs +0 -6
- package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +0 -17
- package/esm2022/lib/editor/components/table/models/cell-resizer-parameters.model.mjs +0 -9
- package/esm2022/lib/editor/components/table/models/row-data.model.mjs +0 -8
- package/esm2022/lib/editor/components/table/models/selection-range.model.mjs +0 -7
- package/esm2022/lib/editor/components/table/overlay-menu/overlay-menu.component.mjs +0 -84
- package/esm2022/lib/editor/components/table/selection/table-selection.mjs +0 -383
- package/esm2022/lib/editor/content/constants/display-values.const.mjs +0 -8
- package/esm2022/lib/editor/content/constants/document-info.const.mjs +0 -13
- package/esm2022/lib/editor/content/constants/editor.const.mjs +0 -70
- package/esm2022/lib/editor/content/contents.interface.mjs +0 -2
- package/esm2022/lib/editor/content/display-data/display-data.mjs +0 -839
- package/esm2022/lib/editor/content/display-data/display-token.model.mjs +0 -12
- package/esm2022/lib/editor/content/display-data/format-ext.model.mjs +0 -10
- package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +0 -11
- package/esm2022/lib/editor/content/display-data/indent.model.mjs +0 -9
- package/esm2022/lib/editor/content/display-data/line-info.model.mjs +0 -9
- package/esm2022/lib/editor/content/display-data/lines.mjs +0 -96
- package/esm2022/lib/editor/content/display-data/models/paragraph-info.model.mjs +0 -8
- package/esm2022/lib/editor/content/display-data/paragraph-info.interface.mjs +0 -2
- package/esm2022/lib/editor/content/display-data/paragraph.mjs +0 -56
- package/esm2022/lib/editor/content/display-data/text-line-info.mjs +0 -35
- package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +0 -2
- package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +0 -78
- package/esm2022/lib/editor/content/helpers/display-token.helper.mjs +0 -62
- package/esm2022/lib/editor/content/helpers/format.helper.mjs +0 -23
- package/esm2022/lib/editor/content/helpers/indexed-element.helper.mjs +0 -6
- package/esm2022/lib/editor/content/helpers/link.helper.mjs +0 -42
- package/esm2022/lib/editor/content/helpers/scaling.helper.mjs +0 -9
- package/esm2022/lib/editor/content/margin.model.mjs +0 -16
- package/esm2022/lib/editor/content/page-vertical-data.model.mjs +0 -9
- package/esm2022/lib/editor/content/vertical-alignment.enum.mjs +0 -11
- package/esm2022/lib/editor/core/event-emitting.mjs +0 -56
- package/esm2022/lib/editor/display/cell.interface.mjs +0 -2
- package/esm2022/lib/editor/display/event.helper.mjs +0 -18
- package/esm2022/lib/editor/display/layers/cursor.layer.mjs +0 -102
- package/esm2022/lib/editor/display/layers/layer.config.mjs +0 -2
- package/esm2022/lib/editor/display/layers/pages.layer.mjs +0 -109
- package/esm2022/lib/editor/display/layers/print.pages.layer.mjs +0 -7
- package/esm2022/lib/editor/display/layers/print.text.layer.mjs +0 -7
- package/esm2022/lib/editor/display/layers/selection.layer.mjs +0 -119
- package/esm2022/lib/editor/display/layers/text.layer.mjs +0 -226
- package/esm2022/lib/editor/display/print/print.helper.mjs +0 -40
- package/esm2022/lib/editor/display/print/print.renderer.mjs +0 -67
- package/esm2022/lib/editor/display/print/print.rendering.helper.mjs +0 -7
- package/esm2022/lib/editor/display/render-changes.interface.mjs +0 -2
- package/esm2022/lib/editor/display/render-changes.model.mjs +0 -25
- package/esm2022/lib/editor/display/renderer.mjs +0 -204
- package/esm2022/lib/editor/display/rendering.helper.mjs +0 -185
- package/esm2022/lib/editor/display/renderloop.mjs +0 -26
- package/esm2022/lib/editor/display/virtual.renderer.mjs +0 -284
- package/esm2022/lib/editor/display/visible-range.interface.mjs +0 -2
- package/esm2022/lib/editor/editor.module.mjs +0 -91
- package/esm2022/lib/editor/execution/distance.model.mjs +0 -10
- package/esm2022/lib/editor/execution/edit.session.mjs +0 -602
- package/esm2022/lib/editor/execution/editor.mjs +0 -1368
- package/esm2022/lib/editor/execution/helpers/dom.helper.mjs +0 -42
- package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +0 -73
- package/esm2022/lib/editor/execution/helpers/image.helpet.mjs +0 -12
- package/esm2022/lib/editor/execution/helpers/page.helper.mjs +0 -12
- package/esm2022/lib/editor/execution/helpers/paragraph-style.helper.mjs +0 -41
- package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +0 -177
- package/esm2022/lib/editor/execution/regulator.service.mjs +0 -212
- package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +0 -18
- package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +0 -14
- package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +0 -8
- package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +0 -3
- package/esm2022/lib/editor/execution/targeting/session.model.mjs +0 -10
- package/esm2022/lib/editor/gadgets/font-metrics/editor-version.const.mjs +0 -2
- package/esm2022/lib/editor/gadgets/font-metrics/font-metric-size.interface.mjs +0 -2
- package/esm2022/lib/editor/gadgets/font-metrics/font-metrics.helper.mjs +0 -88
- package/esm2022/lib/editor/gadgets/history/operation-history.mjs +0 -208
- package/esm2022/lib/editor/gadgets/history/operation.type.mjs +0 -2
- package/esm2022/lib/editor/gadgets/history/operations-history-info.model.mjs +0 -7
- package/esm2022/lib/editor/gadgets/numbering/numbering-data.model.mjs +0 -9
- package/esm2022/lib/editor/gadgets/numbering/numbering-marker-type.enum.mjs +0 -12
- package/esm2022/lib/editor/gadgets/numbering/numbering-paragraph-style.model.mjs +0 -13
- package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +0 -149
- package/esm2022/lib/editor/gadgets/page-break/break-types.enum.mjs +0 -7
- package/esm2022/lib/editor/gadgets/page-break/break.helper.mjs +0 -18
- package/esm2022/lib/editor/gadgets/scrollbar.mjs +0 -86
- package/esm2022/lib/editor/gadgets/search/replace.interface.mjs +0 -2
- package/esm2022/lib/editor/gadgets/search/search-iteration.interface.mjs +0 -2
- package/esm2022/lib/editor/gadgets/search/search.mjs +0 -231
- package/esm2022/lib/editor/gadgets/unicode/unicode-chars.const.mjs +0 -5
- package/esm2022/lib/editor/gadgets/unicode/unicode.helper.mjs +0 -20
- package/esm2022/lib/editor/interaction/base.handler.mjs +0 -19
- package/esm2022/lib/editor/interaction/document.handler.mjs +0 -27
- package/esm2022/lib/editor/interaction/editor.service.mjs +0 -386
- package/esm2022/lib/editor/interaction/input.handler.mjs +0 -152
- package/esm2022/lib/editor/interaction/mode.enum.mjs +0 -7
- package/esm2022/lib/editor/interaction/mouse-button.enum.mjs +0 -7
- package/esm2022/lib/editor/interaction/mouse.handler.mjs +0 -50
- package/esm2022/lib/editor/interaction/text-input.mjs +0 -53
- package/esm2022/lib/editor/operations/commands.service.mjs +0 -20
- package/esm2022/lib/editor/operations/enums/command-type.enum.mjs +0 -32
- package/esm2022/lib/editor/operations/enums/target-type.enum.mjs +0 -7
- package/esm2022/lib/editor/operations/helpers/break-operations.helper.mjs +0 -9
- package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +0 -15
- package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +0 -85
- package/esm2022/lib/editor/operations/helpers/image-operations.helper.mjs +0 -19
- package/esm2022/lib/editor/operations/helpers/indexed-element-operations.helper.mjs +0 -43
- package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +0 -136
- package/esm2022/lib/editor/operations/helpers/numbering-operations.helper.mjs +0 -55
- package/esm2022/lib/editor/operations/helpers/paragraph-operations.helper.mjs +0 -114
- package/esm2022/lib/editor/operations/helpers/tab-operations.helper.mjs +0 -16
- package/esm2022/lib/editor/operations/helpers/table-operations.helper.mjs +0 -374
- package/esm2022/lib/editor/operations/operations-helper.helper.mjs +0 -438
- package/esm2022/lib/editor/operations/save-commands.helper.mjs +0 -128
- package/esm2022/lib/editor/operations/target-operations.helper.mjs +0 -23
- package/esm2022/lib/editor/positioning/alignments.const.mjs +0 -8
- package/esm2022/lib/editor/positioning/content.helper.mjs +0 -45
- package/esm2022/lib/editor/positioning/cursor-paragraph.mjs +0 -13
- package/esm2022/lib/editor/positioning/cursor-position.interface.mjs +0 -2
- package/esm2022/lib/editor/positioning/insert-index.interface.mjs +0 -2
- package/esm2022/lib/editor/positioning/line-width.helper.mjs +0 -13
- package/esm2022/lib/editor/positioning/position.helper.mjs +0 -210
- package/esm2022/lib/editor/positioning/range.mjs +0 -94
- package/esm2022/lib/editor/positioning/selection.mjs +0 -351
- package/esm2022/lib/editor/revision.helper.mjs +0 -94
- package/esm2022/lib/models/generated/add-numbering.model.mjs +0 -8
- package/esm2022/lib/models/generated/apply-element-style.model.mjs +0 -8
- package/esm2022/lib/models/generated/apply-image-style.model.mjs +0 -8
- package/esm2022/lib/models/generated/apply-paragraph-style.model.mjs +0 -12
- package/esm2022/lib/models/generated/apply-text-style.model.mjs +0 -12
- package/esm2022/lib/models/generated/borders-style.model.mjs +0 -8
- package/esm2022/lib/models/generated/break.model.mjs +0 -8
- package/esm2022/lib/models/generated/cell.model.mjs +0 -12
- package/esm2022/lib/models/generated/column-section.model.mjs +0 -8
- package/esm2022/lib/models/generated/column.model.mjs +0 -8
- package/esm2022/lib/models/generated/command.model.mjs +0 -120
- package/esm2022/lib/models/generated/delete.model.mjs +0 -8
- package/esm2022/lib/models/generated/document-name.model.mjs +0 -8
- package/esm2022/lib/models/generated/document.model.mjs +0 -8
- package/esm2022/lib/models/generated/docx.model.mjs +0 -12
- package/esm2022/lib/models/generated/edge-target.model.mjs +0 -8
- package/esm2022/lib/models/generated/edge.model.mjs +0 -8
- package/esm2022/lib/models/generated/element.model.mjs +0 -8
- package/esm2022/lib/models/generated/file-source.model.mjs +0 -8
- package/esm2022/lib/models/generated/format.model.mjs +0 -12
- package/esm2022/lib/models/generated/heading.model.mjs +0 -16
- package/esm2022/lib/models/generated/image-data.model.mjs +0 -8
- package/esm2022/lib/models/generated/image.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-break.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-element.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-image.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-link.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-paragraph.model.mjs +0 -20
- package/esm2022/lib/models/generated/insert-styled-text.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-tab.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-table-columns.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-table-rows.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-table.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-text.model.mjs +0 -8
- package/esm2022/lib/models/generated/last-document-revision.model.mjs +0 -12
- package/esm2022/lib/models/generated/link-data.model.mjs +0 -8
- package/esm2022/lib/models/generated/link.model.mjs +0 -8
- package/esm2022/lib/models/generated/margins.model.mjs +0 -8
- package/esm2022/lib/models/generated/numbering-level.model.mjs +0 -12
- package/esm2022/lib/models/generated/numbering.model.mjs +0 -8
- package/esm2022/lib/models/generated/operation.model.mjs +0 -12
- package/esm2022/lib/models/generated/page-numbers.model.mjs +0 -8
- package/esm2022/lib/models/generated/paragraph-style.model.mjs +0 -8
- package/esm2022/lib/models/generated/paragraph.model.mjs +0 -12
- package/esm2022/lib/models/generated/remove-numberings.model.mjs +0 -8
- package/esm2022/lib/models/generated/remove-table-columns.model.mjs +0 -8
- package/esm2022/lib/models/generated/remove-table-rows.model.mjs +0 -8
- package/esm2022/lib/models/generated/replace-by-text.model.mjs +0 -8
- package/esm2022/lib/models/generated/replace.model.mjs +0 -44
- package/esm2022/lib/models/generated/resize-table-columns.model.mjs +0 -8
- package/esm2022/lib/models/generated/restore-numberings.model.mjs +0 -8
- package/esm2022/lib/models/generated/restore-paragraph-styles.model.mjs +0 -8
- package/esm2022/lib/models/generated/restore-table.model.mjs +0 -12
- package/esm2022/lib/models/generated/restore-text-styles.model.mjs +0 -8
- package/esm2022/lib/models/generated/restore.model.mjs +0 -8
- package/esm2022/lib/models/generated/revision.model.mjs +0 -12
- package/esm2022/lib/models/generated/row.model.mjs +0 -8
- package/esm2022/lib/models/generated/tab.model.mjs +0 -8
- package/esm2022/lib/models/generated/table-cell.model.mjs +0 -8
- package/esm2022/lib/models/generated/table.model.mjs +0 -12
- package/esm2022/lib/models/generated/target.model.mjs +0 -16
- package/esm2022/lib/models/generated/text-style.model.mjs +0 -8
- package/esm2022/lib/translate/noder-translate.loader.mjs +0 -22
- package/esm2022/public-api.mjs +0 -54
- package/esm2022/talrace-ngx-noder.mjs +0 -5
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import { fromEvent } from 'rxjs';
|
|
2
|
-
import { Alignment } from '../positioning/alignments.const';
|
|
3
|
-
import { BaseHandler } from './base.handler';
|
|
4
|
-
import { BreakTypes } from '../gadgets/page-break/break-types.enum';
|
|
5
|
-
import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
|
|
6
|
-
export class InputHandler extends BaseHandler {
|
|
7
|
-
constructor(textarea, editor) {
|
|
8
|
-
super();
|
|
9
|
-
this.actionsWithScroll = {};
|
|
10
|
-
this.actionsWithSelection = {};
|
|
11
|
-
this.textareaKeyDown$ = fromEvent(textarea, 'keydown').subscribe((event) => this.onKeyDown(event, editor));
|
|
12
|
-
this.textareaBlur$ = fromEvent(textarea, 'blur').subscribe(() => editor.onBlur());
|
|
13
|
-
this.textareaFocus$ = fromEvent(textarea, 'focus').subscribe(() => editor.onFocus());
|
|
14
|
-
this.textareaInput$ = fromEvent(textarea, 'input').subscribe(() => this.onInput(editor));
|
|
15
|
-
this.textareaCut$ = fromEvent(textarea, 'cut').subscribe((event) => this.onCut(editor, event));
|
|
16
|
-
this.textareaCopy$ = fromEvent(textarea, 'copy').subscribe((event) => editor.onCopy(event));
|
|
17
|
-
this.textareaPaste$ = fromEvent(textarea, 'paste').subscribe((event) => this.onPaste(editor, event));
|
|
18
|
-
this.fillActions(editor);
|
|
19
|
-
this.fillActionsWithScroll(editor);
|
|
20
|
-
this.fillActionsWithSelection(editor);
|
|
21
|
-
}
|
|
22
|
-
destroy() {
|
|
23
|
-
this.textareaKeyDown$?.unsubscribe();
|
|
24
|
-
this.textareaBlur$?.unsubscribe();
|
|
25
|
-
this.textareaFocus$?.unsubscribe();
|
|
26
|
-
this.textareaInput$?.unsubscribe();
|
|
27
|
-
this.textareaCut$?.unsubscribe();
|
|
28
|
-
this.textareaCopy$?.unsubscribe();
|
|
29
|
-
this.textareaPaste$?.unsubscribe();
|
|
30
|
-
}
|
|
31
|
-
onInput(editor) {
|
|
32
|
-
if (editor.isViewOnly) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
editor.enableSelection();
|
|
36
|
-
editor.onInput();
|
|
37
|
-
}
|
|
38
|
-
onCut(editor, event) {
|
|
39
|
-
if (editor.isViewOnly) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
editor.enableSelection();
|
|
43
|
-
editor.onCut(event);
|
|
44
|
-
}
|
|
45
|
-
onPaste(editor, event) {
|
|
46
|
-
if (editor.isViewOnly) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
editor.enableSelection();
|
|
50
|
-
editor.onPaste(event);
|
|
51
|
-
}
|
|
52
|
-
onKeyDown(event, editor) {
|
|
53
|
-
const keyCombination = this.getKeyCombination(event);
|
|
54
|
-
if (this.actions[keyCombination]) {
|
|
55
|
-
this.actions[keyCombination](event);
|
|
56
|
-
}
|
|
57
|
-
else if (this.actionsWithScroll[keyCombination] && !editor.isViewOnly) {
|
|
58
|
-
this.actionsWithScroll[keyCombination](event);
|
|
59
|
-
editor.scrollCursorIntoMainView();
|
|
60
|
-
}
|
|
61
|
-
else if (this.actionsWithSelection[keyCombination]) {
|
|
62
|
-
this.actionsWithSelection[keyCombination](event);
|
|
63
|
-
editor.scrollCursorIntoMainView();
|
|
64
|
-
editor.onSelectionChange();
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
editor.enableSelection();
|
|
70
|
-
event.preventDefault();
|
|
71
|
-
}
|
|
72
|
-
selectAll(editor) {
|
|
73
|
-
editor.selection.selectAll(editor.session.model);
|
|
74
|
-
editor.onSelectionChange();
|
|
75
|
-
}
|
|
76
|
-
fillActions(editor) {
|
|
77
|
-
this.actions['Ctrl-KeyA'] = () => this.selectAll(editor);
|
|
78
|
-
this.actions['Command-KeyA'] = () => this.selectAll(editor);
|
|
79
|
-
this.actions['Ctrl-KeyF'] = () => editor.openSearch();
|
|
80
|
-
this.actions['Command-KeyF'] = () => editor.openSearch();
|
|
81
|
-
this.actions['Shift-PageDown'] = () => editor.selectPageDown();
|
|
82
|
-
this.actions['PageDown'] = () => editor.gotoPageDown();
|
|
83
|
-
this.actions['Shift-PageUp'] = () => editor.selectPageUp();
|
|
84
|
-
this.actions['PageUp'] = () => editor.gotoPageUp();
|
|
85
|
-
}
|
|
86
|
-
fillActionsWithScroll(editor) {
|
|
87
|
-
this.actionsWithScroll['Ctrl-KeyZ'] = () => editor.undo();
|
|
88
|
-
this.actionsWithScroll['Command-KeyZ'] = () => editor.undo();
|
|
89
|
-
this.actionsWithScroll['Ctrl-KeyY'] = () => editor.redo();
|
|
90
|
-
this.actionsWithScroll['Command-KeyY'] = () => editor.redo();
|
|
91
|
-
this.actionsWithScroll['Delete'] = () => editor.removeRight();
|
|
92
|
-
this.actionsWithScroll['Shift-Delete'] = () => editor.removeRight();
|
|
93
|
-
this.actionsWithScroll['Backspace'] = () => editor.removeLeft();
|
|
94
|
-
this.actionsWithScroll['Shift-Backspace'] = () => editor.removeLeft();
|
|
95
|
-
this.actionsWithScroll['Alt-Backspace'] = () => editor.removeToLineStart();
|
|
96
|
-
this.actionsWithScroll['Command-Backspace'] = () => editor.removeToLineStart();
|
|
97
|
-
this.actionsWithScroll['Alt-Delete'] = () => editor.removeToLineEnd();
|
|
98
|
-
this.actionsWithScroll['Command-Delete'] = () => editor.removeToLineEnd();
|
|
99
|
-
this.actionsWithScroll['Ctrl-Backspace'] = () => editor.removeWordLeft();
|
|
100
|
-
this.actionsWithScroll['Ctrl-Alt-Backspace'] = () => editor.removeWordLeft();
|
|
101
|
-
this.actionsWithScroll['Ctrl-Delete'] = () => editor.removeWordRight();
|
|
102
|
-
this.actionsWithScroll['Ctrl-Alt-Delete'] = () => editor.removeWordRight();
|
|
103
|
-
this.actionsWithScroll['Ctrl-KeyL'] = () => editor.applyParagraphStyles(new ParagraphStyleModel({ alignment: Alignment.left }));
|
|
104
|
-
this.actionsWithScroll['Ctrl-KeyE'] = () => editor.applyParagraphStyles(new ParagraphStyleModel({ alignment: Alignment.center }));
|
|
105
|
-
this.actionsWithScroll['Ctrl-KeyR'] = () => editor.applyParagraphStyles(new ParagraphStyleModel({ alignment: Alignment.right }));
|
|
106
|
-
this.actionsWithScroll['Ctrl-KeyB'] = () => editor.applyTextStyleBold();
|
|
107
|
-
this.actionsWithScroll['Ctrl-KeyI'] = () => editor.applyTextStyleItalic();
|
|
108
|
-
this.actionsWithScroll['Ctrl-KeyU'] = () => editor.applyTextStyleUnderline();
|
|
109
|
-
this.actionsWithScroll['Ctrl-Enter'] = () => editor.insertBreak(BreakTypes.Page);
|
|
110
|
-
this.actionsWithScroll['Shift-Enter'] = () => editor.insertBreak(BreakTypes.TextWrapping);
|
|
111
|
-
this.actionsWithScroll['Tab'] = () => editor.insertTab();
|
|
112
|
-
this.actionsWithScroll['Ctrl-KeyK'] = (event) => editor.onHotKeyDown(event);
|
|
113
|
-
}
|
|
114
|
-
fillActionsWithSelection(editor) {
|
|
115
|
-
this.actionsWithSelection['Ctrl-Shift-Home'] = () => editor.selection.selectFileStart();
|
|
116
|
-
this.actionsWithSelection['Command-Shift-Home'] = () => editor.selection.selectFileStart();
|
|
117
|
-
this.actionsWithSelection['Command-Shift-ArrowUp'] = () => editor.selection.selectFileStart();
|
|
118
|
-
this.actionsWithSelection['Ctrl-Home'] = () => editor.selection.navigateFileStart();
|
|
119
|
-
this.actionsWithSelection['Command-Home'] = () => editor.selection.navigateFileStart();
|
|
120
|
-
this.actionsWithSelection['Command-ArrowUp'] = () => editor.selection.navigateFileStart();
|
|
121
|
-
this.actionsWithSelection['Shift-ArrowUp'] = () => editor.selection.selectUp(editor.session);
|
|
122
|
-
this.actionsWithSelection['ArrowUp'] = () => editor.selection.navigateUp(editor.session);
|
|
123
|
-
this.actionsWithSelection['Ctrl-Shift-End'] = () => editor.selection.selectFileEnd(editor.session);
|
|
124
|
-
this.actionsWithSelection['Command-Shift-End'] = () => editor.selection.selectFileEnd(editor.session);
|
|
125
|
-
this.actionsWithSelection['Command-Shift-ArrowDown'] = () => editor.selection.selectFileEnd(editor.session);
|
|
126
|
-
this.actionsWithSelection['Ctrl-End'] = () => editor.selection.navigateFileEnd(editor.session);
|
|
127
|
-
this.actionsWithSelection['Command-End'] = () => editor.selection.navigateFileEnd(editor.session);
|
|
128
|
-
this.actionsWithSelection['Command-ArrowDown'] = () => editor.selection.navigateFileEnd(editor.session);
|
|
129
|
-
this.actionsWithSelection['Shift-ArrowDown'] = () => editor.selection.selectDown(editor.session);
|
|
130
|
-
this.actionsWithSelection['ArrowDown'] = () => editor.selection.navigateDown(editor.session);
|
|
131
|
-
this.actionsWithSelection['Ctrl-Shift-ArrowLeft'] = () => editor.selection.selectWordLeft(editor.session);
|
|
132
|
-
this.actionsWithSelection['Ctrl-ArrowLeft'] = () => editor.selection.navigateWordLeft(editor.session);
|
|
133
|
-
this.actionsWithSelection['Alt-Shift-ArrowLeft'] = () => editor.selection.selectLineStart(editor.session);
|
|
134
|
-
this.actionsWithSelection['Command-Shift-ArrowLeft'] = () => editor.selection.selectLineStart(editor.session);
|
|
135
|
-
this.actionsWithSelection['Shift-Home'] = () => editor.selection.selectLineStart(editor.session);
|
|
136
|
-
this.actionsWithSelection['Alt-ArrowLeft'] = () => editor.selection.navigateLineStart(editor.session);
|
|
137
|
-
this.actionsWithSelection['Home'] = () => editor.selection.navigateLineStart(editor.session);
|
|
138
|
-
this.actionsWithSelection['Shift-ArrowLeft'] = () => editor.selection.selectLeft(editor.session);
|
|
139
|
-
this.actionsWithSelection['ArrowLeft'] = () => editor.selection.navigateLeft(editor.session);
|
|
140
|
-
this.actionsWithSelection['Ctrl-Shift-ArrowRight'] = () => editor.selection.selectWordRight(editor.session);
|
|
141
|
-
this.actionsWithSelection['Ctrl-ArrowRight'] = () => editor.selection.navigateWordRight(editor.session);
|
|
142
|
-
this.actionsWithSelection['Alt-Shift-ArrowRight'] = () => editor.selection.selectLineEnd(editor.session);
|
|
143
|
-
this.actionsWithSelection['Command-Shift-ArrowRight'] = () => editor.selection.selectLineEnd(editor.session);
|
|
144
|
-
this.actionsWithSelection['Shift-End'] = () => editor.selection.selectLineEnd(editor.session);
|
|
145
|
-
this.actionsWithSelection['Alt-ArrowRight'] = () => editor.selection.navigateLineEnd(editor.session);
|
|
146
|
-
this.actionsWithSelection['Command-ArrowRight'] = () => editor.selection.navigateLineEnd(editor.session);
|
|
147
|
-
this.actionsWithSelection['End'] = () => editor.selection.navigateLineEnd(editor.session);
|
|
148
|
-
this.actionsWithSelection['Shift-ArrowRight'] = () => editor.selection.selectRight(editor.session);
|
|
149
|
-
this.actionsWithSelection['ArrowRight'] = () => editor.selection.navigateRight(editor.session);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9pbnRlcmFjdGlvbi9pbnB1dC5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRW5GLE1BQU0sT0FBTyxZQUFhLFNBQVEsV0FBVztJQW1CekMsWUFBWSxRQUFjLEVBQUUsTUFBYztRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQUxLLHNCQUFpQixHQUF1RCxFQUFFLENBQUM7UUFFM0UseUJBQW9CLEdBQXVELEVBQUUsQ0FBQztRQUkzRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFILElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMs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Q0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkcsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWxpZ25tZW50IH0gZnJvbSAnLi4vcG9zaXRpb25pbmcvYWxpZ25tZW50cy5jb25zdCc7XG5pbXBvcnQgeyBCYXNlSGFuZGxlciB9IGZyb20gJy4vYmFzZS5oYW5kbGVyJztcbmltcG9ydCB7IEJyZWFrVHlwZXMgfSBmcm9tICcuLi9nYWRnZXRzL3BhZ2UtYnJlYWsvYnJlYWstdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICcuLi9leGVjdXRpb24vZWRpdG9yJztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3BhcmFncmFwaC1zdHlsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBJbnB1dEhhbmRsZXIgZXh0ZW5kcyBCYXNlSGFuZGxlciB7XG4gICAgcmVhZG9ubHkgdGV4dGFyZWFLZXlEb3duJDogU3Vic2NyaXB0aW9uO1xuXG4gICAgcmVhZG9ubHkgdGV4dGFyZWFCbHVyJDogU3Vic2NyaXB0aW9uO1xuXG4gICAgcmVhZG9ubHkgdGV4dGFyZWFGb2N1cyQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIHJlYWRvbmx5IHRleHRhcmVhSW5wdXQkOiBTdWJzY3JpcHRpb247XG5cbiAgICByZWFkb25seSB0ZXh0YXJlYUN1dCQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIHJlYWRvbmx5IHRleHRhcmVhQ29weSQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIHJlYWRvbmx5IHRleHRhcmVhUGFzdGUkOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnNXaXRoU2Nyb2xsOiB7IFtrZXk6IHN0cmluZ106IChldmVudD86IEtleWJvYXJkRXZlbnQpID0+IHZvaWQgfSA9IHt9O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25zV2l0aFNlbGVjdGlvbjogeyBba2V5OiBzdHJpbmddOiAoZXZlbnQ/OiBLZXlib2FyZEV2ZW50KSA9PiB2b2lkIH0gPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKHRleHRhcmVhOiBOb2RlLCBlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRleHRhcmVhS2V5RG93biQgPSBmcm9tRXZlbnQodGV4dGFyZWEsICdrZXlkb3duJykuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5vbktleURvd24oZXZlbnQsIGVkaXRvcikpO1xuICAgICAgICB0aGlzLnRleHRhcmVhQmx1ciQgPSBmcm9tRXZlbnQodGV4dGFyZWEsICdibHVyJykuc3Vic2NyaWJlKCgpID0+IGVkaXRvci5vbkJsdXIoKSk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFGb2N1cyQgPSBmcm9tRXZlbnQodGV4dGFyZWEsICdmb2N1cycpLnN1YnNjcmliZSgoKSA9PiBlZGl0b3Iub25Gb2N1cygpKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUlucHV0JCA9IGZyb21FdmVudCh0ZXh0YXJlYSwgJ2lucHV0Jykuc3Vic2NyaWJlKCgpID0+IHRoaXMub25JbnB1dChlZGl0b3IpKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUN1dCQgPSBmcm9tRXZlbnQodGV4dGFyZWEsICdjdXQnKS5zdWJzY3JpYmUoKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4gdGhpcy5vbkN1dChlZGl0b3IsIGV2ZW50KSk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFDb3B5JCA9IGZyb21FdmVudCh0ZXh0YXJlYSwgJ2NvcHknKS5zdWJzY3JpYmUoKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4gZWRpdG9yLm9uQ29weShldmVudCkpO1xuICAgICAgICB0aGlzLnRleHRhcmVhUGFzdGUkID0gZnJvbUV2ZW50KHRleHRhcmVhLCAncGFzdGUnKS5zdWJzY3JpYmUoKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4gdGhpcy5vblBhc3RlKGVkaXRvciwgZXZlbnQpKTtcbiAgICAgICAgdGhpcy5maWxsQWN0aW9ucyhlZGl0b3IpO1xuICAgICAgICB0aGlzLmZpbGxBY3Rpb25zV2l0aFNjcm9sbChlZGl0b3IpO1xuICAgICAgICB0aGlzLmZpbGxBY3Rpb25zV2l0aFNlbGVjdGlvbihlZGl0b3IpO1xuICAgIH1cblxuICAgIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGV4dGFyZWFLZXlEb3duJD8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUJsdXIkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhRm9jdXMkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhSW5wdXQkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhQ3V0JD8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUNvcHkkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhUGFzdGUkPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25JbnB1dChlZGl0b3I6IEVkaXRvcik6IHZvaWQge1xuICAgICAgICBpZiAoZWRpdG9yLmlzVmlld09ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBlZGl0b3IuZW5hYmxlU2VsZWN0aW9uKCk7XG4gICAgICAgIGVkaXRvci5vbklucHV0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkN1dChlZGl0b3I6IEVkaXRvciwgZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChlZGl0b3IuaXNWaWV3T25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGVkaXRvci5lbmFibGVTZWxlY3Rpb24oKTtcbiAgICAgICAgZWRpdG9yLm9uQ3V0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uUGFzdGUoZWRpdG9yOiBFZGl0b3IsIGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZWRpdG9yLmlzVmlld09ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBlZGl0b3IuZW5hYmxlU2VsZWN0aW9uKCk7XG4gICAgICAgIGVkaXRvci5vblBhc3RlKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgZWRpdG9yOiBFZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qga2V5Q29tYmluYXRpb24gPSB0aGlzLmdldEtleUNvbWJpbmF0aW9uKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuYWN0aW9uc1trZXlDb21iaW5hdGlvbl0pIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uc1trZXlDb21iaW5hdGlvbl0oZXZlbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxba2V5Q29tYmluYXRpb25dICYmICFlZGl0b3IuaXNWaWV3T25seSkge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFtrZXlDb21iaW5hdGlvbl0oZXZlbnQpO1xuICAgICAgICAgICAgZWRpdG9yLnNjcm9sbEN1cnNvckludG9NYWluVmlldygpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25ba2V5Q29tYmluYXRpb25dKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uW2tleUNvbWJpbmF0aW9uXShldmVudCk7XG4gICAgICAgICAgICBlZGl0b3Iuc2Nyb2xsQ3Vyc29ySW50b01haW5WaWV3KCk7XG4gICAgICAgICAgICBlZGl0b3Iub25TZWxlY3Rpb25DaGFuZ2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBlZGl0b3IuZW5hYmxlU2VsZWN0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RBbGwoZWRpdG9yOiBFZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RBbGwoZWRpdG9yLnNlc3Npb24ubW9kZWwpO1xuICAgICAgICBlZGl0b3Iub25TZWxlY3Rpb25DaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZmlsbEFjdGlvbnMoZWRpdG9yOiBFZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3Rpb25zWydDdHJsLUtleUEnXSA9ICgpID0+IHRoaXMuc2VsZWN0QWxsKGVkaXRvcik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snQ29tbWFuZC1LZXlBJ10gPSAoKSA9PiB0aGlzLnNlbGVjdEFsbChlZGl0b3IpO1xuICAgICAgICB0aGlzLmFjdGlvbnNbJ0N0cmwtS2V5RiddID0gKCkgPT4gZWRpdG9yLm9wZW5TZWFyY2goKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zWydDb21tYW5kLUtleUYnXSA9ICgpID0+IGVkaXRvci5vcGVuU2VhcmNoKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snU2hpZnQtUGFnZURvd24nXSA9ICgpID0+IGVkaXRvci5zZWxlY3RQYWdlRG93bigpO1xuICAgICAgICB0aGlzLmFjdGlvbnNbJ1BhZ2VEb3duJ10gPSAoKSA9PiBlZGl0b3IuZ290b1BhZ2VEb3duKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snU2hpZnQtUGFnZVVwJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0UGFnZVVwKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snUGFnZVVwJ10gPSAoKSA9PiBlZGl0b3IuZ290b1BhZ2VVcCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsbEFjdGlvbnNXaXRoU2Nyb2xsKGVkaXRvcjogRWRpdG9yKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5WiddID0gKCkgPT4gZWRpdG9yLnVuZG8oKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ29tbWFuZC1LZXlaJ10gPSAoKSA9PiBlZGl0b3IudW5kbygpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUtleVknXSA9ICgpID0+IGVkaXRvci5yZWRvKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0NvbW1hbmQtS2V5WSddID0gKCkgPT4gZWRpdG9yLnJlZG8oKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnRGVsZXRlJ10gPSAoKSA9PiBlZGl0b3IucmVtb3ZlUmlnaHQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnU2hpZnQtRGVsZXRlJ10gPSAoKSA9PiBlZGl0b3IucmVtb3ZlUmlnaHQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQmFja3NwYWNlJ10gPSAoKSA9PiBlZGl0b3IucmVtb3ZlTGVmdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydTaGlmdC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVMZWZ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0FsdC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVUb0xpbmVTdGFydCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDb21tYW5kLUJhY2tzcGFjZSddID0gKCkgPT4gZWRpdG9yLnJlbW92ZVRvTGluZVN0YXJ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0FsdC1EZWxldGUnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVUb0xpbmVFbmQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ29tbWFuZC1EZWxldGUnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVUb0xpbmVFbmQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVXb3JkTGVmdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUFsdC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVXb3JkTGVmdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLURlbGV0ZSddID0gKCkgPT4gZWRpdG9yLnJlbW92ZVdvcmRSaWdodCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUFsdC1EZWxldGUnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVXb3JkUmlnaHQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1LZXlMJ10gPSAoKSA9PiBlZGl0b3IuYXBwbHlQYXJhZ3JhcGhTdHlsZXMobmV3IFBhcmFncmFwaFN0eWxlTW9kZWwoeyBhbGlnbm1lbnQ6IEFsaWdubWVudC5sZWZ0IH0pKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1LZXlFJ10gPSAoKSA9PiBlZGl0b3IuYXBwbHlQYXJhZ3JhcGhTdHlsZXMobmV3IFBhcmFncmFwaFN0eWxlTW9kZWwoeyBhbGlnbm1lbnQ6IEFsaWdubWVudC5jZW50ZXIgfSkpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUtleVInXSA9ICgpID0+IGVkaXRvci5hcHBseVBhcmFncmFwaFN0eWxlcyhuZXcgUGFyYWdyYXBoU3R5bGVNb2RlbCh7IGFsaWdubWVudDogQWxpZ25tZW50LnJpZ2h0IH0pKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1LZXlCJ10gPSAoKSA9PiBlZGl0b3IuYXBwbHlUZXh0U3R5bGVCb2xkKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5SSddID0gKCkgPT4gZWRpdG9yLmFwcGx5VGV4dFN0eWxlSXRhbGljKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5VSddID0gKCkgPT4gZWRpdG9yLmFwcGx5VGV4dFN0eWxlVW5kZXJsaW5lKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtRW50ZXInXSA9ICgpID0+IGVkaXRvci5pbnNlcnRCcmVhayhCcmVha1R5cGVzLlBhZ2UpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydTaGlmdC1FbnRlciddID0gKCkgPT4gZWRpdG9yLmluc2VydEJyZWFrKEJyZWFrVHlwZXMuVGV4dFdyYXBwaW5nKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnVGFiJ10gPSAoKSA9PiBlZGl0b3IuaW5zZXJ0VGFiKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5SyddID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBlZGl0b3Iub25Ib3RLZXlEb3duKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbGxBY3Rpb25zV2l0aFNlbGVjdGlvbihlZGl0b3I6IEVkaXRvcik6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDdHJsLVNoaWZ0LUhvbWUnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0RmlsZVN0YXJ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0NvbW1hbmQtU2hpZnQtSG9tZSddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RGaWxlU3RhcnQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1TaGlmdC1BcnJvd1VwJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdEZpbGVTdGFydCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDdHJsLUhvbWUnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlU3RhcnQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1Ib21lJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLm5hdmlnYXRlRmlsZVN0YXJ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0NvbW1hbmQtQXJyb3dVcCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZUZpbGVTdGFydCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydTaGlmdC1BcnJvd1VwJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdFVwKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQXJyb3dVcCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVVwKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1TaGlmdC1FbmQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0RmlsZUVuZChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0NvbW1hbmQtU2hpZnQtRW5kJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdEZpbGVFbmQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDb21tYW5kLVNoaWZ0LUFycm93RG93biddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1FbmQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1FbmQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1BcnJvd0Rvd24nXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnU2hpZnQtQXJyb3dEb3duJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdERvd24oZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydBcnJvd0Rvd24nXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVEb3duKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1TaGlmdC1BcnJvd0xlZnQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0V29yZExlZnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDdHJsLUFycm93TGVmdCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVdvcmRMZWZ0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQWx0LVNoaWZ0LUFycm93TGVmdCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RMaW5lU3RhcnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDb21tYW5kLVNoaWZ0LUFycm93TGVmdCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RMaW5lU3RhcnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydTaGlmdC1Ib21lJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdExpbmVTdGFydChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0FsdC1BcnJvd0xlZnQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVMaW5lU3RhcnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydIb21lJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLm5hdmlnYXRlTGluZVN0YXJ0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnU2hpZnQtQXJyb3dMZWZ0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdExlZnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydBcnJvd0xlZnQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVMZWZ0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1TaGlmdC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdFdvcmRSaWdodChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0N0cmwtQXJyb3dSaWdodCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVdvcmRSaWdodChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0FsdC1TaGlmdC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdExpbmVFbmQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDb21tYW5kLVNoaWZ0LUFycm93UmlnaHQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0TGluZUVuZChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ1NoaWZ0LUVuZCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RMaW5lRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQWx0LUFycm93UmlnaHQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVMaW5lRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLm5hdmlnYXRlTGluZUVuZChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0VuZCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZUxpbmVFbmQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydTaGlmdC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdFJpZ2h0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQXJyb3dSaWdodCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVJpZ2h0KGVkaXRvci5zZXNzaW9uKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export var Mode;
|
|
2
|
-
(function (Mode) {
|
|
3
|
-
Mode[Mode["Edit"] = 0] = "Edit";
|
|
4
|
-
Mode[Mode["Fill"] = 1] = "Fill";
|
|
5
|
-
Mode[Mode["View"] = 2] = "View";
|
|
6
|
-
})(Mode || (Mode = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2ludGVyYWN0aW9uL21vZGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxJQUlYO0FBSkQsV0FBWSxJQUFJO0lBQ1osK0JBQUksQ0FBQTtJQUNKLCtCQUFJLENBQUE7SUFDSiwrQkFBSSxDQUFBO0FBQ1IsQ0FBQyxFQUpXLElBQUksS0FBSixJQUFJLFFBSWYiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBNb2RlIHtcbiAgICBFZGl0LFxuICAgIEZpbGwsXG4gICAgVmlld1xufVxuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export var MouseButton;
|
|
2
|
-
(function (MouseButton) {
|
|
3
|
-
MouseButton[MouseButton["Left"] = 0] = "Left";
|
|
4
|
-
MouseButton[MouseButton["Middle"] = 1] = "Middle";
|
|
5
|
-
MouseButton[MouseButton["Right"] = 2] = "Right";
|
|
6
|
-
})(MouseButton || (MouseButton = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW91c2UtYnV0dG9uLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvaW50ZXJhY3Rpb24vbW91c2UtYnV0dG9uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNuQiw2Q0FBSSxDQUFBO0lBQ0osaURBQU0sQ0FBQTtJQUNOLCtDQUFLLENBQUE7QUFDVCxDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBNb3VzZUJ1dHRvbiB7XG4gICAgTGVmdCxcbiAgICBNaWRkbGUsXG4gICAgUmlnaHRcbn1cbiJdfQ==
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { fromEvent, throttleTime } from 'rxjs';
|
|
2
|
-
import { MouseButton } from './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));
|
|
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
|
-
editor.enableSelection();
|
|
33
|
-
this.clicks = event.detail > 1 && this.clicks < 4 ? this.clicks + 1 : 1;
|
|
34
|
-
switch (this.clicks) {
|
|
35
|
-
case 1:
|
|
36
|
-
editor.onLeftClick(event);
|
|
37
|
-
break;
|
|
38
|
-
case 2:
|
|
39
|
-
editor.onDoubleClick(event);
|
|
40
|
-
break;
|
|
41
|
-
case 3:
|
|
42
|
-
editor.onTripleClick(event);
|
|
43
|
-
break;
|
|
44
|
-
case 4:
|
|
45
|
-
editor.onQuadClick(event);
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW91c2UuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9pbnRlcmFjdGlvbi9tb3VzZS5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsTUFBTSxPQUFPLFlBQVk7SUFXckIsWUFBWSxTQUFlLEVBQUUsTUFBYztRQVZuQyxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBV2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQzthQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3RCLFNBQVMsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFjO1FBQzFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUM7YUFDckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN0QixTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFpQixFQUFFLE1BQWM7UUFDdEQsSUFBSyxLQUFLLENBQUMsTUFBc0IsS0FBSyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ3BELE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsT0FBTztTQUNWO1FBRUQsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2pCLEtBQUssQ0FBQztnQkFDRixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLE1BQU07WUFDVixLQUFLLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUIsTUFBTTtZQUNWLEtBQUssQ0FBQztnQkFDRixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQixNQUFNO1NBQ2I7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJy4uL2V4ZWN1dGlvbi9lZGl0b3InO1xuaW1wb3J0IHsgTW91c2VCdXR0b24gfSBmcm9tICcuL21vdXNlLWJ1dHRvbi5lbnVtJztcblxuZXhwb3J0IGNsYXNzIE1vdXNlSGFuZGxlciB7XG4gICAgcHJpdmF0ZSBjbGlja3MgPSAwO1xuXG4gICAgZG9jdW1lbnRNb3VzZU1vdmUkOiBTdWJzY3JpcHRpb247XG5cbiAgICBkb2N1bWVudE1vdXNlVXAkOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb250YWluZXJXaGVlbCQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnRhaW5lck1vdXNlRG93biQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKGNvbnRhaW5lcjogTm9kZSwgZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXJXaGVlbCQgPSBmcm9tRXZlbnQoY29udGFpbmVyLCAnd2hlZWwnKVxuICAgICAgICAgICAgLnBpcGUodGhyb3R0bGVUaW1lKDIwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBXaGVlbEV2ZW50KSA9PiBlZGl0b3Iub25Nb3VzZVdoZWVsKGV2ZW50KSk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyTW91c2VEb3duJCA9IGZyb21FdmVudChjb250YWluZXIsICdtb3VzZWRvd24nKS5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB0aGlzLm9uTXVsdGlNb3VzZURvd24oZXZlbnQsIGVkaXRvcikpO1xuICAgIH1cblxuICAgIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyV2hlZWwkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmNvbnRhaW5lck1vdXNlRG93biQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZW5kTW91c2VQcmVzcygpO1xuICAgIH1cblxuICAgIHN0YXJ0TW91c2VQcmVzcyhlZGl0b3I6IEVkaXRvcik6IHZvaWQge1xuICAgICAgICB0aGlzLmVuZE1vdXNlUHJlc3MoKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudE1vdXNlTW92ZSQgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZW1vdmUnKVxuICAgICAgICAgICAgLnBpcGUodGhyb3R0bGVUaW1lKDIwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiBlZGl0b3Iub25Nb3VzZVByZXNzZWRNb3ZlKGV2ZW50KSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRNb3VzZVVwJCA9IGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5lbmRNb3VzZVByZXNzKCkpO1xuICAgIH1cblxuICAgIGVuZE1vdXNlUHJlc3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRNb3VzZU1vdmUkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmRvY3VtZW50TW91c2VVcCQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbk11bHRpTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50LCBlZGl0b3I6IEVkaXRvcik6IHZvaWQge1xuICAgICAgICBpZiAoKGV2ZW50LmJ1dHRvbiBhcyBNb3VzZUJ1dHRvbikgIT09IE1vdXNlQnV0dG9uLkxlZnQpIHtcbiAgICAgICAgICAgIGVkaXRvci5vbk1vdXNlQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZWRpdG9yLmVuYWJsZVNlbGVjdGlvbigpO1xuICAgICAgICB0aGlzLmNsaWNrcyA9IGV2ZW50LmRldGFpbCA+IDEgJiYgdGhpcy5jbGlja3MgPCA0ID8gdGhpcy5jbGlja3MgKyAxIDogMTtcbiAgICAgICAgc3dpdGNoICh0aGlzLmNsaWNrcykge1xuICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgIGVkaXRvci5vbkxlZnRDbGljayhldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgZWRpdG9yLm9uRG91YmxlQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgIGVkaXRvci5vblRyaXBsZUNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgICBlZGl0b3Iub25RdWFkQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
export class TextInput {
|
|
2
|
-
constructor(parentElement) {
|
|
3
|
-
this.lastValue = '';
|
|
4
|
-
this.lastSelectionStart = 0;
|
|
5
|
-
this.lastSelectionEnd = 0;
|
|
6
|
-
this.input = document.createElement('textarea');
|
|
7
|
-
this.input.className = 'noder-text-input';
|
|
8
|
-
this.input.id = 'textarea-input';
|
|
9
|
-
this.input.style.opacity = '0';
|
|
10
|
-
this.input.setAttribute('wrap', 'off');
|
|
11
|
-
this.input.setAttribute('autocomplete', 'off');
|
|
12
|
-
this.input.setAttribute('autocorrect', 'off');
|
|
13
|
-
this.input.setAttribute('autocapitalize', 'off');
|
|
14
|
-
this.input.setAttribute('spellcheck', 'false');
|
|
15
|
-
parentElement.insertBefore(this.input, parentElement.firstChild);
|
|
16
|
-
this.isFocused = document.activeElement === this.input;
|
|
17
|
-
}
|
|
18
|
-
getClipboardData(event) {
|
|
19
|
-
const mime = 'text/plain';
|
|
20
|
-
return event.clipboardData.getData(mime);
|
|
21
|
-
}
|
|
22
|
-
getInsertText() {
|
|
23
|
-
const data = this.input.value;
|
|
24
|
-
const selectionStart = this.input.selectionStart;
|
|
25
|
-
const selectionEnd = this.input.selectionEnd;
|
|
26
|
-
let extendLeft = this.lastSelectionStart;
|
|
27
|
-
let extendRight = this.lastValue.length - this.lastSelectionEnd;
|
|
28
|
-
let text = data;
|
|
29
|
-
let i = 0;
|
|
30
|
-
while (extendLeft > 0 && this.lastValue[i] === data[i]) {
|
|
31
|
-
i++;
|
|
32
|
-
extendLeft--;
|
|
33
|
-
}
|
|
34
|
-
text = text.slice(i);
|
|
35
|
-
i = 1;
|
|
36
|
-
while (extendRight > 0 &&
|
|
37
|
-
this.lastValue.length - i > this.lastSelectionStart - 1 &&
|
|
38
|
-
this.lastValue[this.lastValue.length - i] === data[data.length - i]) {
|
|
39
|
-
i++;
|
|
40
|
-
extendRight--;
|
|
41
|
-
}
|
|
42
|
-
let endIndex = text.length - i + 1;
|
|
43
|
-
if (endIndex < 0) {
|
|
44
|
-
endIndex = 0;
|
|
45
|
-
}
|
|
46
|
-
text = text.slice(0, endIndex);
|
|
47
|
-
this.lastValue = data;
|
|
48
|
-
this.lastSelectionStart = selectionStart;
|
|
49
|
-
this.lastSelectionEnd = selectionEnd;
|
|
50
|
-
return text;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9pbnRlcmFjdGlvbi90ZXh0LWlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxTQUFTO0lBV2xCLFlBQVksYUFBMEI7UUFOOUIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLHVCQUFrQixHQUFHLENBQUMsQ0FBQztRQUV2QixxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFHekIsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDO1FBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLGdCQUFnQixDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRS9DLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDM0QsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQXFCO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxhQUFhO1FBQ1QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDOUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDakQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFFN0MsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ3pDLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsT0FBTyxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BELENBQUMsRUFBRSxDQUFDO1lBQ0osVUFBVSxFQUFFLENBQUM7U0FDaEI7UUFFRCxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ04sT0FDSSxXQUFXLEdBQUcsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQztZQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUNyRTtZQUNFLENBQUMsRUFBRSxDQUFDO1lBQ0osV0FBVyxFQUFFLENBQUM7U0FDakI7UUFFRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1lBQ2QsUUFBUSxHQUFHLENBQUMsQ0FBQztTQUNoQjtRQUVELElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsY0FBYyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxZQUFZLENBQUM7UUFFckMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRleHRJbnB1dCB7XG4gICAgaW5wdXQ6IEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG5cbiAgICBpc0ZvY3VzZWQ6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIGxhc3RWYWx1ZSA9ICcnO1xuXG4gICAgcHJpdmF0ZSBsYXN0U2VsZWN0aW9uU3RhcnQgPSAwO1xuXG4gICAgcHJpdmF0ZSBsYXN0U2VsZWN0aW9uRW5kID0gMDtcblxuICAgIGNvbnN0cnVjdG9yKHBhcmVudEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xuICAgICAgICB0aGlzLmlucHV0LmNsYXNzTmFtZSA9ICdub2Rlci10ZXh0LWlucHV0JztcbiAgICAgICAgdGhpcy5pbnB1dC5pZCA9ICd0ZXh0YXJlYS1pbnB1dCc7XG4gICAgICAgIHRoaXMuaW5wdXQuc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICAgICAgdGhpcy5pbnB1dC5zZXRBdHRyaWJ1dGUoJ3dyYXAnLCAnb2ZmJyk7XG4gICAgICAgIHRoaXMuaW5wdXQuc2V0QXR0cmlidXRlKCdhdXRvY29tcGxldGUnLCAnb2ZmJyk7XG4gICAgICAgIHRoaXMuaW5wdXQuc2V0QXR0cmlidXRlKCdhdXRvY29ycmVjdCcsICdvZmYnKTtcbiAgICAgICAgdGhpcy5pbnB1dC5zZXRBdHRyaWJ1dGUoJ2F1dG9jYXBpdGFsaXplJywgJ29mZicpO1xuICAgICAgICB0aGlzLmlucHV0LnNldEF0dHJpYnV0ZSgnc3BlbGxjaGVjaycsICdmYWxzZScpO1xuXG4gICAgICAgIHBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuaW5wdXQsIHBhcmVudEVsZW1lbnQuZmlyc3RDaGlsZCk7XG5cbiAgICAgICAgdGhpcy5pc0ZvY3VzZWQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSB0aGlzLmlucHV0O1xuICAgIH1cblxuICAgIGdldENsaXBib2FyZERhdGEoZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbWltZSA9ICd0ZXh0L3BsYWluJztcbiAgICAgICAgcmV0dXJuIGV2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0YShtaW1lKTtcbiAgICB9XG5cbiAgICBnZXRJbnNlcnRUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmlucHV0LnZhbHVlO1xuICAgICAgICBjb25zdCBzZWxlY3Rpb25TdGFydCA9IHRoaXMuaW5wdXQuc2VsZWN0aW9uU3RhcnQ7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbkVuZCA9IHRoaXMuaW5wdXQuc2VsZWN0aW9uRW5kO1xuXG4gICAgICAgIGxldCBleHRlbmRMZWZ0ID0gdGhpcy5sYXN0U2VsZWN0aW9uU3RhcnQ7XG4gICAgICAgIGxldCBleHRlbmRSaWdodCA9IHRoaXMubGFzdFZhbHVlLmxlbmd0aCAtIHRoaXMubGFzdFNlbGVjdGlvbkVuZDtcbiAgICAgICAgbGV0IHRleHQgPSBkYXRhO1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIHdoaWxlIChleHRlbmRMZWZ0ID4gMCAmJiB0aGlzLmxhc3RWYWx1ZVtpXSA9PT0gZGF0YVtpXSkge1xuICAgICAgICAgICAgaSsrO1xuICAgICAgICAgICAgZXh0ZW5kTGVmdC0tO1xuICAgICAgICB9XG5cbiAgICAgICAgdGV4dCA9IHRleHQuc2xpY2UoaSk7XG5cbiAgICAgICAgaSA9IDE7XG4gICAgICAgIHdoaWxlIChcbiAgICAgICAgICAgIGV4dGVuZFJpZ2h0ID4gMCAmJlxuICAgICAgICAgICAgdGhpcy5sYXN0VmFsdWUubGVuZ3RoIC0gaSA+IHRoaXMubGFzdFNlbGVjdGlvblN0YXJ0IC0gMSAmJlxuICAgICAgICAgICAgdGhpcy5sYXN0VmFsdWVbdGhpcy5sYXN0VmFsdWUubGVuZ3RoIC0gaV0gPT09IGRhdGFbZGF0YS5sZW5ndGggLSBpXVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGkrKztcbiAgICAgICAgICAgIGV4dGVuZFJpZ2h0LS07XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZW5kSW5kZXggPSB0ZXh0Lmxlbmd0aCAtIGkgKyAxO1xuICAgICAgICBpZiAoZW5kSW5kZXggPCAwKSB7XG4gICAgICAgICAgICBlbmRJbmRleCA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0ZXh0ID0gdGV4dC5zbGljZSgwLCBlbmRJbmRleCk7XG5cbiAgICAgICAgdGhpcy5sYXN0VmFsdWUgPSBkYXRhO1xuICAgICAgICB0aGlzLmxhc3RTZWxlY3Rpb25TdGFydCA9IHNlbGVjdGlvblN0YXJ0O1xuICAgICAgICB0aGlzLmxhc3RTZWxlY3Rpb25FbmQgPSBzZWxlY3Rpb25FbmQ7XG5cbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxufVxuIl19
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class CommandsService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this._createCommand$ = new Subject();
|
|
7
|
-
}
|
|
8
|
-
createCommand(command) {
|
|
9
|
-
this._createCommand$.next(command);
|
|
10
|
-
}
|
|
11
|
-
get createCommand$() {
|
|
12
|
-
return this._createCommand$.asObservable();
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommandsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommandsService }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommandsService, decorators: [{
|
|
18
|
-
type: Injectable
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9vcGVyYXRpb25zL2NvbW1hbmRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUszQyxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQVNZLG9CQUFlLEdBQTBCLElBQUksT0FBTyxFQUFnQixDQUFDO0tBQ2hGO0lBUkcsYUFBYSxDQUFDLE9BQXFCO1FBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsQ0FBQzsrR0FQUSxlQUFlO21IQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENvbW1hbmRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvY29tbWFuZC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb21tYW5kc1NlcnZpY2Uge1xuICAgIGNyZWF0ZUNvbW1hbmQoY29tbWFuZDogQ29tbWFuZE1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NyZWF0ZUNvbW1hbmQkLm5leHQoY29tbWFuZCk7XG4gICAgfVxuXG4gICAgZ2V0IGNyZWF0ZUNvbW1hbmQkKCk6IE9ic2VydmFibGU8Q29tbWFuZE1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVDb21tYW5kJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfY3JlYXRlQ29tbWFuZCQ6IFN1YmplY3Q8Q29tbWFuZE1vZGVsPiA9IG5ldyBTdWJqZWN0PENvbW1hbmRNb2RlbD4oKTtcbn1cbiJdfQ==
|
|
@@ -1,32 +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["RemoveTableColumns"] = 17] = "RemoveTableColumns";
|
|
21
|
-
CommandType[CommandType["RemoveTableRows"] = 18] = "RemoveTableRows";
|
|
22
|
-
CommandType[CommandType["ResizeTableColumns"] = 19] = "ResizeTableColumns";
|
|
23
|
-
CommandType[CommandType["RestoreTable"] = 20] = "RestoreTable";
|
|
24
|
-
CommandType[CommandType["InsertTable"] = 21] = "InsertTable";
|
|
25
|
-
CommandType[CommandType["InsertImage"] = 22] = "InsertImage";
|
|
26
|
-
CommandType[CommandType["RemoveNumberings"] = 23] = "RemoveNumberings";
|
|
27
|
-
CommandType[CommandType["RestoreNumberings"] = 24] = "RestoreNumberings";
|
|
28
|
-
CommandType[CommandType["Replace"] = 25] = "Replace";
|
|
29
|
-
CommandType[CommandType["InsertLink"] = 26] = "InsertLink";
|
|
30
|
-
CommandType[CommandType["InsertParagraph"] = 27] = "InsertParagraph";
|
|
31
|
-
})(CommandType || (CommandType = {}));
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3Ivb3BlcmF0aW9ucy9lbnVtcy9jb21tYW5kLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQTZCWDtBQTdCRCxXQUFZLFdBQVc7SUFDbkIsaURBQU0sQ0FBQTtJQUNOLHlEQUFVLENBQUE7SUFDVixxRUFBZ0IsQ0FBQTtJQUNoQiwrREFBYSxDQUFBO0lBQ2IsbURBQU8sQ0FBQTtJQUNQLHVFQUFpQixDQUFBO0lBQ2pCLGlGQUFzQixDQUFBO0lBQ3RCLGlFQUFjLENBQUE7SUFDZCwyRUFBbUIsQ0FBQTtJQUNuQiwrREFBYSxDQUFBO0lBQ2IsNERBQVcsQ0FBQTtJQUNYLHdFQUFpQixDQUFBO0lBQ2pCLG9FQUFlLENBQUE7SUFDZiw4REFBWSxDQUFBO0lBQ1osd0RBQVMsQ0FBQTtJQUNULDBFQUFrQixDQUFBO0lBQ2xCLG9FQUFlLENBQUE7SUFDZiwwRUFBa0IsQ0FBQTtJQUNsQixvRUFBZSxDQUFBO0lBQ2YsMEVBQWtCLENBQUE7SUFDbEIsOERBQVksQ0FBQTtJQUNaLDREQUFXLENBQUE7SUFDWCw0REFBVyxDQUFBO0lBQ1gsc0VBQWdCLENBQUE7SUFDaEIsd0VBQWlCLENBQUE7SUFDakIsb0RBQU8sQ0FBQTtJQUNQLDBEQUFVLENBQUE7SUFDVixvRUFBZSxDQUFBO0FBQ25CLENBQUMsRUE3QlcsV0FBVyxLQUFYLFdBQVcsUUE2QnRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ29tbWFuZFR5cGUge1xuICAgIERlbGV0ZSxcbiAgICBJbnNlcnRUZXh0LFxuICAgIEluc2VydFN0eWxlZFRleHQsXG4gICAgUmVwbGFjZUJ5VGV4dCxcbiAgICBSZXN0b3JlLFxuICAgIFJlc3RvcmVUZXh0U3R5bGVzLFxuICAgIFJlc3RvcmVQYXJhZ3JhcGhTdHlsZXMsXG4gICAgQXBwbHlUZXh0U3R5bGUsXG4gICAgQXBwbHlQYXJhZ3JhcGhTdHlsZSxcbiAgICBJbnNlcnRFbGVtZW50LFxuICAgIEluc2VydEJyZWFrLFxuICAgIEFwcGx5RWxlbWVudFN0eWxlLFxuICAgIEFwcGx5SW1hZ2VTdHlsZSxcbiAgICBBZGROdW1iZXJpbmcsXG4gICAgSW5zZXJ0VGFiLFxuICAgIEluc2VydFRhYmxlQ29sdW1ucyxcbiAgICBJbnNlcnRUYWJsZVJvd3MsXG4gICAgUmVtb3ZlVGFibGVDb2x1bW5zLFxuICAgIFJlbW92ZVRhYmxlUm93cyxcbiAgICBSZXNpemVUYWJsZUNvbHVtbnMsXG4gICAgUmVzdG9yZVRhYmxlLFxuICAgIEluc2VydFRhYmxlLFxuICAgIEluc2VydEltYWdlLFxuICAgIFJlbW92ZU51bWJlcmluZ3MsXG4gICAgUmVzdG9yZU51bWJlcmluZ3MsXG4gICAgUmVwbGFjZSxcbiAgICBJbnNlcnRMaW5rLFxuICAgIEluc2VydFBhcmFncmFwaFxufVxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9vcGVyYXRpb25zL2VudW1zL3RhcmdldC10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUFJWDtBQUpELFdBQVksVUFBVTtJQUNsQixtREFBUSxDQUFBO0lBQ1IscURBQVMsQ0FBQTtJQUNULDJDQUFJLENBQUE7QUFDUixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBUYXJnZXRUeXBlIHtcbiAgICBEb2N1bWVudCxcbiAgICBUYWJsZUNlbGwsXG4gICAgRWRnZVxufVxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWstb3BlcmF0aW9ucy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3Ivb3BlcmF0aW9ucy9oZWxwZXJzL2JyZWFrLW9wZXJhdGlvbnMuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVyRixNQUFNLE9BQU8scUJBQXFCO0lBQzlCLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBc0IsRUFBRSxLQUFhLEVBQUUsU0FBcUIsRUFBRSxNQUFjO1FBQzdGLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLDhCQUE4QixDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2JyZWFrLm1vZGVsJztcbmltcG9ydCB7IEJyZWFrVHlwZXMgfSBmcm9tICcuLi8uLi9nYWRnZXRzL3BhZ2UtYnJlYWsvYnJlYWstdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBJbmRleGVkRWxlbWVudE9wZXJhdGlvbnNIZWxwZXIgfSBmcm9tICcuL2luZGV4ZWQtZWxlbWVudC1vcGVyYXRpb25zLmhlbHBlcic7XG5cbmV4cG9ydCBjbGFzcyBCcmVha09wZXJhdGlvbnNIZWxwZXIge1xuICAgIHN0YXRpYyBpbnNlcnRDb250ZW50KGVsZW1lbnRzOiBCcmVha01vZGVsW10sIGluZGV4OiBudW1iZXIsIGJyZWFrVHlwZTogQnJlYWtUeXBlcywgbGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IG5ldyBCcmVha01vZGVsKHsgaW5zZXJ0SW5kZXg6IGluZGV4LCBicmVha1R5cGUgfSk7XG4gICAgICAgIEluZGV4ZWRFbGVtZW50T3BlcmF0aW9uc0hlbHBlci5pbnNlcnQoZWxlbWVudHMsIGVsZW1lbnQsIGxlbmd0aCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export class ContentOperationsHelper {
|
|
2
|
-
static removeContent(content, startIndex, count) {
|
|
3
|
-
return `${content.slice(0, startIndex)}${content.slice(startIndex + count, 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 - startIndex + 1);
|
|
12
|
-
return this.insertContent(reduced, text, startIndex);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1vcGVyYXRpb25zLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9vcGVyYXRpb25zL2hlbHBlcnMvY29udGVudC1vcGVyYXRpb25zLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBZSxFQUFFLFVBQWtCLEVBQUUsS0FBYTtRQUNuRSxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ2pHLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWUsRUFBRSxJQUFZLEVBQUUsS0FBYTtRQUM3RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsT0FBTyxHQUFHLE1BQU0sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBZSxFQUFFLFVBQWtCLEVBQUUsUUFBZ0IsRUFBRSxJQUFZO1FBQ3JGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25GLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDb250ZW50T3BlcmF0aW9uc0hlbHBlciB7XG4gICAgc3RhdGljIHJlbW92ZUNvbnRlbnQoY29udGVudDogc3RyaW5nLCBzdGFydEluZGV4OiBudW1iZXIsIGNvdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7Y29udGVudC5zbGljZSgwLCBzdGFydEluZGV4KX0ke2NvbnRlbnQuc2xpY2Uoc3RhcnRJbmRleCArIGNvdW50LCBjb250ZW50Lmxlbmd0aCl9YDtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW5zZXJ0Q29udGVudChjb250ZW50OiBzdHJpbmcsIHRleHQ6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGJlZm9yZSA9IGNvbnRlbnQuc2xpY2UoMCwgaW5kZXgpO1xuICAgICAgICBjb25zdCBhZnRlciA9IGNvbnRlbnQuc2xpY2UoaW5kZXgsIGNvbnRlbnQubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIGAke2JlZm9yZX0ke3RleHR9JHthZnRlcn1gO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXBsYWNlQ29udGVudChjb250ZW50OiBzdHJpbmcsIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgdGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcmVkdWNlZCA9IHRoaXMucmVtb3ZlQ29udGVudChjb250ZW50LCBzdGFydEluZGV4LCBlbmRJbmRleCAtIHN0YXJ0SW5kZXggKyAxKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5zZXJ0Q29udGVudChyZWR1Y2VkLCB0ZXh0LCBzdGFydEluZGV4KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { ContentStyleHelper } from '../../content/helpers/content-style.helper';
|
|
2
|
-
import { FormatModel } from '../../../models/generated/format.model';
|
|
3
|
-
import { FormatStyleHelper } from '../../execution/helpers/format-style.helper';
|
|
4
|
-
import { TextStyleModel } from '../../../models/generated/text-style.model';
|
|
5
|
-
export class FormatOperationsHelper {
|
|
6
|
-
static removeContent(formats, startIndex, endIndex) {
|
|
7
|
-
const length = endIndex - startIndex + 1;
|
|
8
|
-
for (let i = formats.length - 1; i >= 0; i--) {
|
|
9
|
-
if (formats[i].startIndex >= startIndex && formats[i].endIndex <= endIndex) {
|
|
10
|
-
formats.splice(i, 1);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
formats.forEach(x => {
|
|
14
|
-
if (x.startIndex >= startIndex && x.startIndex <= endIndex) {
|
|
15
|
-
x.startIndex = startIndex;
|
|
16
|
-
}
|
|
17
|
-
else if (x.startIndex > endIndex) {
|
|
18
|
-
x.startIndex -= length;
|
|
19
|
-
}
|
|
20
|
-
if (x.endIndex >= startIndex && x.endIndex <= endIndex) {
|
|
21
|
-
x.endIndex = startIndex - 1;
|
|
22
|
-
}
|
|
23
|
-
else if (x.endIndex > endIndex) {
|
|
24
|
-
x.endIndex -= length;
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
FormatStyleHelper.mergeFormats(formats, startIndex - 1, startIndex);
|
|
28
|
-
}
|
|
29
|
-
static insertContent(formats, index, textLength) {
|
|
30
|
-
formats.forEach(x => {
|
|
31
|
-
if (x.startIndex > index || (x.startIndex === index && index !== 0)) {
|
|
32
|
-
x.startIndex += textLength;
|
|
33
|
-
}
|
|
34
|
-
if (x.endIndex >= index - 1) {
|
|
35
|
-
x.endIndex += textLength;
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
static insertStyledContent(formats, index, textLength, style) {
|
|
40
|
-
this.insertContent(formats, index, textLength);
|
|
41
|
-
this.apply(formats, index, index + textLength - 1, style);
|
|
42
|
-
}
|
|
43
|
-
static restore(formats, index, textLength, textFormats) {
|
|
44
|
-
this.insertContent(formats, index, textLength);
|
|
45
|
-
this.restoreFormats(formats, textFormats);
|
|
46
|
-
}
|
|
47
|
-
static replaceContent(formats, startIndex, endIndex, textLength) {
|
|
48
|
-
this.removeContent(formats, startIndex, endIndex);
|
|
49
|
-
this.insertContent(formats, startIndex, textLength);
|
|
50
|
-
}
|
|
51
|
-
static restoreFormats(formats, textFormats) {
|
|
52
|
-
textFormats.forEach(x => this.apply(formats, x.startIndex, x.endIndex, x.textStyle));
|
|
53
|
-
}
|
|
54
|
-
static apply(formats, startIndex, endIndex, style) {
|
|
55
|
-
let firstIndex = formats.findIndex(x => x.endIndex >= startIndex);
|
|
56
|
-
if (formats[firstIndex].startIndex < startIndex) {
|
|
57
|
-
const model = new FormatModel({
|
|
58
|
-
startIndex: formats[firstIndex].startIndex,
|
|
59
|
-
endIndex: startIndex - 1,
|
|
60
|
-
textStyle: new TextStyleModel(formats[firstIndex].textStyle)
|
|
61
|
-
});
|
|
62
|
-
formats[firstIndex].startIndex = startIndex;
|
|
63
|
-
formats.splice(firstIndex, 0, model);
|
|
64
|
-
firstIndex++;
|
|
65
|
-
}
|
|
66
|
-
let lastIndex = firstIndex;
|
|
67
|
-
while (lastIndex < formats.length - 1 && formats[lastIndex].endIndex < endIndex) {
|
|
68
|
-
lastIndex++;
|
|
69
|
-
}
|
|
70
|
-
if (formats[lastIndex].endIndex > endIndex) {
|
|
71
|
-
const model = new FormatModel({
|
|
72
|
-
startIndex: endIndex + 1,
|
|
73
|
-
endIndex: formats[lastIndex].endIndex,
|
|
74
|
-
textStyle: new TextStyleModel(formats[lastIndex].textStyle)
|
|
75
|
-
});
|
|
76
|
-
formats[lastIndex].endIndex = endIndex;
|
|
77
|
-
formats.splice(lastIndex + 1, 0, model);
|
|
78
|
-
}
|
|
79
|
-
for (let i = firstIndex; i <= lastIndex; i++) {
|
|
80
|
-
formats[i].textStyle = ContentStyleHelper.combineTextStyles(style, formats[i].textStyle);
|
|
81
|
-
}
|
|
82
|
-
FormatStyleHelper.mergeFormats(formats, startIndex - 1, endIndex + 1);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW9wZXJhdGlvbnMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL29wZXJhdGlvbnMvaGVscGVycy9mb3JtYXQtb3BlcmF0aW9ucy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUU1RSxNQUFNLE9BQU8sc0JBQXNCO0lBQy9CLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBc0IsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQzdFLE1BQU0sTUFBTSxHQUFHLFFBQVEsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxFQUFFO2dCQUN4RSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN4QjtTQUNKO1FBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksUUFBUSxFQUFFO2dCQUN4RCxDQUFDLENBQUMsVUFBVSxHQUFH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Q0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDNUY7UUFDRCxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRTdHlsZUhlbHBlciB9IGZyb20gJy4uLy4uL2NvbnRlbnQvaGVscGVycy9jb250ZW50LXN0eWxlLmhlbHBlcic7XG5pbXBvcnQgeyBGb3JtYXRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvZm9ybWF0Lm1vZGVsJztcbmltcG9ydCB7IEZvcm1hdFN0eWxlSGVscGVyIH0gZnJvbSAnLi4vLi4vZXhlY3V0aW9uL2hlbHBlcnMvZm9ybWF0LXN0eWxlLmhlbHBlcic7XG5pbXBvcnQgeyBUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGV4dC1zdHlsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBGb3JtYXRPcGVyYXRpb25zSGVscGVyIHtcbiAgICBzdGF0aWMgcmVtb3ZlQ29udGVudChmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCBzdGFydEluZGV4OiBudW1iZXIsIGVuZEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gZW5kSW5kZXggLSBzdGFydEluZGV4ICsgMTtcbiAgICAgICAgZm9yIChsZXQgaSA9IGZvcm1hdHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIGlmIChmb3JtYXRzW2ldLnN0YXJ0SW5kZXggPj0gc3RhcnRJbmRleCAmJiBmb3JtYXRzW2ldLmVuZEluZGV4IDw9IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgZm9ybWF0cy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtYXRzLmZvckVhY2goeCA9PiB7XG4gICAgICAgICAgICBpZiAoeC5zdGFydEluZGV4ID49IHN0YXJ0SW5kZXggJiYgeC5zdGFydEluZGV4IDw9IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgeC5zdGFydEluZGV4ID0gc3RhcnRJbmRleDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoeC5zdGFydEluZGV4ID4gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICB4LnN0YXJ0SW5kZXggLT0gbGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHguZW5kSW5kZXggPj0gc3RhcnRJbmRleCAmJiB4LmVuZEluZGV4IDw9IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgeC5lbmRJbmRleCA9IHN0YXJ0SW5kZXggLSAxO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh4LmVuZEluZGV4ID4gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICB4LmVuZEluZGV4IC09IGxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgRm9ybWF0U3R5bGVIZWxwZXIubWVyZ2VGb3JtYXRzKGZvcm1hdHMsIHN0YXJ0SW5kZXggLSAxLCBzdGFydEluZGV4KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW5zZXJ0Q29udGVudChmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCBpbmRleDogbnVtYmVyLCB0ZXh0TGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgZm9ybWF0cy5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgaWYgKHguc3RhcnRJbmRleCA+IGluZGV4IHx8ICh4LnN0YXJ0SW5kZXggPT09IGluZGV4ICYmIGluZGV4ICE9PSAwKSkge1xuICAgICAgICAgICAgICAgIHguc3RhcnRJbmRleCArPSB0ZXh0TGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHguZW5kSW5kZXggPj0gaW5kZXggLSAxKSB7XG4gICAgICAgICAgICAgICAgeC5lbmRJbmRleCArPSB0ZXh0TGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW5zZXJ0U3R5bGVkQ29udGVudChmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCBpbmRleDogbnVtYmVyLCB0ZXh0TGVuZ3RoOiBudW1iZXIsIHN0eWxlOiBUZXh0U3R5bGVNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluc2VydENvbnRlbnQoZm9ybWF0cywgaW5kZXgsIHRleHRMZW5ndGgpO1xuICAgICAgICB0aGlzLmFwcGx5KGZvcm1hdHMsIGluZGV4LCBpbmRleCArIHRleHRMZW5ndGggLSAxLCBzdHlsZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIHJlc3RvcmUoZm9ybWF0czogRm9ybWF0TW9kZWxbXSwgaW5kZXg6IG51bWJlciwgdGV4dExlbmd0aDogbnVtYmVyLCB0ZXh0Rm9ybWF0czogRm9ybWF0TW9kZWxbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmluc2VydENvbnRlbnQoZm9ybWF0cywgaW5kZXgsIHRleHRMZW5ndGgpO1xuICAgICAgICB0aGlzLnJlc3RvcmVGb3JtYXRzKGZvcm1hdHMsIHRleHRGb3JtYXRzKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcmVwbGFjZUNvbnRlbnQoZm9ybWF0czogRm9ybWF0TW9kZWxbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyLCB0ZXh0TGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVDb250ZW50KGZvcm1hdHMsIHN0YXJ0SW5kZXgsIGVuZEluZGV4KTtcbiAgICAgICAgdGhpcy5pbnNlcnRDb250ZW50KGZvcm1hdHMsIHN0YXJ0SW5kZXgsIHRleHRMZW5ndGgpO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXN0b3JlRm9ybWF0cyhmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCB0ZXh0Rm9ybWF0czogRm9ybWF0TW9kZWxbXSk6IHZvaWQge1xuICAgICAgICB0ZXh0Rm9ybWF0cy5mb3JFYWNoKHggPT4gdGhpcy5hcHBseShmb3JtYXRzLCB4LnN0YXJ0SW5kZXgsIHguZW5kSW5kZXgsIHgudGV4dFN0eWxlKSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGFwcGx5KGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgc3R5bGU6IFRleHRTdHlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGxldCBmaXJzdEluZGV4ID0gZm9ybWF0cy5maW5kSW5kZXgoeCA9PiB4LmVuZEluZGV4ID49IHN0YXJ0SW5kZXgpO1xuICAgICAgICBpZiAoZm9ybWF0c1tmaXJzdEluZGV4XS5zdGFydEluZGV4IDwgc3RhcnRJbmRleCkge1xuICAgICAgICAgICAgY29uc3QgbW9kZWwgPSBuZXcgRm9ybWF0TW9kZWwoe1xuICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXg6IGZvcm1hdHNbZmlyc3RJbmRleF0uc3RhcnRJbmRleCxcbiAgICAgICAgICAgICAgICBlbmRJbmRleDogc3RhcnRJbmRleCAtIDEsXG4gICAgICAgICAgICAgICAgdGV4dFN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoZm9ybWF0c1tmaXJzdEluZGV4XS50ZXh0U3R5bGUpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGZvcm1hdHNbZmlyc3RJbmRleF0uc3RhcnRJbmRleCA9IHN0YXJ0SW5kZXg7XG4gICAgICAgICAgICBmb3JtYXRzLnNwbGljZShmaXJzdEluZGV4LCAwLCBtb2RlbCk7XG4gICAgICAgICAgICBmaXJzdEluZGV4Kys7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGxhc3RJbmRleCA9IGZpcnN0SW5kZXg7XG4gICAgICAgIHdoaWxlIChsYXN0SW5kZXggPCBmb3JtYXRzLmxlbmd0aCAtIDEgJiYgZm9ybWF0c1tsYXN0SW5kZXhdLmVuZEluZGV4IDwgZW5kSW5kZXgpIHtcbiAgICAgICAgICAgIGxhc3RJbmRleCsrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtYXRzW2xhc3RJbmRleF0uZW5kSW5kZXggPiBlbmRJbmRleCkge1xuICAgICAgICAgICAgY29uc3QgbW9kZWwgPSBuZXcgRm9ybWF0TW9kZWwoe1xuICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXg6IGVuZEluZGV4ICsgMSxcbiAgICAgICAgICAgICAgICBlbmRJbmRleDogZm9ybWF0c1tsYXN0SW5kZXhdLmVuZEluZGV4LFxuICAgICAgICAgICAgICAgIHRleHRTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKGZvcm1hdHNbbGFzdEluZGV4XS50ZXh0U3R5bGUpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGZvcm1hdHNbbGFzdEluZGV4XS5lbmRJbmRleCA9IGVuZEluZGV4O1xuICAgICAgICAgICAgZm9ybWF0cy5zcGxpY2UobGFzdEluZGV4ICsgMSwgMCwgbW9kZWwpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGkgPSBmaXJzdEluZGV4OyBpIDw9IGxhc3RJbmRleDsgaSsrKSB7XG4gICAgICAgICAgICBmb3JtYXRzW2ldLnRleHRTdHlsZSA9IENvbnRlbnRTdHlsZUhlbHBlci5jb21iaW5lVGV4dFN0eWxlcyhzdHlsZSwgZm9ybWF0c1tpXS50ZXh0U3R5bGUpO1xuICAgICAgICB9XG4gICAgICAgIEZvcm1hdFN0eWxlSGVscGVyLm1lcmdlRm9ybWF0cyhmb3JtYXRzLCBzdGFydEluZGV4IC0gMSwgZW5kSW5kZXggKyAxKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utb3BlcmF0aW9ucy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3Ivb3BlcmF0aW9ucy9oZWxwZXJzL2ltYWdlLW9wZXJhdGlvbnMuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVyRixNQUFNLE9BQU8scUJBQXFCO0lBQzlCLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBb0IsRUFBRSxLQUEyQjtRQUMxRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzFCLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFvQixFQUFFLEtBQWEsRUFBRSxTQUF5QjtRQUMvRSxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUN6QixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDeEIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1lBQ3RCLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztZQUMxQixXQUFXLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUM7UUFFSCw4QkFBOEIsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGx5SW1hZ2VTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9hcHBseS1pbWFnZS1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBJbWFnZURhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW1hZ2UtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBJbWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbWFnZS5tb2RlbCc7XG5pbXBvcnQgeyBJbmRleGVkRWxlbWVudE9wZXJhdGlvbnNIZWxwZXIgfSBmcm9tICcuL2luZGV4ZWQtZWxlbWVudC1vcGVyYXRpb25zLmhlbHBlcic7XG5cbmV4cG9ydCBjbGFzcyBJbWFnZU9wZXJhdGlvbnNIZWxwZXIge1xuICAgIHN0YXRpYyBhcHBseShpbWFnZXM6IEltYWdlTW9kZWxbXSwgbW9kZWw6IEFwcGx5SW1hZ2VTdHlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGltYWdlID0gaW1hZ2VzLmZpbmQoeCA9PiB4Lmluc2VydEluZGV4ID09PSBtb2RlbC5pbnNlcnRJbmRleCk7XG4gICAgICAgIGltYWdlLndpZHRoID0gbW9kZWwud2lkdGg7XG4gICAgICAgIGltYWdlLmhlaWdodCA9IG1vZGVsLmhlaWdodDtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW5zZXJ0Q29udGVudChpbWFnZXM6IEltYWdlTW9kZWxbXSwgaW5kZXg6IG51bWJlciwgaW1hZ2VEYXRhOiBJbWFnZURhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZU1vZGVsKHtcbiAgICAgICAgICAgIGhlaWdodDogaW1hZ2VEYXRhLmhlaWdodCxcbiAgICAgICAgICAgIHdpZHRoOiBpbWFnZURhdGEud2lkdGgsXG4gICAgICAgICAgICBjb250ZW50OiBpbWFnZURhdGEuY29udGVudCxcbiAgICAgICAgICAgIGluc2VydEluZGV4OiBpbmRleFxuICAgICAgICB9KTtcblxuICAgICAgICBJbmRleGVkRWxlbWVudE9wZXJhdGlvbnNIZWxwZXIuaW5zZXJ0KGltYWdlcywgaW1hZ2UpO1xuICAgIH1cbn1cbiJdfQ==
|