@talrace/ngx-noder 0.0.7 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -66
- package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +67 -0
- package/esm2022/lib/apart-components/add-link-dialog/validation.helper.mjs +7 -0
- package/esm2022/lib/apart-components/add-link-mobile/add-link-mobile.component.mjs +47 -0
- package/esm2022/lib/apart-components/confirm-dialog/confirm-dialog.component.mjs +32 -0
- package/esm2022/lib/apart-components/editor-search/editor-search-dialog.component.mjs +64 -0
- package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +89 -0
- package/esm2022/lib/apart-components/editor-title-mobile/editor-title-mobile.component.mjs +22 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +117 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/color-picker/color-picker.component.mjs +37 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +49 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +90 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-style/font-style.component.mjs +81 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/format/format.component.mjs +28 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.mjs +22 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/numbering/numbering.component.mjs +53 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/print/print.component.mjs +18 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/undo-redo/undo-redo.component.mjs +27 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/zoom/zoom.component.mjs +71 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +94 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.mjs +24 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +65 -0
- package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +84 -0
- package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +90 -0
- package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar.module.mjs +117 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.mjs +8 -0
- package/esm2022/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/constants/numbering-templates.const.mjs +6 -6
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/svg-icons.const.mjs +157 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/alignment.enum.mjs +8 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.mjs +11 -0
- package/esm2022/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/enums/numbering-template-type.enum.mjs +1 -1
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-type.enum.mjs +6 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/custom-icon.service.mjs +34 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.mjs +26 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs +60 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +48 -0
- package/esm2022/lib/apart-components/insert-table/insert-table.component.mjs +54 -0
- package/esm2022/lib/apart-components/insert-table-mobile/insert-table-mobile.component.mjs +84 -0
- package/esm2022/lib/apart-components/text-format-mobile/text-format-mobile.component.mjs +123 -0
- package/esm2022/lib/editor/components/edges/edge-element.model.mjs +9 -0
- package/esm2022/lib/editor/components/edges/edge-type.enum.mjs +6 -0
- package/esm2022/lib/editor/components/edges/edge.component.mjs +99 -0
- package/esm2022/lib/editor/components/edges/edges.mjs +127 -0
- package/esm2022/lib/editor/components/edges/page-type.enum.mjs +7 -0
- package/esm2022/lib/editor/components/editor.component.mjs +112 -0
- package/esm2022/lib/editor/components/external-element/external-element.service.mjs +6 -0
- package/esm2022/lib/editor/components/external-element/external-elements.const.mjs +4 -0
- package/esm2022/lib/editor/components/external-element/external-sidenav.interface.mjs +2 -0
- package/esm2022/lib/editor/components/external-element/external.component.mjs +41 -0
- package/esm2022/lib/editor/components/external-element/models/element-data.model.mjs +9 -0
- package/esm2022/lib/editor/components/external-element/models/external-element.model.mjs +11 -0
- package/esm2022/lib/editor/components/external-element/models/external-sidenav.model.mjs +15 -0
- package/esm2022/lib/editor/components/image/components/image.component.mjs +88 -0
- package/esm2022/lib/editor/components/image/image-api.service.mjs +36 -0
- package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +55 -0
- package/esm2022/lib/editor/components/image/resizer/coordinate.mjs +2 -0
- package/esm2022/lib/editor/components/image/resizer/direction-wrapper.mjs +19 -0
- package/esm2022/lib/editor/components/image/resizer/direction.enum.mjs +12 -0
- package/esm2022/lib/editor/components/image/resizer/resizer.component.mjs +106 -0
- package/esm2022/lib/editor/components/image/resizer/size-delta.mjs +2 -0
- package/esm2022/lib/editor/components/image/resizer/size-wrapper.mjs +52 -0
- package/esm2022/lib/editor/components/image/size.mjs +2 -0
- package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +59 -0
- package/esm2022/lib/editor/components/shared/abstract/destroy.component.mjs +18 -0
- package/esm2022/lib/editor/components/shared/custom-component.hepler.mjs +43 -0
- package/esm2022/lib/editor/components/shared/custom-components.interface.mjs +2 -0
- package/esm2022/lib/editor/components/shared/custom-content-markers.const.mjs +3 -0
- package/esm2022/lib/editor/components/shared/custom-content.mjs +2 -0
- package/esm2022/lib/editor/components/shared/services/component.service.mjs +64 -0
- package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +129 -0
- package/esm2022/lib/editor/components/shared/services/overlay.service.mjs +55 -0
- package/esm2022/lib/editor/components/tab/tab.component.mjs +44 -0
- package/esm2022/lib/editor/components/tab/tab.helper.mjs +6 -0
- package/esm2022/lib/editor/components/table/cell-resizer/cell-resizer.mjs +118 -0
- package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +97 -0
- package/esm2022/lib/editor/components/table/components/table.component.mjs +410 -0
- package/esm2022/lib/{+shared/editor/core → editor/components/table}/enums/hrule.enum.mjs +1 -1
- package/esm2022/lib/editor/components/table/enums/reisizer-side.enum.mjs +8 -0
- package/esm2022/lib/editor/components/table/enums/vertical-merge.enum.mjs +6 -0
- package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +17 -0
- package/esm2022/lib/editor/components/table/models/cell-resizer-parameters.model.mjs +9 -0
- package/esm2022/lib/editor/components/table/models/row-data.model.mjs +8 -0
- package/esm2022/lib/editor/components/table/models/selection-range.model.mjs +7 -0
- package/esm2022/lib/editor/components/table/overlay-menu/overlay-menu.component.mjs +74 -0
- package/esm2022/lib/editor/components/table/selection/table-selection.mjs +376 -0
- package/esm2022/lib/editor/content/constants/display-values.const.mjs +8 -0
- package/esm2022/lib/editor/content/constants/document-info.const.mjs +13 -0
- package/esm2022/lib/editor/content/constants/editor.const.mjs +70 -0
- package/esm2022/lib/editor/content/contents.interface.mjs +2 -0
- package/esm2022/lib/editor/content/display-data/display-data.mjs +839 -0
- package/esm2022/lib/editor/content/display-data/display-token.model.mjs +12 -0
- package/esm2022/lib/editor/content/display-data/format-ext.model.mjs +10 -0
- package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +11 -0
- package/esm2022/lib/editor/content/display-data/indent.model.mjs +9 -0
- package/esm2022/lib/editor/content/display-data/line-info.model.mjs +9 -0
- package/esm2022/lib/editor/content/display-data/lines.mjs +96 -0
- package/esm2022/lib/editor/content/display-data/models/paragraph-info.model.mjs +8 -0
- package/esm2022/lib/editor/content/display-data/paragraph-info.interface.mjs +2 -0
- package/esm2022/lib/editor/content/display-data/paragraph.mjs +56 -0
- package/esm2022/lib/editor/content/display-data/text-line-info.mjs +35 -0
- package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +2 -0
- package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +78 -0
- package/esm2022/lib/editor/content/helpers/display-token.helper.mjs +62 -0
- package/esm2022/lib/{+shared/editor → editor/content}/helpers/format.helper.mjs +1 -1
- package/esm2022/lib/{+shared/editor → editor/content}/helpers/indexed-element.helper.mjs +1 -1
- package/esm2022/lib/editor/content/helpers/scaling.helper.mjs +9 -0
- package/esm2022/lib/editor/content/margin.model.mjs +16 -0
- package/esm2022/lib/editor/content/page-vertical-data.model.mjs +9 -0
- package/esm2022/lib/{+shared/editor/core/enums → editor/content}/vertical-alignment.enum.mjs +1 -1
- package/esm2022/lib/editor/core/event-emitting.mjs +56 -0
- package/esm2022/lib/editor/display/cell.interface.mjs +2 -0
- package/esm2022/lib/editor/display/event.helper.mjs +18 -0
- package/esm2022/lib/editor/display/layers/cursor.layer.mjs +102 -0
- package/esm2022/lib/editor/display/layers/layer.config.mjs +2 -0
- package/esm2022/lib/editor/display/layers/pages.layer.mjs +97 -0
- package/esm2022/lib/editor/display/layers/print.pages.layer.mjs +7 -0
- package/esm2022/lib/editor/display/layers/print.text.layer.mjs +7 -0
- package/esm2022/lib/editor/display/layers/selection.layer.mjs +119 -0
- package/esm2022/lib/editor/display/layers/text.layer.mjs +201 -0
- package/esm2022/lib/editor/display/print/print.helper.mjs +40 -0
- package/esm2022/lib/editor/display/print/print.renderer.mjs +67 -0
- package/esm2022/lib/editor/display/print/print.rendering.helper.mjs +7 -0
- package/esm2022/lib/editor/display/render-changes.interface.mjs +2 -0
- package/esm2022/lib/editor/display/render-changes.model.mjs +25 -0
- package/esm2022/lib/editor/display/renderer.mjs +206 -0
- package/esm2022/lib/editor/display/rendering.helper.mjs +185 -0
- package/esm2022/lib/editor/display/renderloop.mjs +26 -0
- package/esm2022/lib/editor/display/virtual.renderer.mjs +317 -0
- package/esm2022/lib/editor/display/visible-range.interface.mjs +2 -0
- package/esm2022/lib/editor/editor.module.mjs +67 -0
- package/esm2022/lib/editor/execution/distance.model.mjs +10 -0
- package/esm2022/lib/editor/execution/edit.session.mjs +561 -0
- package/esm2022/lib/editor/execution/editor.mjs +1387 -0
- package/esm2022/lib/editor/execution/helpers/dom.helper.mjs +42 -0
- package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +32 -0
- package/esm2022/lib/editor/execution/helpers/image.helpet.mjs +12 -0
- package/esm2022/lib/editor/execution/helpers/page.helper.mjs +12 -0
- package/esm2022/lib/editor/execution/helpers/paragraph-style.helper.mjs +41 -0
- package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +177 -0
- package/esm2022/lib/editor/execution/regulator.service.mjs +206 -0
- package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +19 -0
- package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +15 -0
- package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +8 -0
- package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +3 -0
- package/esm2022/lib/editor/execution/targeting/session.model.mjs +10 -0
- package/esm2022/lib/editor/gadgets/font-metrics/editor-version.const.mjs +2 -0
- package/esm2022/lib/editor/gadgets/font-metrics/font-metric-size.interface.mjs +2 -0
- package/esm2022/lib/editor/gadgets/font-metrics/font-metrics.helper.mjs +88 -0
- package/esm2022/lib/editor/gadgets/history/operation-history.mjs +206 -0
- package/esm2022/lib/editor/gadgets/history/operation.type.mjs +2 -0
- package/esm2022/lib/editor/gadgets/history/operations-history-info.model.mjs +7 -0
- package/esm2022/lib/editor/gadgets/numbering/numbering-data.model.mjs +9 -0
- package/esm2022/lib/{+shared/editor/core/enums → editor/gadgets/numbering}/numbering-marker-type.enum.mjs +1 -1
- package/esm2022/lib/editor/gadgets/numbering/numbering-paragraph-style.model.mjs +13 -0
- package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +149 -0
- package/esm2022/lib/editor/gadgets/page-break/break-types.enum.mjs +7 -0
- package/esm2022/lib/editor/gadgets/page-break/break.helper.mjs +18 -0
- package/esm2022/lib/editor/gadgets/scrollbar.mjs +81 -0
- package/esm2022/lib/editor/gadgets/search/replace.interface.mjs +2 -0
- package/esm2022/lib/editor/gadgets/search/search-iteration.interface.mjs +2 -0
- package/esm2022/lib/editor/gadgets/search/search.mjs +231 -0
- package/esm2022/lib/editor/gadgets/unicode/unicode-chars.const.mjs +5 -0
- package/esm2022/lib/editor/gadgets/unicode/unicode.helper.mjs +20 -0
- package/esm2022/lib/editor/interaction/base.handler.mjs +19 -0
- package/esm2022/lib/editor/interaction/document.handler.mjs +27 -0
- package/esm2022/lib/editor/interaction/editor.service.mjs +346 -0
- package/esm2022/lib/editor/interaction/input.handler.mjs +152 -0
- package/esm2022/lib/{+shared/enums → editor/interaction}/mode.enum.mjs +1 -1
- package/esm2022/lib/editor/interaction/mouse-button.enum.mjs +7 -0
- package/esm2022/lib/editor/interaction/mouse.handler.mjs +50 -0
- package/esm2022/lib/editor/interaction/text-input.mjs +53 -0
- package/esm2022/lib/editor/operations/commands.service.mjs +20 -0
- package/esm2022/lib/editor/operations/enums/command-type.enum.mjs +32 -0
- package/esm2022/lib/editor/operations/enums/target-type.enum.mjs +7 -0
- package/esm2022/lib/editor/operations/helpers/break-operations.helper.mjs +9 -0
- package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +15 -0
- package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +85 -0
- package/esm2022/lib/editor/operations/helpers/image-operations.helper.mjs +19 -0
- package/esm2022/lib/editor/operations/helpers/indexed-element-operations.helper.mjs +43 -0
- package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +63 -0
- package/esm2022/lib/editor/operations/helpers/numbering-operations.helper.mjs +55 -0
- package/esm2022/lib/editor/operations/helpers/paragraph-operations.helper.mjs +114 -0
- package/esm2022/lib/editor/operations/helpers/tab-operations.helper.mjs +16 -0
- package/esm2022/lib/editor/operations/helpers/table-operations.helper.mjs +374 -0
- package/esm2022/lib/editor/operations/operations-helper.helper.mjs +431 -0
- package/esm2022/lib/editor/operations/save-commands.helper.mjs +127 -0
- package/esm2022/lib/editor/operations/target-operations.helper.mjs +23 -0
- package/esm2022/lib/editor/positioning/alignments.const.mjs +8 -0
- package/esm2022/lib/editor/positioning/content.helper.mjs +36 -0
- package/esm2022/lib/editor/positioning/cursor-paragraph.mjs +13 -0
- package/esm2022/lib/editor/positioning/cursor-position.interface.mjs +2 -0
- package/esm2022/lib/editor/positioning/insert-index.interface.mjs +2 -0
- package/esm2022/lib/editor/positioning/line-width.helper.mjs +13 -0
- package/esm2022/lib/editor/positioning/position.helper.mjs +196 -0
- package/esm2022/lib/editor/positioning/range.mjs +94 -0
- package/esm2022/lib/editor/positioning/selection.mjs +317 -0
- package/esm2022/lib/editor/revision.helper.mjs +92 -0
- package/esm2022/lib/models/generated/cell.model.mjs +1 -1
- package/esm2022/lib/models/generated/command.model.mjs +5 -1
- package/esm2022/lib/models/generated/insert-paragraph.model.mjs +20 -0
- package/esm2022/lib/models/generated/replace.model.mjs +5 -1
- package/esm2022/public-api.mjs +37 -31
- package/fesm2022/talrace-ngx-noder.mjs +8169 -7285
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
- package/lib/apart-components/add-link-dialog/add-link-dialog.component.d.ts +26 -0
- package/lib/apart-components/add-link-dialog/validation.helper.d.ts +5 -0
- package/lib/apart-components/add-link-mobile/add-link-mobile.component.d.ts +19 -0
- package/lib/{+shared → apart-components}/confirm-dialog/confirm-dialog.component.d.ts +2 -1
- package/lib/{+shared → apart-components}/editor-search/editor-search-dialog.component.d.ts +6 -7
- package/lib/apart-components/editor-title/editor-title.component.d.ts +25 -0
- package/lib/apart-components/editor-title-mobile/editor-title-mobile.component.d.ts +6 -0
- package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +49 -0
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/color-picker/color-picker.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font/font.component.d.ts +2 -2
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font-size/font-size.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font-style/font-style.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/format/format.component.d.ts +2 -2
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/heading/heading.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/numbering/numbering.component.d.ts +3 -3
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/print/print.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/undo-redo/undo-redo.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/zoom/zoom.component.d.ts +1 -1
- package/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.d.ts +36 -0
- package/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.d.ts +14 -0
- package/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.d.ts +23 -0
- package/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.d.ts +26 -0
- package/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.d.ts +40 -0
- package/lib/apart-components/editor-toolbar/editor-toolbar.module.d.ts +32 -0
- package/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.d.ts +2 -0
- package/lib/apart-components/editor-toolbar/shared/constants/numbering-templates.const.d.ts +6 -0
- package/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.d.ts +9 -0
- package/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.d.ts +14 -0
- package/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.d.ts +38 -0
- package/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.d.ts +4 -0
- package/lib/{+shared → apart-components}/insert-table/insert-table.component.d.ts +1 -1
- package/lib/apart-components/insert-table-mobile/insert-table-mobile.component.d.ts +30 -0
- package/lib/apart-components/text-format-mobile/text-format-mobile.component.d.ts +35 -0
- package/lib/{+shared/editor/core/models → editor/components/edges}/edge-element.model.d.ts +1 -1
- package/lib/editor/components/edges/edge.component.d.ts +44 -0
- package/lib/{+shared/editor/core → editor}/components/edges/edges.d.ts +7 -7
- package/lib/{+shared/editor → editor/components}/editor.component.d.ts +11 -11
- package/lib/{+shared/editor/custom-components → editor/components}/external-element/external-sidenav.interface.d.ts +1 -1
- package/lib/{+shared/editor/custom-components → editor/components}/external-element/external.component.d.ts +4 -4
- package/lib/{+shared/editor/custom-components → editor/components}/external-element/models/external-element.model.d.ts +2 -1
- package/lib/{+shared/editor/custom-components → editor/components}/image/components/image.component.d.ts +4 -4
- package/lib/editor/components/image/image-api.service.d.ts +17 -0
- package/lib/{+shared/editor/custom-components → editor/components}/image/input-handler/image-input.handler.d.ts +3 -0
- package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/resizer.component.d.ts +2 -2
- package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/size-wrapper.d.ts +1 -1
- package/lib/{+shared/editor/custom-components → editor/components}/shared/abstract/base.component.d.ts +6 -4
- package/lib/editor/components/shared/abstract/destroy.component.d.ts +9 -0
- package/lib/{+shared/editor/custom-components/shared/helpers → editor/components/shared}/custom-component.hepler.d.ts +3 -3
- package/lib/editor/components/shared/custom-components.interface.d.ts +13 -0
- package/lib/editor/components/shared/custom-content.d.ts +5 -0
- package/lib/{+shared/editor/custom-components/shared/services/component → editor/components/shared/services}/component.service.d.ts +1 -1
- package/lib/{+shared/editor/custom-components/shared/services/custom-content → editor/components/shared/services}/custom-content.service.d.ts +14 -13
- package/lib/{+shared/editor/custom-components → editor/components}/tab/tab.component.d.ts +2 -2
- package/lib/{+shared/editor/custom-components → editor/components}/table/cell-resizer/cell-resizer.d.ts +2 -1
- package/lib/editor/components/table/components/table-cell.component.d.ts +45 -0
- package/lib/{+shared/editor/custom-components → editor/components}/table/components/table.component.d.ts +27 -11
- package/lib/{+shared/editor/custom-components → editor/components}/table/models/cell-data.model.d.ts +1 -1
- package/lib/{+shared/editor/custom-components → editor/components}/table/overlay-menu/overlay-menu.component.d.ts +2 -2
- package/lib/{+shared/editor/custom-components → editor/components}/table/selection/table-selection.d.ts +5 -3
- package/lib/{+shared/editor/core → editor/content}/constants/editor.const.d.ts +5 -3
- package/lib/editor/content/contents.interface.d.ts +22 -0
- package/lib/editor/content/display-data/display-data.d.ts +103 -0
- package/lib/{+shared/editor/core/models → editor/content/display-data}/display-token.model.d.ts +1 -1
- package/lib/{+shared/editor/core/models → editor/content/display-data}/format-ext.model.d.ts +1 -1
- package/lib/editor/content/display-data/general-properties.model.d.ts +13 -0
- package/lib/{+shared/editor/core/models → editor/content/display-data}/line-info.model.d.ts +1 -0
- package/lib/{+shared/editor/core/layers → editor/content/display-data}/lines.d.ts +1 -1
- package/lib/editor/content/display-data/models/paragraph-info.model.d.ts +9 -0
- package/lib/{+shared/editor/core/paging → editor/content/display-data}/paragraph.d.ts +9 -5
- package/lib/{+shared/editor/core/paging → editor/content/display-data}/text-line-info.d.ts +5 -2
- package/lib/{+shared/editor/core/interfaces → editor/content/display-data}/toolbar-styles.interface.d.ts +1 -1
- package/lib/editor/content/helpers/content-style.helper.d.ts +10 -0
- package/lib/editor/content/helpers/display-token.helper.d.ts +6 -0
- package/lib/{+shared/editor → editor/content}/helpers/indexed-element.helper.d.ts +1 -1
- package/lib/editor/content/helpers/scaling.helper.d.ts +4 -0
- package/lib/{+shared/editor/core/paging → editor/content}/page-vertical-data.model.d.ts +1 -1
- package/lib/{+shared/editor/core/base → editor/core}/event-emitting.d.ts +0 -5
- package/lib/{+shared/editor/core → editor/display}/layers/cursor.layer.d.ts +7 -8
- package/lib/{+shared/editor/core/interfaces → editor/display/layers}/layer.config.d.ts +2 -2
- package/lib/{+shared/editor/core → editor/display}/layers/pages.layer.d.ts +5 -6
- package/lib/editor/display/layers/print.text.layer.d.ts +4 -0
- package/lib/{+shared/editor/core → editor/display}/layers/selection.layer.d.ts +5 -6
- package/lib/editor/display/layers/text.layer.d.ts +33 -0
- package/lib/{+shared/helpers → editor/display/print}/print.helper.d.ts +3 -3
- package/lib/editor/display/print/print.renderer.d.ts +21 -0
- package/lib/{+shared/editor/core/helpers → editor/display/print}/print.rendering.helper.d.ts +2 -2
- package/lib/{+shared/editor/core/models → editor/display}/render-changes.model.d.ts +1 -1
- package/lib/{+shared/editor/core → editor/display}/renderer.d.ts +10 -13
- package/lib/{+shared/editor/core/helpers → editor/display}/rendering.helper.d.ts +10 -10
- package/lib/{+shared/editor/core/layers → editor/display}/renderloop.d.ts +2 -2
- package/lib/{+shared/editor/core → editor/display}/virtual.renderer.d.ts +14 -29
- package/lib/editor/editor.module.d.ts +31 -0
- package/lib/editor/execution/edit.session.d.ts +113 -0
- package/lib/{+shared/editor/core → editor/execution}/editor.d.ts +55 -46
- package/lib/{+shared/editor/core → editor/execution}/helpers/format-style.helper.d.ts +1 -5
- package/lib/editor/execution/helpers/image.helpet.d.ts +4 -0
- package/lib/{+shared/editor/core → editor/execution}/helpers/page.helper.d.ts +1 -1
- package/lib/{+shared/editor/core → editor/execution}/helpers/paragraph-style.helper.d.ts +1 -1
- package/lib/{+shared/editor/core → editor/execution}/helpers/paragraph.helper.d.ts +14 -8
- package/lib/{+shared/editor → editor}/execution/regulator.service.d.ts +16 -15
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/cell-session-source.model.d.ts +3 -3
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/edge-session-source.model.d.ts +3 -3
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/main-session-source.model.d.ts +1 -1
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/session-source.model.d.ts +1 -1
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/session.model.d.ts +3 -3
- package/lib/{+shared/editor/core/helpers → editor/gadgets/font-metrics}/font-metrics.helper.d.ts +1 -1
- package/lib/{+shared/editor/operation-history → editor/gadgets/history}/operation-history.d.ts +9 -7
- package/lib/{+shared/editor/operation-history → editor/gadgets/history}/operation.type.d.ts +2 -1
- package/lib/{+shared/editor/core/models → editor/gadgets/numbering}/numbering-data.model.d.ts +1 -1
- package/lib/editor/gadgets/numbering/numbering-paragraph-style.model.d.ts +6 -0
- package/lib/editor/gadgets/numbering/numbering.helper.d.ts +26 -0
- package/lib/{+shared/editor/helpers → editor/gadgets/page-break}/break.helper.d.ts +2 -2
- package/lib/{+shared/editor/core/layers → editor/gadgets}/scrollbar.d.ts +9 -18
- package/lib/{+shared/editor/core → editor/gadgets/search}/search.d.ts +4 -4
- package/lib/editor/interaction/base.handler.d.ts +9 -0
- package/lib/editor/interaction/document.handler.d.ts +10 -0
- package/lib/{+shared/editor → editor}/interaction/editor.service.d.ts +36 -21
- package/lib/{+shared/editor → editor}/interaction/input.handler.d.ts +4 -5
- package/lib/{+shared/editor → editor}/interaction/mouse.handler.d.ts +1 -1
- package/lib/{+shared/editor → editor}/operations/enums/command-type.enum.d.ts +11 -10
- package/lib/{+shared/editor → editor}/operations/helpers/break-operations.helper.d.ts +2 -2
- package/lib/{+shared/editor → editor}/operations/helpers/format-operations.helper.d.ts +2 -2
- package/lib/editor/operations/helpers/image-operations.helper.d.ts +7 -0
- package/lib/{+shared/editor → editor}/operations/helpers/indexed-element-operations.helper.d.ts +1 -1
- package/lib/editor/operations/helpers/link-operations.helper.d.ts +8 -0
- package/lib/{+shared/editor → editor}/operations/helpers/numbering-operations.helper.d.ts +3 -3
- package/lib/{+shared/editor → editor}/operations/helpers/paragraph-operations.helper.d.ts +3 -2
- package/lib/{+shared/editor → editor}/operations/helpers/tab-operations.helper.d.ts +1 -1
- package/lib/{+shared/editor → editor}/operations/helpers/table-operations.helper.d.ts +6 -6
- package/lib/{+shared/editor/operations/helpers → editor/operations}/operations-helper.helper.d.ts +21 -19
- package/lib/{+shared/editor/operations/helpers → editor/operations}/save-commands.helper.d.ts +28 -22
- package/lib/editor/operations/target-operations.helper.d.ts +6 -0
- package/lib/editor/positioning/content.helper.d.ts +15 -0
- package/lib/editor/positioning/cursor-paragraph.d.ts +7 -0
- package/lib/{+shared/editor/core/interfaces → editor/positioning}/cursor-position.interface.d.ts +1 -1
- package/lib/{+shared/editor/core/helpers → editor/positioning}/line-width.helper.d.ts +2 -2
- package/lib/{+shared/editor/core/helpers → editor/positioning}/position.helper.d.ts +11 -11
- package/lib/{+shared/editor/core → editor/positioning}/range.d.ts +12 -12
- package/lib/{+shared/editor → editor}/positioning/selection.d.ts +13 -10
- package/lib/editor/revision.helper.d.ts +15 -0
- package/lib/models/generated/cell.model.d.ts +1 -0
- package/lib/models/generated/command.model.d.ts +2 -0
- package/lib/models/generated/insert-paragraph.model.d.ts +10 -0
- package/lib/models/generated/replace.model.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +36 -30
- package/src/_ngx-noder.theme.scss +49 -13
- package/src/assets/fonts/nc-iconfont.css +112 -106
- package/src/assets/fonts/nc-iconfont.eot +0 -0
- package/src/assets/fonts/nc-iconfont.svg +4 -1
- package/src/assets/fonts/nc-iconfont.ttf +0 -0
- package/src/assets/fonts/nc-iconfont.woff +0 -0
- package/src/lib/{+shared → apart-components}/add-link-dialog/_add-link-dialog.theme.scss +4 -4
- package/src/lib/apart-components/add-link-mobile/_add-link-mobile.theme.scss +25 -0
- package/src/lib/apart-components/confirm-dialog/_theme.scss +30 -0
- package/src/lib/apart-components/editor-title/_editor-title.theme.scss +28 -0
- package/src/lib/apart-components/editor-title-mobile/_editor-title-mobile.theme.scss +42 -0
- package/src/lib/apart-components/editor-toolbar/_editor-toolbar.theme.scss +27 -0
- package/src/lib/apart-components/editor-toolbar/_theme.scss +25 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/color-picker/_color-picker.theme.scss +12 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/font/_font.theme.scss +12 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/font-size/_font-size.theme.scss +14 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/font-style/_font-style.theme.scss +21 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/format/_format.theme.scss +21 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/numbering/_numbering.theme.scss +70 -0
- package/src/lib/apart-components/editor-toolbar/components/buttons/undo-redo/_undo-redo.theme.scss +16 -0
- package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns/_menu-dropdowns.theme.scss +26 -0
- package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/_menu-dropdowns-mobile.theme.scss +33 -0
- package/src/lib/apart-components/editor-toolbar/components/toolbar-actions/_toolbar-actions.theme.scss +22 -0
- package/src/lib/{+shared → apart-components}/insert-table/_insert-table.theme.scss +10 -7
- package/src/lib/apart-components/insert-table-mobile/_insert-table-mobile.theme.scss +54 -0
- package/src/lib/apart-components/text-format-mobile/_text-format-mobile.theme.scss +86 -0
- package/src/lib/editor/_theme.scss +5 -0
- package/src/lib/editor/components/_editor.theme.scss +112 -0
- package/src/scss/_fonts.scss +3 -0
- package/src/scss/base-editor.scss +329 -0
- package/src/styles.scss +3 -58
- package/esm2022/lib/+shared/abstract/base-api.service.mjs +0 -99
- package/esm2022/lib/+shared/abstract/observer.component.mjs +0 -24
- package/esm2022/lib/+shared/confirm-dialog/confirm-dialog.component.mjs +0 -28
- package/esm2022/lib/+shared/constants/default-file-name.const.mjs +0 -2
- package/esm2022/lib/+shared/constants/paginator-sizes.const.mjs +0 -3
- package/esm2022/lib/+shared/editor/core/base/event-emitting.mjs +0 -71
- package/esm2022/lib/+shared/editor/core/components/edges/edge-type.enum.mjs +0 -6
- package/esm2022/lib/+shared/editor/core/components/edges/edge.component.mjs +0 -100
- package/esm2022/lib/+shared/editor/core/components/edges/edges.mjs +0 -104
- package/esm2022/lib/+shared/editor/core/constants/alignments.const.mjs +0 -8
- package/esm2022/lib/+shared/editor/core/constants/clipboardEventTypes.const.mjs +0 -6
- package/esm2022/lib/+shared/editor/core/constants/content-style-change.const.mjs +0 -15
- package/esm2022/lib/+shared/editor/core/constants/display-values.const.mjs +0 -8
- package/esm2022/lib/+shared/editor/core/constants/document-info.const.mjs +0 -13
- package/esm2022/lib/+shared/editor/core/constants/editor-version.const.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/constants/editor.const.mjs +0 -62
- package/esm2022/lib/+shared/editor/core/constants/unicode-chars.const.mjs +0 -5
- package/esm2022/lib/+shared/editor/core/document.mjs +0 -134
- package/esm2022/lib/+shared/editor/core/edit.session.mjs +0 -1102
- package/esm2022/lib/+shared/editor/core/editor.mjs +0 -1279
- package/esm2022/lib/+shared/editor/core/enums/break-types.enum.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/enums/mouse-button.enum.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/enums/page-type.enum.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/helpers/content-style.helper.mjs +0 -156
- package/esm2022/lib/+shared/editor/core/helpers/delta.helper.mjs +0 -18
- package/esm2022/lib/+shared/editor/core/helpers/dom.helper.mjs +0 -42
- package/esm2022/lib/+shared/editor/core/helpers/event.helper.mjs +0 -18
- package/esm2022/lib/+shared/editor/core/helpers/font-metrics.helper.mjs +0 -88
- package/esm2022/lib/+shared/editor/core/helpers/format-style.helper.mjs +0 -72
- package/esm2022/lib/+shared/editor/core/helpers/line-width.helper.mjs +0 -13
- package/esm2022/lib/+shared/editor/core/helpers/numbering.helper.mjs +0 -83
- package/esm2022/lib/+shared/editor/core/helpers/page.helper.mjs +0 -12
- package/esm2022/lib/+shared/editor/core/helpers/paragraph-style.helper.mjs +0 -41
- package/esm2022/lib/+shared/editor/core/helpers/paragraph.helper.mjs +0 -132
- package/esm2022/lib/+shared/editor/core/helpers/position.helper.mjs +0 -191
- package/esm2022/lib/+shared/editor/core/helpers/print.rendering.helper.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/helpers/rendering.helper.mjs +0 -186
- package/esm2022/lib/+shared/editor/core/helpers/unicode.helper.mjs +0 -20
- package/esm2022/lib/+shared/editor/core/interfaces/cell.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/cursor-position.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/font-metric-size.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/layer.config.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/paragraph-info.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/render-changes.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/replace.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/search-iteration.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/toolbar-styles.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/visible-line-info.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/interfaces/visible-range.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/core/keyboard/text-input.mjs +0 -53
- package/esm2022/lib/+shared/editor/core/layers/cursor.layer.mjs +0 -103
- package/esm2022/lib/+shared/editor/core/layers/edges.layer.mjs +0 -99
- package/esm2022/lib/+shared/editor/core/layers/lines.mjs +0 -96
- package/esm2022/lib/+shared/editor/core/layers/pages.layer.mjs +0 -106
- package/esm2022/lib/+shared/editor/core/layers/print.edges.layer.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/layers/print.pages.layer.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/layers/print.text.layer.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/layers/renderloop.mjs +0 -26
- package/esm2022/lib/+shared/editor/core/layers/scrollbar.mjs +0 -100
- package/esm2022/lib/+shared/editor/core/layers/selection.layer.mjs +0 -115
- package/esm2022/lib/+shared/editor/core/layers/text.layer.mjs +0 -124
- package/esm2022/lib/+shared/editor/core/models/display-token.model.mjs +0 -12
- package/esm2022/lib/+shared/editor/core/models/distance.model.mjs +0 -10
- package/esm2022/lib/+shared/editor/core/models/edge-element.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/core/models/format-ext.model.mjs +0 -10
- package/esm2022/lib/+shared/editor/core/models/indent.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/core/models/line-info.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/core/models/margin.model.mjs +0 -16
- package/esm2022/lib/+shared/editor/core/models/numbering-data.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/core/models/render-changes.model.mjs +0 -25
- package/esm2022/lib/+shared/editor/core/paging/page-vertical-data.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/core/paging/pages.wrap.mjs +0 -219
- package/esm2022/lib/+shared/editor/core/paging/paragraph.mjs +0 -52
- package/esm2022/lib/+shared/editor/core/paging/text-line-info.mjs +0 -34
- package/esm2022/lib/+shared/editor/core/point.mjs +0 -13
- package/esm2022/lib/+shared/editor/core/print.renderer.mjs +0 -72
- package/esm2022/lib/+shared/editor/core/range.mjs +0 -94
- package/esm2022/lib/+shared/editor/core/renderer.mjs +0 -217
- package/esm2022/lib/+shared/editor/core/search.mjs +0 -231
- package/esm2022/lib/+shared/editor/core/virtual.renderer.mjs +0 -356
- package/esm2022/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.mjs +0 -35
- package/esm2022/lib/+shared/editor/custom-components/external-element/external-element.service.mjs +0 -6
- package/esm2022/lib/+shared/editor/custom-components/external-element/external-elements.const.mjs +0 -4
- package/esm2022/lib/+shared/editor/custom-components/external-element/external-sidenav.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/custom-components/external-element/external.component.mjs +0 -41
- package/esm2022/lib/+shared/editor/custom-components/external-element/models/element-data.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/custom-components/external-element/models/external-element.model.mjs +0 -10
- package/esm2022/lib/+shared/editor/custom-components/external-element/models/external-sidenav.model.mjs +0 -15
- package/esm2022/lib/+shared/editor/custom-components/image/components/image.component.mjs +0 -87
- package/esm2022/lib/+shared/editor/custom-components/image/input-handler/image-input.handler.mjs +0 -38
- package/esm2022/lib/+shared/editor/custom-components/image/interfaces/size.mjs +0 -2
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/coordinate.mjs +0 -2
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/direction-wrapper.mjs +0 -19
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/direction.enum.mjs +0 -12
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/resizer.component.mjs +0 -106
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/size-delta.mjs +0 -2
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/size-wrapper.mjs +0 -52
- package/esm2022/lib/+shared/editor/custom-components/image/services/image-api.service.mjs +0 -14
- package/esm2022/lib/+shared/editor/custom-components/shared/abstract/base.component.mjs +0 -57
- package/esm2022/lib/+shared/editor/custom-components/shared/constants/custom-content-markers.const.mjs +0 -3
- package/esm2022/lib/+shared/editor/custom-components/shared/helpers/custom-component.hepler.mjs +0 -43
- package/esm2022/lib/+shared/editor/custom-components/shared/interfaces/custom-components.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/custom-components/shared/services/component/component.service.mjs +0 -64
- package/esm2022/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.mjs +0 -120
- package/esm2022/lib/+shared/editor/custom-components/shared/services/overlay/overlay.service.mjs +0 -55
- package/esm2022/lib/+shared/editor/custom-components/shared/types/custom-content.mjs +0 -2
- package/esm2022/lib/+shared/editor/custom-components/tab/tab.component.mjs +0 -43
- package/esm2022/lib/+shared/editor/custom-components/table/cell-resizer/cell-resizer.mjs +0 -118
- package/esm2022/lib/+shared/editor/custom-components/table/components/table-cell.component.mjs +0 -95
- package/esm2022/lib/+shared/editor/custom-components/table/components/table.component.mjs +0 -293
- package/esm2022/lib/+shared/editor/custom-components/table/enums/reisizer-side.enum.mjs +0 -8
- package/esm2022/lib/+shared/editor/custom-components/table/enums/vertical-merge.enum.mjs +0 -6
- package/esm2022/lib/+shared/editor/custom-components/table/models/cell-data.model.mjs +0 -18
- package/esm2022/lib/+shared/editor/custom-components/table/models/cell-resizer-parameters.model.mjs +0 -9
- package/esm2022/lib/+shared/editor/custom-components/table/models/row-data.model.mjs +0 -8
- package/esm2022/lib/+shared/editor/custom-components/table/models/selection-range.model.mjs +0 -7
- package/esm2022/lib/+shared/editor/custom-components/table/overlay-menu/overlay-menu.component.mjs +0 -74
- package/esm2022/lib/+shared/editor/custom-components/table/selection/table-selection.mjs +0 -358
- package/esm2022/lib/+shared/editor/editor.component.mjs +0 -103
- package/esm2022/lib/+shared/editor/editor.module.mjs +0 -85
- package/esm2022/lib/+shared/editor/execution/models/cell-session-source.model.mjs +0 -19
- package/esm2022/lib/+shared/editor/execution/models/edge-session-source.model.mjs +0 -15
- package/esm2022/lib/+shared/editor/execution/models/general-properties.model.mjs +0 -11
- package/esm2022/lib/+shared/editor/execution/models/main-session-source.model.mjs +0 -8
- package/esm2022/lib/+shared/editor/execution/models/session-source.model.mjs +0 -3
- package/esm2022/lib/+shared/editor/execution/models/session.model.mjs +0 -10
- package/esm2022/lib/+shared/editor/execution/regulator.service.mjs +0 -193
- package/esm2022/lib/+shared/editor/helpers/break.helper.mjs +0 -18
- package/esm2022/lib/+shared/editor/helpers/content.helper.mjs +0 -30
- package/esm2022/lib/+shared/editor/helpers/tab.helper.mjs +0 -6
- package/esm2022/lib/+shared/editor/interaction/editor.service.mjs +0 -309
- package/esm2022/lib/+shared/editor/interaction/input.handler.mjs +0 -160
- package/esm2022/lib/+shared/editor/interaction/mouse.handler.mjs +0 -49
- package/esm2022/lib/+shared/editor/interfaces/contents.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/interfaces/insert-index.interface.mjs +0 -2
- package/esm2022/lib/+shared/editor/operation-history/operation-history.mjs +0 -184
- package/esm2022/lib/+shared/editor/operation-history/operation.type.mjs +0 -2
- package/esm2022/lib/+shared/editor/operation-history/operations-history-info.model.mjs +0 -7
- package/esm2022/lib/+shared/editor/operations/enums/command-type.enum.mjs +0 -31
- package/esm2022/lib/+shared/editor/operations/enums/target-type.enum.mjs +0 -7
- package/esm2022/lib/+shared/editor/operations/helpers/break-operations.helper.mjs +0 -9
- package/esm2022/lib/+shared/editor/operations/helpers/content-operations.helper.mjs +0 -15
- package/esm2022/lib/+shared/editor/operations/helpers/format-operations.helper.mjs +0 -56
- package/esm2022/lib/+shared/editor/operations/helpers/image-operations.helper.mjs +0 -19
- package/esm2022/lib/+shared/editor/operations/helpers/indexed-element-operations.helper.mjs +0 -43
- package/esm2022/lib/+shared/editor/operations/helpers/link-operations.helper.mjs +0 -28
- package/esm2022/lib/+shared/editor/operations/helpers/numbering-operations.helper.mjs +0 -55
- package/esm2022/lib/+shared/editor/operations/helpers/operations-helper.helper.mjs +0 -394
- package/esm2022/lib/+shared/editor/operations/helpers/paragraph-operations.helper.mjs +0 -83
- package/esm2022/lib/+shared/editor/operations/helpers/save-commands.helper.mjs +0 -118
- package/esm2022/lib/+shared/editor/operations/helpers/tab-operations.helper.mjs +0 -16
- package/esm2022/lib/+shared/editor/operations/helpers/table-operations.helper.mjs +0 -371
- package/esm2022/lib/+shared/editor/operations/helpers/target-operations.helper.mjs +0 -23
- package/esm2022/lib/+shared/editor/positioning/selection.mjs +0 -307
- package/esm2022/lib/+shared/editor/store/editor.actions.mjs +0 -13
- package/esm2022/lib/+shared/editor-header/editor-header.component.mjs +0 -314
- package/esm2022/lib/+shared/editor-search/editor-search-dialog.component.mjs +0 -71
- package/esm2022/lib/+shared/editor-toolbar/color-picker/color-picker.component.mjs +0 -32
- package/esm2022/lib/+shared/editor-toolbar/constants/svg-icons.const.mjs +0 -157
- package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.component.mjs +0 -115
- package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.module.mjs +0 -107
- package/esm2022/lib/+shared/editor-toolbar/enums/alignment.enum.mjs +0 -8
- package/esm2022/lib/+shared/editor-toolbar/enums/numbering-type.enum.mjs +0 -6
- package/esm2022/lib/+shared/editor-toolbar/font/font.component.mjs +0 -45
- package/esm2022/lib/+shared/editor-toolbar/font-size/font-size.component.mjs +0 -85
- package/esm2022/lib/+shared/editor-toolbar/font-style/font-style.component.mjs +0 -80
- package/esm2022/lib/+shared/editor-toolbar/format/format.component.mjs +0 -28
- package/esm2022/lib/+shared/editor-toolbar/heading/heading.component.mjs +0 -23
- package/esm2022/lib/+shared/editor-toolbar/helpers/toolbar-styles.helper.mjs +0 -55
- package/esm2022/lib/+shared/editor-toolbar/numbering/numbering.component.mjs +0 -53
- package/esm2022/lib/+shared/editor-toolbar/print/print.component.mjs +0 -18
- package/esm2022/lib/+shared/editor-toolbar/undo-redo/undo-redo.component.mjs +0 -27
- package/esm2022/lib/+shared/editor-toolbar/zoom/zoom.component.mjs +0 -74
- package/esm2022/lib/+shared/helpers/print.helper.mjs +0 -40
- package/esm2022/lib/+shared/insert-table/insert-table.component.mjs +0 -54
- package/esm2022/lib/+shared/services/commands.service.mjs +0 -20
- package/esm2022/lib/+shared/services/custom-icon.service.mjs +0 -34
- package/lib/+shared/abstract/base-api.service.d.ts +0 -23
- package/lib/+shared/abstract/observer.component.d.ts +0 -10
- package/lib/+shared/constants/default-file-name.const.d.ts +0 -1
- package/lib/+shared/constants/paginator-sizes.const.d.ts +0 -2
- package/lib/+shared/editor/core/components/edges/edge.component.d.ts +0 -45
- package/lib/+shared/editor/core/constants/clipboardEventTypes.const.d.ts +0 -5
- package/lib/+shared/editor/core/constants/content-style-change.const.d.ts +0 -14
- package/lib/+shared/editor/core/document.d.ts +0 -56
- package/lib/+shared/editor/core/edit.session.d.ts +0 -159
- package/lib/+shared/editor/core/helpers/content-style.helper.d.ts +0 -16
- package/lib/+shared/editor/core/helpers/delta.helper.d.ts +0 -6
- package/lib/+shared/editor/core/helpers/numbering.helper.d.ts +0 -19
- package/lib/+shared/editor/core/interfaces/visible-line-info.interface.d.ts +0 -5
- package/lib/+shared/editor/core/layers/edges.layer.d.ts +0 -24
- package/lib/+shared/editor/core/layers/print.edges.layer.d.ts +0 -4
- package/lib/+shared/editor/core/layers/print.text.layer.d.ts +0 -5
- package/lib/+shared/editor/core/layers/text.layer.d.ts +0 -22
- package/lib/+shared/editor/core/paging/pages.wrap.d.ts +0 -41
- package/lib/+shared/editor/core/point.d.ts +0 -7
- package/lib/+shared/editor/core/print.renderer.d.ts +0 -25
- package/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.d.ts +0 -14
- package/lib/+shared/editor/custom-components/image/services/image-api.service.d.ts +0 -8
- package/lib/+shared/editor/custom-components/shared/interfaces/custom-components.interface.d.ts +0 -13
- package/lib/+shared/editor/custom-components/shared/types/custom-content.d.ts +0 -5
- package/lib/+shared/editor/custom-components/table/components/table-cell.component.d.ts +0 -45
- package/lib/+shared/editor/editor.module.d.ts +0 -30
- package/lib/+shared/editor/execution/models/general-properties.model.d.ts +0 -7
- package/lib/+shared/editor/helpers/content.helper.d.ts +0 -9
- package/lib/+shared/editor/interfaces/contents.interface.d.ts +0 -22
- package/lib/+shared/editor/operations/helpers/image-operations.helper.d.ts +0 -7
- package/lib/+shared/editor/operations/helpers/link-operations.helper.d.ts +0 -6
- package/lib/+shared/editor/operations/helpers/target-operations.helper.d.ts +0 -6
- package/lib/+shared/editor/store/editor.actions.d.ts +0 -11
- package/lib/+shared/editor-header/editor-header.component.d.ts +0 -101
- package/lib/+shared/editor-toolbar/constants/numbering-templates.const.d.ts +0 -6
- package/lib/+shared/editor-toolbar/editor-toolbar.component.d.ts +0 -44
- package/lib/+shared/editor-toolbar/editor-toolbar.module.d.ts +0 -28
- package/lib/+shared/editor-toolbar/helpers/toolbar-styles.helper.d.ts +0 -6
- package/src/lib/+shared/editor/_editor.theme.scss +0 -35
- package/src/lib/+shared/editor/custom-components/external-element/element-toolbar/_element-toolbar.theme.scss +0 -10
- package/src/lib/+shared/editor-header/_editor-header.theme.scss +0 -106
- package/src/lib/+shared/editor-toolbar/_editor-toolbar.theme.scss +0 -33
- package/src/lib/+shared/editor-toolbar/numbering/_numbering.theme.scss +0 -29
- /package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/constants/svg-icons.const.d.ts +0 -0
- /package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/enums/alignment.enum.d.ts +0 -0
- /package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/enums/numbering-template-type.enum.d.ts +0 -0
- /package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/enums/numbering-type.enum.d.ts +0 -0
- /package/lib/{+shared → apart-components/editor-toolbar/shared}/services/custom-icon.service.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor}/components/edges/edge-type.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/components/edges}/page-type.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/external-element/external-element.service.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/external-element/external-elements.const.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/external-element/models/element-data.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/external-element/models/external-sidenav.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/coordinate.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/direction-wrapper.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/direction.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/size-delta.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components/image/interfaces → editor/components/image}/size.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components/shared/constants → editor/components/shared}/custom-content-markers.const.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components/shared/services/overlay → editor/components/shared/services}/overlay.service.d.ts +0 -0
- /package/lib/{+shared/editor/helpers → editor/components/tab}/tab.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/components/table}/enums/hrule.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/enums/reisizer-side.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/enums/vertical-merge.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/models/cell-resizer-parameters.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/models/row-data.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/models/selection-range.model.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/content}/constants/display-values.const.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/content}/constants/document-info.const.d.ts +0 -0
- /package/lib/{+shared/editor/core/models → editor/content/display-data}/indent.model.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/content/display-data}/paragraph-info.interface.d.ts +0 -0
- /package/lib/{+shared/editor → editor/content}/helpers/format.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core/models → editor/content}/margin.model.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/content}/vertical-alignment.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/display}/cell.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/helpers → editor/display}/event.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/display}/layers/print.pages.layer.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/display}/render-changes.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/display}/visible-range.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/models → editor/execution}/distance.model.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/execution}/helpers/dom.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core/constants → editor/gadgets/font-metrics}/editor-version.const.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/gadgets/font-metrics}/font-metric-size.interface.d.ts +0 -0
- /package/lib/{+shared/editor/operation-history → editor/gadgets/history}/operations-history-info.model.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/gadgets/numbering}/numbering-marker-type.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/gadgets/page-break}/break-types.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/gadgets/search}/replace.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/gadgets/search}/search-iteration.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/constants → editor/gadgets/unicode}/unicode-chars.const.d.ts +0 -0
- /package/lib/{+shared/editor/core/helpers → editor/gadgets/unicode}/unicode.helper.d.ts +0 -0
- /package/lib/{+shared/enums → editor/interaction}/mode.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/interaction}/mouse-button.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/keyboard → editor/interaction}/text-input.d.ts +0 -0
- /package/lib/{+shared/services → editor/operations}/commands.service.d.ts +0 -0
- /package/lib/{+shared/editor → editor}/operations/enums/target-type.enum.d.ts +0 -0
- /package/lib/{+shared/editor → editor}/operations/helpers/content-operations.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core/constants → editor/positioning}/alignments.const.d.ts +0 -0
- /package/lib/{+shared/editor/interfaces → editor/positioning}/insert-index.interface.d.ts +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { BaseNoderComponent } from '../../shared/abstract/base.component';
|
|
3
|
+
import { ImageInputHandler } from '../../../components/image/input-handler/image-input.handler';
|
|
4
|
+
import { ScalingHelper } from '../../../content/helpers/scaling.helper';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../../components/image/image-api.service";
|
|
7
|
+
import * as i2 from "../../../interaction/editor.service";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "../resizer/resizer.component";
|
|
10
|
+
export class NoderImageComponent extends BaseNoderComponent {
|
|
11
|
+
get isViewOnly$() {
|
|
12
|
+
return this.editorService.isViewOnly$;
|
|
13
|
+
}
|
|
14
|
+
get image() {
|
|
15
|
+
return this.content;
|
|
16
|
+
}
|
|
17
|
+
set image(val) {
|
|
18
|
+
this.content = val;
|
|
19
|
+
}
|
|
20
|
+
get size() {
|
|
21
|
+
return { width: this._width, height: this._height };
|
|
22
|
+
}
|
|
23
|
+
constructor(elementRef, apiService, editorService) {
|
|
24
|
+
super();
|
|
25
|
+
this.elementRef = elementRef;
|
|
26
|
+
this.apiService = apiService;
|
|
27
|
+
this.editorService = editorService;
|
|
28
|
+
this.isCanvas = false;
|
|
29
|
+
}
|
|
30
|
+
initialize() {
|
|
31
|
+
const url = this.image.content?.replace('/api/', '') ?? '';
|
|
32
|
+
this._height = ScalingHelper.scale(this.image.height, this.generalProperties.scalingRatio);
|
|
33
|
+
this._width = ScalingHelper.scale(this.image.width, this.generalProperties.scalingRatio);
|
|
34
|
+
this.apiService.getFile(url).subscribe(x => {
|
|
35
|
+
const fileSource = URL.createObjectURL(x);
|
|
36
|
+
const image = this.createImage(fileSource);
|
|
37
|
+
this.elementRef.nativeElement.appendChild(image);
|
|
38
|
+
this.editorService.rendererUpdated(this.sessionId);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
onResizeEnd(size) {
|
|
42
|
+
this.resize(size);
|
|
43
|
+
const resizedImage = { ...this.image, width: size.width, height: size.height };
|
|
44
|
+
this.editorService.changeImageStyle(resizedImage);
|
|
45
|
+
}
|
|
46
|
+
resize(size) {
|
|
47
|
+
this._width = size.width;
|
|
48
|
+
this._height = size.height;
|
|
49
|
+
this.isCanvas ? this.resizeCanvas(size) : this.resizeImage(size);
|
|
50
|
+
this.cdr.markForCheck();
|
|
51
|
+
}
|
|
52
|
+
focus() {
|
|
53
|
+
this.inputHandler = new ImageInputHandler(this.editorService, this);
|
|
54
|
+
super.focus();
|
|
55
|
+
}
|
|
56
|
+
blur() {
|
|
57
|
+
this.inputHandler?.destroy();
|
|
58
|
+
super.blur();
|
|
59
|
+
}
|
|
60
|
+
ngOnDestroy() {
|
|
61
|
+
this.inputHandler?.destroy();
|
|
62
|
+
super.ngOnDestroy();
|
|
63
|
+
}
|
|
64
|
+
createImage(fileSource) {
|
|
65
|
+
const imageEl = document.createElement('img');
|
|
66
|
+
imageEl.width = this._width;
|
|
67
|
+
imageEl.height = this._height;
|
|
68
|
+
imageEl.src = fileSource;
|
|
69
|
+
return imageEl;
|
|
70
|
+
}
|
|
71
|
+
resizeImage(size) {
|
|
72
|
+
const image = this.elementRef.nativeElement.querySelector('img');
|
|
73
|
+
image.width = size.width;
|
|
74
|
+
image.height = size.height;
|
|
75
|
+
}
|
|
76
|
+
resizeCanvas(size) {
|
|
77
|
+
const image = this.elementRef.nativeElement.querySelector('canvas');
|
|
78
|
+
image.style.width = `${size.width}px`;
|
|
79
|
+
image.style.height = `${size.height}px`;
|
|
80
|
+
}
|
|
81
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoderImageComponent, deps: [{ token: i0.ElementRef }, { token: i1.ImageApiService }, { token: i2.EditorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NoderImageComponent, selector: "app-nod-image", usesInheritance: true, ngImport: i0, template: "<app-nod-resizer\n *ngIf=\"isFocused\"\n class=\"resizer\"\n [isDisabled]=\"isViewOnly$ | async\"\n [size]=\"size\"\n (resizeEnd)=\"onResizeEnd($event)\" />\n", styles: [":host{position:relative;outline:none}.resizer{position:absolute;z-index:1}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ResizerComponent, selector: "app-nod-resizer", inputs: ["isDisabled", "size"], outputs: ["resizeEnd"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
83
|
+
}
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoderImageComponent, decorators: [{
|
|
85
|
+
type: Component,
|
|
86
|
+
args: [{ selector: 'app-nod-image', changeDetection: ChangeDetectionStrategy.OnPush, template: "<app-nod-resizer\n *ngIf=\"isFocused\"\n class=\"resizer\"\n [isDisabled]=\"isViewOnly$ | async\"\n [size]=\"size\"\n (resizeEnd)=\"onResizeEnd($event)\" />\n", styles: [":host{position:relative;outline:none}.resizer{position:absolute;z-index:1}\n"] }]
|
|
87
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ImageApiService }, { type: i2.EditorService }] });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbXBvbmVudHMvaW1hZ2UvY29tcG9uZW50cy9pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9pbWFnZS9jb21wb25lbnRzL2ltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFaEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7QUFTeEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQUN2RCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFxQixDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxHQUFlO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBTUQsWUFBc0IsVUFBbUMsRUFBVSxVQUEyQixFQUFVLGFBQTRCO1FBQ2hJLEtBQUssRUFBRSxDQUFDO1FBRFUsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBSjVILGFBQVEsR0FBRyxLQUFLLENBQUM7SUFNekIsQ0FBQztJQUVELFVBQVU7UUFDTixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFVO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsTUFBTSxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvRSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBVTtRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFUSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFUSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUM3QixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVRLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUM3QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxVQUFrQjtRQUNsQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM1QixPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDOUIsT0FBTyxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUM7UUFDekIsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxJQUFVO1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRSxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFTyxZQUFZLENBQUMsSUFBVTtRQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEUsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUM7UUFDdEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUM7SUFDNUMsQ0FBQzsrR0FsRlEsbUJBQW1CO21HQUFuQixtQkFBbUIsNEVDakJoQywrS0FNQTs7NEZEV2EsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFzZU5vZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Fic3RyYWN0L2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBJbWFnZUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2ltYWdlL2ltYWdlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEltYWdlSW5wdXRIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9pbWFnZS9pbnB1dC1oYW5kbGVyL2ltYWdlLWlucHV0LmhhbmRsZXInO1xuaW1wb3J0IHsgSW1hZ2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW1hZ2UubW9kZWwnO1xuaW1wb3J0IHsgU2NhbGluZ0hlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NvbnRlbnQvaGVscGVycy9zY2FsaW5nLmhlbHBlcic7XG5pbXBvcnQgeyBTaXplIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9pbWFnZS9zaXplJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWltYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ltYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTm9kZXJJbWFnZUNvbXBvbmVudCBleHRlbmRzIEJhc2VOb2RlckNvbXBvbmVudCB7XG4gICAgZ2V0IGlzVmlld09ubHkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lZGl0b3JTZXJ2aWNlLmlzVmlld09ubHkkO1xuICAgIH1cblxuICAgIGdldCBpbWFnZSgpOiBJbWFnZU1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudCBhcyBJbWFnZU1vZGVsO1xuICAgIH1cbiAgICBzZXQgaW1hZ2UodmFsOiBJbWFnZU1vZGVsKSB7XG4gICAgICAgIHRoaXMuY29udGVudCA9IHZhbDtcbiAgICB9XG5cbiAgICBnZXQgc2l6ZSgpOiBTaXplIHtcbiAgICAgICAgcmV0dXJuIHsgd2lkdGg6IHRoaXMuX3dpZHRoLCBoZWlnaHQ6IHRoaXMuX2hlaWdodCB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNDYW52YXMgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaW5wdXRIYW5kbGVyOiBJbWFnZUlucHV0SGFuZGxlcjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBJbWFnZUFwaVNlcnZpY2UsIHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuaW1hZ2UuY29udGVudD8ucmVwbGFjZSgnL2FwaS8nLCAnJykgPz8gJyc7XG4gICAgICAgIHRoaXMuX2hlaWdodCA9IFNjYWxpbmdIZWxwZXIuc2NhbGUodGhpcy5pbWFnZS5oZWlnaHQsIHRoaXMuZ2VuZXJhbFByb3BlcnRpZXMuc2NhbGluZ1JhdGlvKTtcbiAgICAgICAgdGhpcy5fd2lkdGggPSBTY2FsaW5nSGVscGVyLnNjYWxlKHRoaXMuaW1hZ2Uud2lkdGgsIHRoaXMuZ2VuZXJhbFByb3BlcnRpZXMuc2NhbGluZ1JhdGlvKTtcbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldEZpbGUodXJsKS5zdWJzY3JpYmUoeCA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWxlU291cmNlID0gVVJMLmNyZWF0ZU9iamVjdFVSTCh4KTtcbiAgICAgICAgICAgIGNvbnN0IGltYWdlID0gdGhpcy5jcmVhdGVJbWFnZShmaWxlU291cmNlKTtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGltYWdlKTtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5yZW5kZXJlclVwZGF0ZWQodGhpcy5zZXNzaW9uSWQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblJlc2l6ZUVuZChzaXplOiBTaXplKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzaXplKHNpemUpO1xuICAgICAgICBjb25zdCByZXNpemVkSW1hZ2UgPSB7IC4uLnRoaXMuaW1hZ2UsIHdpZHRoOiBzaXplLndpZHRoLCBoZWlnaHQ6IHNpemUuaGVpZ2h0IH07XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jaGFuZ2VJbWFnZVN0eWxlKHJlc2l6ZWRJbWFnZSk7XG4gICAgfVxuXG4gICAgcmVzaXplKHNpemU6IFNpemUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fd2lkdGggPSBzaXplLndpZHRoO1xuICAgICAgICB0aGlzLl9oZWlnaHQgPSBzaXplLmhlaWdodDtcbiAgICAgICAgdGhpcy5pc0NhbnZhcyA/IHRoaXMucmVzaXplQ2FudmFzKHNpemUpIDogdGhpcy5yZXNpemVJbWFnZShzaXplKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRIYW5kbGVyID0gbmV3IEltYWdlSW5wdXRIYW5kbGVyKHRoaXMuZWRpdG9yU2VydmljZSwgdGhpcyk7XG4gICAgICAgIHN1cGVyLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgYmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dEhhbmRsZXI/LmRlc3Ryb3koKTtcbiAgICAgICAgc3VwZXIuYmx1cigpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0SGFuZGxlcj8uZGVzdHJveSgpO1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlSW1hZ2UoZmlsZVNvdXJjZTogc3RyaW5nKTogSFRNTEltYWdlRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGltYWdlRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtcbiAgICAgICAgaW1hZ2VFbC53aWR0aCA9IHRoaXMuX3dpZHRoO1xuICAgICAgICBpbWFnZUVsLmhlaWdodCA9IHRoaXMuX2hlaWdodDtcbiAgICAgICAgaW1hZ2VFbC5zcmMgPSBmaWxlU291cmNlO1xuICAgICAgICByZXR1cm4gaW1hZ2VFbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2l6ZUltYWdlKHNpemU6IFNpemUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW1hZ2UgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbWcnKTtcbiAgICAgICAgaW1hZ2Uud2lkdGggPSBzaXplLndpZHRoO1xuICAgICAgICBpbWFnZS5oZWlnaHQgPSBzaXplLmhlaWdodDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2l6ZUNhbnZhcyhzaXplOiBTaXplKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGltYWdlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignY2FudmFzJyk7XG4gICAgICAgIGltYWdlLnN0eWxlLndpZHRoID0gYCR7c2l6ZS53aWR0aH1weGA7XG4gICAgICAgIGltYWdlLnN0eWxlLmhlaWdodCA9IGAke3NpemUuaGVpZ2h0fXB4YDtcbiAgICB9XG59XG4iLCI8YXBwLW5vZC1yZXNpemVyXG4gICAgKm5nSWY9XCJpc0ZvY3VzZWRcIlxuICAgIGNsYXNzPVwicmVzaXplclwiXG4gICAgW2lzRGlzYWJsZWRdPVwiaXNWaWV3T25seSQgfCBhc3luY1wiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgKHJlc2l6ZUVuZCk9XCJvblJlc2l6ZUVuZCgkZXZlbnQpXCIgLz5cbiJdfQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ImageApiService {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageApiService }); }
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageApiService, decorators: [{
|
|
9
|
+
type: Injectable
|
|
10
|
+
}] });
|
|
11
|
+
export class DefaultImageApiService {
|
|
12
|
+
constructor(http) {
|
|
13
|
+
this.http = http;
|
|
14
|
+
this.apiRelativePath = '/api/';
|
|
15
|
+
this._inFlight = {};
|
|
16
|
+
}
|
|
17
|
+
getFile(source) {
|
|
18
|
+
return this.httpGetBlob(source);
|
|
19
|
+
}
|
|
20
|
+
httpGetBlob(url) {
|
|
21
|
+
if (this._inFlight[url.toLowerCase()]) {
|
|
22
|
+
return this._inFlight[url.toLowerCase()];
|
|
23
|
+
}
|
|
24
|
+
return this.http.get(`${this.apiRelativePath}${url}`, {
|
|
25
|
+
responseType: 'blob',
|
|
26
|
+
headers: this.getHeaders()
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
getHeaders(headers = null) {
|
|
30
|
+
if (!headers) {
|
|
31
|
+
headers = new HttpHeaders();
|
|
32
|
+
}
|
|
33
|
+
return headers.set('require-user', 'true');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9pbWFnZS9pbWFnZS1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFnQixlQUFlOytHQUFmLGVBQWU7bUhBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEcEMsVUFBVTs7QUFLWCxNQUFNLE9BQU8sc0JBQXNCO0lBSy9CLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFKNUIsb0JBQWUsR0FBRyxPQUFPLENBQUM7UUFFMUIsY0FBUyxHQUFRLEVBQUUsQ0FBQztJQUVXLENBQUM7SUFFeEMsT0FBTyxDQUFDLE1BQWM7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBVztRQUMzQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUU7WUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxFQUFFLEVBQUU7WUFDbEQsWUFBWSxFQUFFLE1BQU07WUFDcEIsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7U0FDN0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFVBQVUsQ0FBQyxVQUF1QixJQUFJO1FBQzFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztTQUMvQjtRQUNELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbWFnZUFwaVNlcnZpY2Uge1xuICAgIGFic3RyYWN0IGdldEZpbGUoc291cmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEJsb2I+O1xufVxuXG5leHBvcnQgY2xhc3MgRGVmYXVsdEltYWdlQXBpU2VydmljZSBpbXBsZW1lbnRzIEltYWdlQXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSBhcGlSZWxhdGl2ZVBhdGggPSAnL2FwaS8nO1xuXG4gICAgcHJpdmF0ZSBfaW5GbGlnaHQ6IGFueSA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuXG4gICAgZ2V0RmlsZShzb3VyY2U6IHN0cmluZyk6IE9ic2VydmFibGU8QmxvYj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwR2V0QmxvYihzb3VyY2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaHR0cEdldEJsb2IodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICAgICAgaWYgKHRoaXMuX2luRmxpZ2h0W3VybC50b0xvd2VyQ2FzZSgpXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2luRmxpZ2h0W3VybC50b0xvd2VyQ2FzZSgpXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmFwaVJlbGF0aXZlUGF0aH0ke3VybH1gLCB7XG4gICAgICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcbiAgICAgICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SGVhZGVycyhoZWFkZXJzOiBIdHRwSGVhZGVycyA9IG51bGwpOiBIdHRwSGVhZGVycyB7XG4gICAgICAgIGlmICghaGVhZGVycykge1xuICAgICAgICAgICAgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBoZWFkZXJzLnNldCgncmVxdWlyZS11c2VyJywgJ3RydWUnKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { fromEvent } from 'rxjs';
|
|
2
|
+
export class ImageInputHandler {
|
|
3
|
+
constructor(editorService, image) {
|
|
4
|
+
this.editorService = editorService;
|
|
5
|
+
this.image = image;
|
|
6
|
+
this.imageComponentTagName = 'APP-NOD-IMAGE';
|
|
7
|
+
this.undoRedoActions = {};
|
|
8
|
+
this.imageKeyDownSubscription = fromEvent(document, 'keydown').subscribe(event => this.onKeyDown(event));
|
|
9
|
+
this.clickSubscription = fromEvent(document, 'click').subscribe(event => this.onClick(event.target));
|
|
10
|
+
this.fillUndoRedoActions();
|
|
11
|
+
}
|
|
12
|
+
destroy() {
|
|
13
|
+
this.imageKeyDownSubscription?.unsubscribe();
|
|
14
|
+
this.clickSubscription?.unsubscribe();
|
|
15
|
+
}
|
|
16
|
+
onKeyDown(event) {
|
|
17
|
+
if (this.editorService.isViewOnly) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (['Backspace', 'Delete'].includes(event.code)) {
|
|
21
|
+
this.editorService.removeImage(this.image.insertIndex);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const keyCombination = this.getKeyCombination(event);
|
|
25
|
+
if (this.undoRedoActions[keyCombination] && !this.editorService.isViewOnly) {
|
|
26
|
+
this.undoRedoActions[keyCombination]();
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (!event.ctrlKey && !event.altKey && !event.shiftKey && !event.metaKey && event.key.length === 1) {
|
|
31
|
+
this.editorService.insertText(event.key);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
getKeyCombination(event) {
|
|
35
|
+
let result = event.metaKey ? 'Command-' : '';
|
|
36
|
+
return event.ctrlKey ? `${result}Ctrl-${event.code}` : '';
|
|
37
|
+
}
|
|
38
|
+
fillUndoRedoActions() {
|
|
39
|
+
this.undoRedoActions['Ctrl-KeyZ'] = () => this.editorService.undo();
|
|
40
|
+
this.undoRedoActions['Command-KeyZ'] = () => this.editorService.undo();
|
|
41
|
+
this.undoRedoActions['Ctrl-KeyY'] = () => this.editorService.redo();
|
|
42
|
+
this.undoRedoActions['Command-KeyY'] = () => this.editorService.redo();
|
|
43
|
+
}
|
|
44
|
+
onClick(element) {
|
|
45
|
+
let currentElement = element;
|
|
46
|
+
while (currentElement) {
|
|
47
|
+
if (currentElement.tagName === this.imageComponentTagName) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
currentElement = currentElement.parentElement;
|
|
51
|
+
}
|
|
52
|
+
this.editorService.blurCustomComponent();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtaW5wdXQuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb21wb25lbnRzL2ltYWdlL2lucHV0LWhhbmRsZXIvaW1hZ2UtaW5wdXQuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUsvQyxNQUFNLE9BQU8saUJBQWlCO0lBUzFCLFlBQTZCLGFBQTRCLEVBQW1CLEtBQTBCO1FBQXpFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQW1CLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBUjdGLDBCQUFxQixHQUFHLGVBQWUsQ0FBQztRQUVoQyxvQkFBZSxHQUFrQyxFQUFFLENBQUM7UUFPakUsSUFBSSxDQUFDLHdCQUF3QixHQUFHLFNBQVMsQ0FBZ0IsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4SCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFnQixRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBcUIsQ0FBQyxDQUFDLENBQUM7UUFDbkksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTyxTQUFTLENBQUMsS0FBb0I7UUFDbEMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRTtZQUMvQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2RCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUU7WUFDeEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQW9CO1FBQzFDLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVPLG1CQUFtQjtRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwRSxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0UsQ0FBQztJQUVPLE9BQU8sQ0FBQyxPQUFvQjtRQUNoQyxJQUFJLGNBQWMsR0FBRyxPQUFPLENBQUM7UUFDN0IsT0FBTyxjQUFjLEVBQUU7WUFDbkIsSUFBSSxjQUFjLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDdkQsT0FBTzthQUNWO1lBQ0QsY0FBYyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUM7U0FDakQ7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyYWN0aW9uL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IE5vZGVySW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2ltYWdlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjbGFzcyBJbWFnZUlucHV0SGFuZGxlciB7XG4gICAgcmVhZG9ubHkgaW1hZ2VDb21wb25lbnRUYWdOYW1lID0gJ0FQUC1OT0QtSU1BR0UnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB1bmRvUmVkb0FjdGlvbnM6IHsgW2tleTogc3RyaW5nXTogKCkgPT4gdm9pZCB9ID0ge307XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGltYWdlS2V5RG93blN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjbGlja1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlLCBwcml2YXRlIHJlYWRvbmx5IGltYWdlOiBOb2RlckltYWdlQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuaW1hZ2VLZXlEb3duU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGRvY3VtZW50LCAna2V5ZG93bicpLnN1YnNjcmliZShldmVudCA9PiB0aGlzLm9uS2V5RG93bihldmVudCkpO1xuICAgICAgICB0aGlzLmNsaWNrU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGRvY3VtZW50LCAnY2xpY2snKS5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5vbkNsaWNrKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpO1xuICAgICAgICB0aGlzLmZpbGxVbmRvUmVkb0FjdGlvbnMoKTtcbiAgICB9XG5cbiAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlS2V5RG93blN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5jbGlja1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmlzVmlld09ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChbJ0JhY2tzcGFjZScsICdEZWxldGUnXS5pbmNsdWRlcyhldmVudC5jb2RlKSkge1xuICAgICAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnJlbW92ZUltYWdlKHRoaXMuaW1hZ2UuaW5zZXJ0SW5kZXgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qga2V5Q29tYmluYXRpb24gPSB0aGlzLmdldEtleUNvbWJpbmF0aW9uKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMudW5kb1JlZG9BY3Rpb25zW2tleUNvbWJpbmF0aW9uXSAmJiAhdGhpcy5lZGl0b3JTZXJ2aWNlLmlzVmlld09ubHkpIHtcbiAgICAgICAgICAgIHRoaXMudW5kb1JlZG9BY3Rpb25zW2tleUNvbWJpbmF0aW9uXSgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZXZlbnQuY3RybEtleSAmJiAhZXZlbnQuYWx0S2V5ICYmICFldmVudC5zaGlmdEtleSAmJiAhZXZlbnQubWV0YUtleSAmJiBldmVudC5rZXkubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuaW5zZXJ0VGV4dChldmVudC5rZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRLZXlDb21iaW5hdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHN0cmluZyB7XG4gICAgICAgIGxldCByZXN1bHQgPSBldmVudC5tZXRhS2V5ID8gJ0NvbW1hbmQtJyA6ICcnO1xuICAgICAgICByZXR1cm4gZXZlbnQuY3RybEtleSA/IGAke3Jlc3VsdH1DdHJsLSR7ZXZlbnQuY29kZX1gIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWxsVW5kb1JlZG9BY3Rpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVuZG9SZWRvQWN0aW9uc1snQ3RybC1LZXlaJ10gPSAoKSA9PiB0aGlzLmVkaXRvclNlcnZpY2UudW5kbygpO1xuICAgICAgICB0aGlzLnVuZG9SZWRvQWN0aW9uc1snQ29tbWFuZC1LZXlaJ10gPSAoKSA9PiB0aGlzLmVkaXRvclNlcnZpY2UudW5kbygpO1xuICAgICAgICB0aGlzLnVuZG9SZWRvQWN0aW9uc1snQ3RybC1LZXlZJ10gPSAoKSA9PiB0aGlzLmVkaXRvclNlcnZpY2UucmVkbygpO1xuICAgICAgICB0aGlzLnVuZG9SZWRvQWN0aW9uc1snQ29tbWFuZC1LZXlZJ10gPSAoKSA9PiB0aGlzLmVkaXRvclNlcnZpY2UucmVkbygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25DbGljayhlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlbGVtZW50O1xuICAgICAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50RWxlbWVudC50YWdOYW1lID09PSB0aGlzLmltYWdlQ29tcG9uZW50VGFnTmFtZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGN1cnJlbnRFbGVtZW50ID0gY3VycmVudEVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuYmx1ckN1c3RvbUNvbXBvbmVudCgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb21wb25lbnRzL2ltYWdlL3Jlc2l6ZXIvY29vcmRpbmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb29yZGluYXRlIHtcbiAgICByZWFkb25seSB4OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgeTogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Direction } from './direction.enum';
|
|
2
|
+
export class DirectionWrapper {
|
|
3
|
+
constructor(direction) {
|
|
4
|
+
this.direction = direction;
|
|
5
|
+
}
|
|
6
|
+
isHorizontal() {
|
|
7
|
+
return [Direction.East, Direction.West].includes(this.direction);
|
|
8
|
+
}
|
|
9
|
+
isOrdinal() {
|
|
10
|
+
return [Direction.NorthWest, Direction.NorthEast, Direction.SouthEast, Direction.SouthWest].includes(this.direction);
|
|
11
|
+
}
|
|
12
|
+
includesWest() {
|
|
13
|
+
return [Direction.West, Direction.NorthWest, Direction.SouthWest].includes(this.direction);
|
|
14
|
+
}
|
|
15
|
+
includesNorth() {
|
|
16
|
+
return [Direction.North, Direction.NorthWest, Direction.NorthEast].includes(this.direction);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9uLXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9pbWFnZS9yZXNpemVyL2RpcmVjdGlvbi13cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QyxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFlBQTZCLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFBRyxDQUFDO0lBRXJELFlBQVk7UUFDUixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsU0FBUztRQUNMLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJy4vZGlyZWN0aW9uLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgRGlyZWN0aW9uV3JhcHBlciB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaXJlY3Rpb246IERpcmVjdGlvbikge31cblxuICAgIGlzSG9yaXpvbnRhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFtEaXJlY3Rpb24uRWFzdCwgRGlyZWN0aW9uLldlc3RdLmluY2x1ZGVzKHRoaXMuZGlyZWN0aW9uKTtcbiAgICB9XG5cbiAgICBpc09yZGluYWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBbRGlyZWN0aW9uLk5vcnRoV2VzdCwgRGlyZWN0aW9uLk5vcnRoRWFzdCwgRGlyZWN0aW9uLlNvdXRoRWFzdCwgRGlyZWN0aW9uLlNvdXRoV2VzdF0uaW5jbHVkZXModGhpcy5kaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIGluY2x1ZGVzV2VzdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFtEaXJlY3Rpb24uV2VzdCwgRGlyZWN0aW9uLk5vcnRoV2VzdCwgRGlyZWN0aW9uLlNvdXRoV2VzdF0uaW5jbHVkZXModGhpcy5kaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIGluY2x1ZGVzTm9ydGgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBbRGlyZWN0aW9uLk5vcnRoLCBEaXJlY3Rpb24uTm9ydGhXZXN0LCBEaXJlY3Rpb24uTm9ydGhFYXN0XS5pbmNsdWRlcyh0aGlzLmRpcmVjdGlvbik7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var Direction;
|
|
2
|
+
(function (Direction) {
|
|
3
|
+
Direction[Direction["NorthWest"] = 0] = "NorthWest";
|
|
4
|
+
Direction[Direction["North"] = 1] = "North";
|
|
5
|
+
Direction[Direction["NorthEast"] = 2] = "NorthEast";
|
|
6
|
+
Direction[Direction["East"] = 3] = "East";
|
|
7
|
+
Direction[Direction["SouthEast"] = 4] = "SouthEast";
|
|
8
|
+
Direction[Direction["South"] = 5] = "South";
|
|
9
|
+
Direction[Direction["SouthWest"] = 6] = "SouthWest";
|
|
10
|
+
Direction[Direction["West"] = 7] = "West";
|
|
11
|
+
})(Direction || (Direction = {}));
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9uLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9pbWFnZS9yZXNpemVyL2RpcmVjdGlvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFNBU1g7QUFURCxXQUFZLFNBQVM7SUFDakIsbURBQVMsQ0FBQTtJQUNULDJDQUFLLENBQUE7SUFDTCxtREFBUyxDQUFBO0lBQ1QseUNBQUksQ0FBQTtJQUNKLG1EQUFTLENBQUE7SUFDVCwyQ0FBSyxDQUFBO0lBQ0wsbURBQVMsQ0FBQTtJQUNULHlDQUFJLENBQUE7QUFDUixDQUFDLEVBVFcsU0FBUyxLQUFULFNBQVMsUUFTcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEaXJlY3Rpb24ge1xuICAgIE5vcnRoV2VzdCxcbiAgICBOb3J0aCxcbiAgICBOb3J0aEVhc3QsXG4gICAgRWFzdCxcbiAgICBTb3V0aEVhc3QsXG4gICAgU291dGgsXG4gICAgU291dGhXZXN0LFxuICAgIFdlc3Rcbn1cbiJdfQ==
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
|
|
2
|
+
import { Direction } from './direction.enum';
|
|
3
|
+
import { DirectionWrapper } from './direction-wrapper';
|
|
4
|
+
import { SizeWrapper } from './size-wrapper';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ResizerComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.isDisabled = false;
|
|
9
|
+
this.resizeEnd = new EventEmitter();
|
|
10
|
+
this.Direction = Direction;
|
|
11
|
+
}
|
|
12
|
+
get width() {
|
|
13
|
+
return this._size.width;
|
|
14
|
+
}
|
|
15
|
+
get height() {
|
|
16
|
+
return this._size.height;
|
|
17
|
+
}
|
|
18
|
+
get right() {
|
|
19
|
+
return this.direction?.includesWest() ? 0 : null;
|
|
20
|
+
}
|
|
21
|
+
get bottom() {
|
|
22
|
+
const halfPointHeight = 4;
|
|
23
|
+
return this.direction?.includesNorth() ? halfPointHeight : null;
|
|
24
|
+
}
|
|
25
|
+
set size(value) {
|
|
26
|
+
if (!this.direction) {
|
|
27
|
+
this._size = new SizeWrapper(value, { width: 1, height: 1 });
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
if (!this._size) {
|
|
32
|
+
throw new Error('Initial size is not set');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
onMousemove(event) {
|
|
36
|
+
if (!this.direction || this.isDisabled) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const delta = this.getDelta(event);
|
|
40
|
+
this.setPreviousCoordinate(event);
|
|
41
|
+
if (this.direction.isOrdinal()) {
|
|
42
|
+
this.virtualRectSize.applyDelta(delta);
|
|
43
|
+
this._size.fitProportionallyTo(this.virtualRectSize);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this.direction.isHorizontal() ? this.virtualRectSize.applyDeltaX(delta) : this.virtualRectSize.applyDeltaY(delta);
|
|
47
|
+
this._size.fitTo(this.virtualRectSize);
|
|
48
|
+
}
|
|
49
|
+
onMouseup() {
|
|
50
|
+
if (!this.direction || this.isDisabled) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.direction = null;
|
|
54
|
+
this.resizeEnd.emit(this._size.toSize());
|
|
55
|
+
}
|
|
56
|
+
onStartResizing(event, direction) {
|
|
57
|
+
event.preventDefault();
|
|
58
|
+
if (event.button !== 0) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this.virtualRectSize = new SizeWrapper(this._size.toSize());
|
|
62
|
+
this.direction = new DirectionWrapper(direction);
|
|
63
|
+
this.setPreviousCoordinate(event);
|
|
64
|
+
}
|
|
65
|
+
getDelta(event) {
|
|
66
|
+
const rawDeltaX = event.screenX - this.prevCoordinate.x;
|
|
67
|
+
const deltaX = this.direction.includesWest() ? -rawDeltaX : rawDeltaX;
|
|
68
|
+
const rawDeltaY = event.screenY - this.prevCoordinate.y;
|
|
69
|
+
const deltaY = this.direction.includesNorth() ? -rawDeltaY : rawDeltaY;
|
|
70
|
+
return { deltaX, deltaY };
|
|
71
|
+
}
|
|
72
|
+
setPreviousCoordinate(event) {
|
|
73
|
+
this.prevCoordinate = { x: event.screenX, y: event.screenY };
|
|
74
|
+
}
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResizerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ResizerComponent, selector: "app-nod-resizer", inputs: { isDisabled: "isDisabled", size: "size" }, outputs: { resizeEnd: "resizeEnd" }, host: { listeners: { "document:mousemove": "onMousemove($event)", "window:mouseup": "onMouseup()" }, properties: { "style.width.px": "this.width", "style.height.px": "this.height", "style.right.px": "this.right", "style.bottom.px": "this.bottom" } }, ngImport: i0, template: "<span\n class=\"point north-west\"\n (mousedown)=\"onStartResizing($event, Direction.NorthWest)\"></span>\n<span\n class=\"point north\"\n (mousedown)=\"onStartResizing($event, Direction.North)\"></span>\n<span\n class=\"point north-east\"\n (mousedown)=\"onStartResizing($event, Direction.NorthEast)\"></span>\n<span\n class=\"point east\"\n (mousedown)=\"onStartResizing($event, Direction.East)\"></span>\n<span\n class=\"point south-east\"\n (mousedown)=\"onStartResizing($event, Direction.SouthEast)\"></span>\n<span\n class=\"point south\"\n (mousedown)=\"onStartResizing($event, Direction.South)\"></span>\n<span\n class=\"point south-west\"\n (mousedown)=\"onStartResizing($event, Direction.SouthWest)\"></span>\n<span\n class=\"point west\"\n (mousedown)=\"onStartResizing($event, Direction.West)\"></span>\n", styles: [":host{display:block;border:1px solid #616161}.point{position:absolute;width:12px;height:12px;border:1px solid #616161;border-radius:50%;background-color:#fff}.point.north-west{top:-6px;left:-6px;cursor:nw-resize}.point.north{top:-6px;left:0;right:0;margin:auto;cursor:n-resize}.point.north-east{top:-6px;right:-6px;cursor:ne-resize}.point.east{top:0;bottom:0;right:-6px;margin:auto;cursor:e-resize}.point.south-east{bottom:-6px;right:-6px;cursor:se-resize}.point.south{bottom:-6px;left:0;right:0;margin:auto;cursor:s-resize}.point.south-west{bottom:-6px;left:-6px;cursor:sw-resize}.point.west{top:0;bottom:0;left:-6px;margin:auto;cursor:w-resize}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResizerComponent, decorators: [{
|
|
79
|
+
type: Component,
|
|
80
|
+
args: [{ selector: 'app-nod-resizer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"point north-west\"\n (mousedown)=\"onStartResizing($event, Direction.NorthWest)\"></span>\n<span\n class=\"point north\"\n (mousedown)=\"onStartResizing($event, Direction.North)\"></span>\n<span\n class=\"point north-east\"\n (mousedown)=\"onStartResizing($event, Direction.NorthEast)\"></span>\n<span\n class=\"point east\"\n (mousedown)=\"onStartResizing($event, Direction.East)\"></span>\n<span\n class=\"point south-east\"\n (mousedown)=\"onStartResizing($event, Direction.SouthEast)\"></span>\n<span\n class=\"point south\"\n (mousedown)=\"onStartResizing($event, Direction.South)\"></span>\n<span\n class=\"point south-west\"\n (mousedown)=\"onStartResizing($event, Direction.SouthWest)\"></span>\n<span\n class=\"point west\"\n (mousedown)=\"onStartResizing($event, Direction.West)\"></span>\n", styles: [":host{display:block;border:1px solid #616161}.point{position:absolute;width:12px;height:12px;border:1px solid #616161;border-radius:50%;background-color:#fff}.point.north-west{top:-6px;left:-6px;cursor:nw-resize}.point.north{top:-6px;left:0;right:0;margin:auto;cursor:n-resize}.point.north-east{top:-6px;right:-6px;cursor:ne-resize}.point.east{top:0;bottom:0;right:-6px;margin:auto;cursor:e-resize}.point.south-east{bottom:-6px;right:-6px;cursor:se-resize}.point.south{bottom:-6px;left:0;right:0;margin:auto;cursor:s-resize}.point.south-west{bottom:-6px;left:-6px;cursor:sw-resize}.point.west{top:0;bottom:0;left:-6px;margin:auto;cursor:w-resize}\n"] }]
|
|
81
|
+
}], propDecorators: { width: [{
|
|
82
|
+
type: HostBinding,
|
|
83
|
+
args: ['style.width.px']
|
|
84
|
+
}], height: [{
|
|
85
|
+
type: HostBinding,
|
|
86
|
+
args: ['style.height.px']
|
|
87
|
+
}], right: [{
|
|
88
|
+
type: HostBinding,
|
|
89
|
+
args: ['style.right.px']
|
|
90
|
+
}], bottom: [{
|
|
91
|
+
type: HostBinding,
|
|
92
|
+
args: ['style.bottom.px']
|
|
93
|
+
}], isDisabled: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}], size: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], resizeEnd: [{
|
|
98
|
+
type: Output
|
|
99
|
+
}], onMousemove: [{
|
|
100
|
+
type: HostListener,
|
|
101
|
+
args: ['document:mousemove', ['$event']]
|
|
102
|
+
}], onMouseup: [{
|
|
103
|
+
type: HostListener,
|
|
104
|
+
args: ['window:mouseup']
|
|
105
|
+
}] } });
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9pbWFnZS9yZXNpemVyL3Jlc2l6ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbXBvbmVudHMvaW1hZ2UvcmVzaXplci9yZXNpemVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduSSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVE3QyxNQUFNLE9BQU8sZ0JBQWdCO0lBTjdCO1FBNEJhLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFVbEIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFdEMsY0FBUyxHQUFHLFNBQVMsQ0FBQztLQWtFbEM7SUFuR0csSUFDSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFDSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFDSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFDSSxNQUFNO1FBQ04sTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDcEUsQ0FBQztJQUlELElBQ0ksSUFBSSxDQUFDLEtBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2hFO0lBQ0wsQ0FBQztJQWFELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztTQUM5QztJQUNMLENBQUM7SUFHRCxXQUFXLENBQUMsS0FBaUI7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQyxPQUFPO1NBQ1Y7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDckQsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBR0QsU0FBUztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBaUIsRUFBRSxTQUFvQjtRQUNuRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNwQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxRQUFRLENBQUMsS0FBaUI7UUFDOUIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUN4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRXRFLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUV2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFpQjtRQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqRSxDQUFDOytHQW5HUSxnQkFBZ0I7bUdBQWhCLGdCQUFnQiwyWUNmN0IsazJCQXdCQTs7NEZEVGEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNJLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNOzhCQUkzQyxLQUFLO3NCQURSLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU16QixNQUFNO3NCQURULFdBQVc7dUJBQUMsaUJBQWlCO2dCQU0xQixLQUFLO3NCQURSLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU16QixNQUFNO3NCQURULFdBQVc7dUJBQUMsaUJBQWlCO2dCQU1yQixVQUFVO3NCQUFsQixLQUFLO2dCQUdGLElBQUk7c0JBRFAsS0FBSztnQkFRSSxTQUFTO3NCQUFsQixNQUFNO2dCQWlCUCxXQUFXO3NCQURWLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBbUI5QyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29vcmRpbmF0ZSB9IGZyb20gJy4vY29vcmRpbmF0ZSc7XG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICcuL2RpcmVjdGlvbi5lbnVtJztcbmltcG9ydCB7IERpcmVjdGlvbldyYXBwZXIgfSBmcm9tICcuL2RpcmVjdGlvbi13cmFwcGVyJztcbmltcG9ydCB7IFNpemUgfSBmcm9tICcuLi9zaXplJztcbmltcG9ydCB7IFNpemVEZWx0YSB9IGZyb20gJy4vc2l6ZS1kZWx0YSc7XG5pbXBvcnQgeyBTaXplV3JhcHBlciB9IGZyb20gJy4vc2l6ZS13cmFwcGVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLXJlc2l6ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZXNpemVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yZXNpemVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUmVzaXplckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aC5weCcpXG4gICAgZ2V0IHdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplLndpZHRoO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnB4JylcbiAgICBnZXQgaGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplLmhlaWdodDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLnJpZ2h0LnB4JylcbiAgICBnZXQgcmlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uPy5pbmNsdWRlc1dlc3QoKSA/IDAgOiBudWxsO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuYm90dG9tLnB4JylcbiAgICBnZXQgYm90dG9tKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGhhbGZQb2ludEhlaWdodCA9IDQ7XG4gICAgICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbj8uaW5jbHVkZXNOb3J0aCgpID8gaGFsZlBvaW50SGVpZ2h0IDogbnVsbDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBpc0Rpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzaXplKHZhbHVlOiBTaXplKSB7XG4gICAgICAgIGlmICghdGhpcy5kaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3NpemUgPSBuZXcgU2l6ZVdyYXBwZXIodmFsdWUsIHsgd2lkdGg6IDEsIGhlaWdodDogMSB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIF9zaXplOiBTaXplV3JhcHBlcjtcblxuICAgIEBPdXRwdXQoKSByZXNpemVFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPFNpemU+KCk7XG5cbiAgICByZWFkb25seSBEaXJlY3Rpb24gPSBEaXJlY3Rpb247XG5cbiAgICBwcml2YXRlIHZpcnR1YWxSZWN0U2l6ZTogU2l6ZVdyYXBwZXI7XG5cbiAgICBwcml2YXRlIHByZXZDb29yZGluYXRlOiBDb29yZGluYXRlO1xuXG4gICAgcHJpdmF0ZSBkaXJlY3Rpb246IERpcmVjdGlvbldyYXBwZXI7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9zaXplKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0luaXRpYWwgc2l6ZSBpcyBub3Qgc2V0Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnLCBbJyRldmVudCddKVxuICAgIG9uTW91c2Vtb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXJlY3Rpb24gfHwgdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWx0YSA9IHRoaXMuZ2V0RGVsdGEoZXZlbnQpO1xuICAgICAgICB0aGlzLnNldFByZXZpb3VzQ29vcmRpbmF0ZShldmVudCk7XG4gICAgICAgIGlmICh0aGlzLmRpcmVjdGlvbi5pc09yZGluYWwoKSkge1xuICAgICAgICAgICAgdGhpcy52aXJ0dWFsUmVjdFNpemUuYXBwbHlEZWx0YShkZWx0YSk7XG4gICAgICAgICAgICB0aGlzLl9zaXplLmZpdFByb3BvcnRpb25hbGx5VG8odGhpcy52aXJ0dWFsUmVjdFNpemUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaXJlY3Rpb24uaXNIb3Jpem9udGFsKCkgPyB0aGlzLnZpcnR1YWxSZWN0U2l6ZS5hcHBseURlbHRhWChkZWx0YSkgOiB0aGlzLnZpcnR1YWxSZWN0U2l6ZS5hcHBseURlbHRhWShkZWx0YSk7XG4gICAgICAgIHRoaXMuX3NpemUuZml0VG8odGhpcy52aXJ0dWFsUmVjdFNpemUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZXVwJylcbiAgICBvbk1vdXNldXAoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXJlY3Rpb24gfHwgdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpcmVjdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMucmVzaXplRW5kLmVtaXQodGhpcy5fc2l6ZS50b1NpemUoKSk7XG4gICAgfVxuXG4gICAgb25TdGFydFJlc2l6aW5nKGV2ZW50OiBNb3VzZUV2ZW50LCBkaXJlY3Rpb246IERpcmVjdGlvbik6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAoZXZlbnQuYnV0dG9uICE9PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZpcnR1YWxSZWN0U2l6ZSA9IG5ldyBTaXplV3JhcHBlcih0aGlzLl9zaXplLnRvU2l6ZSgpKTtcbiAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSBuZXcgRGlyZWN0aW9uV3JhcHBlcihkaXJlY3Rpb24pO1xuICAgICAgICB0aGlzLnNldFByZXZpb3VzQ29vcmRpbmF0ZShldmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREZWx0YShldmVudDogTW91c2VFdmVudCk6IFNpemVEZWx0YSB7XG4gICAgICAgIGNvbnN0IHJhd0RlbHRhWCA9IGV2ZW50LnNjcmVlblggLSB0aGlzLnByZXZDb29yZGluYXRlLng7XG4gICAgICAgIGNvbnN0IGRlbHRhWCA9IHRoaXMuZGlyZWN0aW9uLmluY2x1ZGVzV2VzdCgpID8gLXJhd0RlbHRhWCA6IHJhd0RlbHRhWDtcblxuICAgICAgICBjb25zdCByYXdEZWx0YVkgPSBldmVudC5zY3JlZW5ZIC0gdGhpcy5wcmV2Q29vcmRpbmF0ZS55O1xuICAgICAgICBjb25zdCBkZWx0YVkgPSB0aGlzLmRpcmVjdGlvbi5pbmNsdWRlc05vcnRoKCkgPyAtcmF3RGVsdGFZIDogcmF3RGVsdGFZO1xuXG4gICAgICAgIHJldHVybiB7IGRlbHRhWCwgZGVsdGFZIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQcmV2aW91c0Nvb3JkaW5hdGUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmV2Q29vcmRpbmF0ZSA9IHsgeDogZXZlbnQuc2NyZWVuWCwgeTogZXZlbnQuc2NyZWVuWSB9O1xuICAgIH1cbn1cbiIsIjxzcGFuXG4gICAgY2xhc3M9XCJwb2ludCBub3J0aC13ZXN0XCJcbiAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRSZXNpemluZygkZXZlbnQsIERpcmVjdGlvbi5Ob3J0aFdlc3QpXCI+PC9zcGFuPlxuPHNwYW5cbiAgICBjbGFzcz1cInBvaW50IG5vcnRoXCJcbiAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRSZXNpemluZygkZXZlbnQsIERpcmVjdGlvbi5Ob3J0aClcIj48L3NwYW4+XG48c3BhblxuICAgIGNsYXNzPVwicG9pbnQgbm9ydGgtZWFzdFwiXG4gICAgKG1vdXNlZG93bik9XCJvblN0YXJ0UmVzaXppbmcoJGV2ZW50LCBEaXJlY3Rpb24uTm9ydGhFYXN0KVwiPjwvc3Bhbj5cbjxzcGFuXG4gICAgY2xhc3M9XCJwb2ludCBlYXN0XCJcbiAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRSZXNpemluZygkZXZlbnQsIERpcmVjdGlvbi5FYXN0KVwiPjwvc3Bhbj5cbjxzcGFuXG4gICAgY2xhc3M9XCJwb2ludCBzb3V0aC1lYXN0XCJcbiAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRSZXNpemluZygkZXZlbnQsIERpcmVjdGlvbi5Tb3V0aEVhc3QpXCI+PC9zcGFuPlxuPHNwYW5cbiAgICBjbGFzcz1cInBvaW50IHNvdXRoXCJcbiAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRSZXNpemluZygkZXZlbnQsIERpcmVjdGlvbi5Tb3V0aClcIj48L3NwYW4+XG48c3BhblxuICAgIGNsYXNzPVwicG9pbnQgc291dGgtd2VzdFwiXG4gICAgKG1vdXNlZG93bik9XCJvblN0YXJ0UmVzaXppbmcoJGV2ZW50LCBEaXJlY3Rpb24uU291dGhXZXN0KVwiPjwvc3Bhbj5cbjxzcGFuXG4gICAgY2xhc3M9XCJwb2ludCB3ZXN0XCJcbiAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRSZXNpemluZygkZXZlbnQsIERpcmVjdGlvbi5XZXN0KVwiPjwvc3Bhbj5cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS1kZWx0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb21wb25lbnRzL2ltYWdlL3Jlc2l6ZXIvc2l6ZS1kZWx0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTaXplRGVsdGEge1xuICAgIHJlYWRvbmx5IGRlbHRhWDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGRlbHRhWTogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export class SizeWrapper {
|
|
2
|
+
get width() {
|
|
3
|
+
return this._width;
|
|
4
|
+
}
|
|
5
|
+
get height() {
|
|
6
|
+
return this._height;
|
|
7
|
+
}
|
|
8
|
+
constructor(size, minSize) {
|
|
9
|
+
this.minSize = minSize;
|
|
10
|
+
if (minSize && (size.width < minSize.width || size.height < minSize.height)) {
|
|
11
|
+
throw new Error('Passed size is smaller than minimum size');
|
|
12
|
+
}
|
|
13
|
+
this._height = size.height;
|
|
14
|
+
this._width = size.width;
|
|
15
|
+
this.aspectRatio = this._width / this._height;
|
|
16
|
+
}
|
|
17
|
+
applyDelta(delta) {
|
|
18
|
+
this.applyDeltaX(delta);
|
|
19
|
+
this.applyDeltaY(delta);
|
|
20
|
+
}
|
|
21
|
+
applyDeltaX(delta) {
|
|
22
|
+
this._width = this.getAllowedWidth(this._width + delta.deltaX);
|
|
23
|
+
}
|
|
24
|
+
applyDeltaY(delta) {
|
|
25
|
+
this._height = this.getAllowedHeight(this._height + delta.deltaY);
|
|
26
|
+
}
|
|
27
|
+
fitProportionallyTo(size) {
|
|
28
|
+
const widthDiff = size._width - this._width;
|
|
29
|
+
const heightDiff = size._height - this._height;
|
|
30
|
+
if (widthDiff > heightDiff) {
|
|
31
|
+
this._width = this.getAllowedWidth(size.width);
|
|
32
|
+
this._height = Math.floor(this._width / this.aspectRatio);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
this._height = this.getAllowedHeight(size.height);
|
|
36
|
+
this._width = Math.floor(this._height * this.aspectRatio);
|
|
37
|
+
}
|
|
38
|
+
fitTo(size) {
|
|
39
|
+
this._width = this.getAllowedWidth(size.width);
|
|
40
|
+
this._height = this.getAllowedHeight(size.height);
|
|
41
|
+
}
|
|
42
|
+
toSize() {
|
|
43
|
+
return { width: this._width, height: this._height };
|
|
44
|
+
}
|
|
45
|
+
getAllowedWidth(value) {
|
|
46
|
+
return !this.minSize ? value : Math.max(value, this.minSize.width);
|
|
47
|
+
}
|
|
48
|
+
getAllowedHeight(value) {
|
|
49
|
+
return !this.minSize ? value : Math.max(value, this.minSize.height);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS13cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbXBvbmVudHMvaW1hZ2UvcmVzaXplci9zaXplLXdyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLFdBQVc7SUFJcEIsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELFlBQVksSUFBVSxFQUFtQixPQUFjO1FBQWQsWUFBTyxHQUFQLE9BQU8sQ0FBTztRQUNuRCxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6RSxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7U0FDL0Q7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2xELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBZ0I7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBZ0I7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBZ0I7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQWlCO1FBQ2pDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDL0MsSUFBSSxTQUFTLEdBQUcsVUFBVSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzFELE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFpQjtRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTTtRQUNGLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFTyxlQUFlLENBQUMsS0FBYTtRQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2l6ZSB9IGZyb20gJy4uL3NpemUnO1xuaW1wb3J0IHsgU2l6ZURlbHRhIH0gZnJvbSAnLi9zaXplLWRlbHRhJztcblxuZXhwb3J0IGNsYXNzIFNpemVXcmFwcGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFzcGVjdFJhdGlvOiBudW1iZXI7XG5cbiAgICBwcml2YXRlIF93aWR0aDogbnVtYmVyO1xuICAgIGdldCB3aWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGVpZ2h0OiBudW1iZXI7XG4gICAgZ2V0IGhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5faGVpZ2h0O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHNpemU6IFNpemUsIHByaXZhdGUgcmVhZG9ubHkgbWluU2l6ZT86IFNpemUpIHtcbiAgICAgICAgaWYgKG1pblNpemUgJiYgKHNpemUud2lkdGggPCBtaW5TaXplLndpZHRoIHx8IHNpemUuaGVpZ2h0IDwgbWluU2l6ZS5oZWlnaHQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Bhc3NlZCBzaXplIGlzIHNtYWxsZXIgdGhhbiBtaW5pbXVtIHNpemUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2hlaWdodCA9IHNpemUuaGVpZ2h0O1xuICAgICAgICB0aGlzLl93aWR0aCA9IHNpemUud2lkdGg7XG4gICAgICAgIHRoaXMuYXNwZWN0UmF0aW8gPSB0aGlzLl93aWR0aCAvIHRoaXMuX2hlaWdodDtcbiAgICB9XG5cbiAgICBhcHBseURlbHRhKGRlbHRhOiBTaXplRGVsdGEpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBseURlbHRhWChkZWx0YSk7XG4gICAgICAgIHRoaXMuYXBwbHlEZWx0YVkoZGVsdGEpO1xuICAgIH1cblxuICAgIGFwcGx5RGVsdGFYKGRlbHRhOiBTaXplRGVsdGEpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fd2lkdGggPSB0aGlzLmdldEFsbG93ZWRXaWR0aCh0aGlzLl93aWR0aCArIGRlbHRhLmRlbHRhWCk7XG4gICAgfVxuXG4gICAgYXBwbHlEZWx0YVkoZGVsdGE6IFNpemVEZWx0YSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9oZWlnaHQgPSB0aGlzLmdldEFsbG93ZWRIZWlnaHQodGhpcy5faGVpZ2h0ICsgZGVsdGEuZGVsdGFZKTtcbiAgICB9XG5cbiAgICBmaXRQcm9wb3J0aW9uYWxseVRvKHNpemU6IFNpemVXcmFwcGVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdpZHRoRGlmZiA9IHNpemUuX3dpZHRoIC0gdGhpcy5fd2lkdGg7XG4gICAgICAgIGNvbnN0IGhlaWdodERpZmYgPSBzaXplLl9oZWlnaHQgLSB0aGlzLl9oZWlnaHQ7XG4gICAgICAgIGlmICh3aWR0aERpZmYgPiBoZWlnaHREaWZmKSB7XG4gICAgICAgICAgICB0aGlzLl93aWR0aCA9IHRoaXMuZ2V0QWxsb3dlZFdpZHRoKHNpemUud2lkdGgpO1xuICAgICAgICAgICAgdGhpcy5faGVpZ2h0ID0gTWF0aC5mbG9vcih0aGlzLl93aWR0aCAvIHRoaXMuYXNwZWN0UmF0aW8pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faGVpZ2h0ID0gdGhpcy5nZXRBbGxvd2VkSGVpZ2h0KHNpemUuaGVpZ2h0KTtcbiAgICAgICAgdGhpcy5fd2lkdGggPSBNYXRoLmZsb29yKHRoaXMuX2hlaWdodCAqIHRoaXMuYXNwZWN0UmF0aW8pO1xuICAgIH1cblxuICAgIGZpdFRvKHNpemU6IFNpemVXcmFwcGVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3dpZHRoID0gdGhpcy5nZXRBbGxvd2VkV2lkdGgoc2l6ZS53aWR0aCk7XG4gICAgICAgIHRoaXMuX2hlaWdodCA9IHRoaXMuZ2V0QWxsb3dlZEhlaWdodChzaXplLmhlaWdodCk7XG4gICAgfVxuXG4gICAgdG9TaXplKCk6IFNpemUge1xuICAgICAgICByZXR1cm4geyB3aWR0aDogdGhpcy5fd2lkdGgsIGhlaWdodDogdGhpcy5faGVpZ2h0IH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBbGxvd2VkV2lkdGgodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAhdGhpcy5taW5TaXplID8gdmFsdWUgOiBNYXRoLm1heCh2YWx1ZSwgdGhpcy5taW5TaXplLndpZHRoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFsbG93ZWRIZWlnaHQodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAhdGhpcy5taW5TaXplID8gdmFsdWUgOiBNYXRoLm1heCh2YWx1ZSwgdGhpcy5taW5TaXplLmhlaWdodCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb21wb25lbnRzL2ltYWdlL3NpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2l6ZSB7XG4gICAgcmVhZG9ubHkgd2lkdGg6IG51bWJlcjtcbiAgICByZWFkb25seSBoZWlnaHQ6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Directive, HostBinding, inject, Input } from '@angular/core';
|
|
2
|
+
import { DestroyComponent } from './destroy.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BaseNoderComponent extends DestroyComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this._isFocused = false;
|
|
8
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
9
|
+
}
|
|
10
|
+
get focused() {
|
|
11
|
+
return this._isFocused;
|
|
12
|
+
}
|
|
13
|
+
get insertIndex() {
|
|
14
|
+
return this.content.insertIndex;
|
|
15
|
+
}
|
|
16
|
+
set insertIndex(val) {
|
|
17
|
+
this.content.insertIndex = val;
|
|
18
|
+
}
|
|
19
|
+
get height() {
|
|
20
|
+
return this._height;
|
|
21
|
+
}
|
|
22
|
+
get width() {
|
|
23
|
+
return this._width;
|
|
24
|
+
}
|
|
25
|
+
get isFocused() {
|
|
26
|
+
return this._isFocused;
|
|
27
|
+
}
|
|
28
|
+
focus() {
|
|
29
|
+
this._isFocused = true;
|
|
30
|
+
this.cdr.markForCheck();
|
|
31
|
+
}
|
|
32
|
+
blur() {
|
|
33
|
+
this._isFocused = false;
|
|
34
|
+
this.cdr.markForCheck();
|
|
35
|
+
}
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseNoderComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
37
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BaseNoderComponent, inputs: { content: "content", sessionId: "sessionId", contentWidth: "contentWidth", generalProperties: "generalProperties" }, host: { properties: { "class.focused": "this.focused", "attr.data-session-id": "this.sessionId", "attr.data-insert-index": "this.insertIndex" } }, usesInheritance: true, ngImport: i0 }); }
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseNoderComponent, decorators: [{
|
|
40
|
+
type: Directive
|
|
41
|
+
}], propDecorators: { focused: [{
|
|
42
|
+
type: HostBinding,
|
|
43
|
+
args: ['class.focused']
|
|
44
|
+
}], content: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], sessionId: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}, {
|
|
49
|
+
type: HostBinding,
|
|
50
|
+
args: ['attr.data-session-id']
|
|
51
|
+
}], insertIndex: [{
|
|
52
|
+
type: HostBinding,
|
|
53
|
+
args: ['attr.data-insert-index']
|
|
54
|
+
}], contentWidth: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], generalProperties: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}] } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9zaGFyZWQvYWJzdHJhY3QvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFJdkQsTUFBTSxPQUFnQixrQkFBbUIsU0FBUSxnQkFBZ0I7SUFEakU7O1FBc0NjLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFLVixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FhdEQ7SUF0REcsSUFDSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFTRCxJQUNJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxHQUFXO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNuQyxDQUFDO0lBU0QsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFHRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUdELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBTUQsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBdERpQixrQkFBa0I7bUdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEdkMsU0FBUzs4QkFHRixPQUFPO3NCQURWLFdBQVc7dUJBQUMsZUFBZTtnQkFNNUIsT0FBTztzQkFETixLQUFLO2dCQUtOLFNBQVM7c0JBRlIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSS9CLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBU3JDLFlBQVk7c0JBRFgsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDdXN0b21Db250ZW50IH0gZnJvbSAnLi4vY3VzdG9tLWNvbnRlbnQnO1xuaW1wb3J0IHsgRGVzdHJveUNvbXBvbmVudCB9IGZyb20gJy4vZGVzdHJveS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VuZXJhbFByb3BlcnRpZXNNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2NvbnRlbnQvZGlzcGxheS1kYXRhL2dlbmVyYWwtcHJvcGVydGllcy5tb2RlbCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VOb2RlckNvbXBvbmVudCBleHRlbmRzIERlc3Ryb3lDb21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZm9jdXNlZCcpXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0ZvY3VzZWQ7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBjb250ZW50OiBDdXN0b21Db250ZW50O1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zZXNzaW9uLWlkJylcbiAgICBzZXNzaW9uSWQ6IG51bWJlcjtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWluc2VydC1pbmRleCcpXG4gICAgZ2V0IGluc2VydEluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQuaW5zZXJ0SW5kZXg7XG4gICAgfVxuICAgIHNldCBpbnNlcnRJbmRleCh2YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLmNvbnRlbnQuaW5zZXJ0SW5kZXggPSB2YWw7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBjb250ZW50V2lkdGg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2VuZXJhbFByb3BlcnRpZXM6IEdlbmVyYWxQcm9wZXJ0aWVzTW9kZWw7XG5cbiAgICBwcm90ZWN0ZWQgX2hlaWdodDogbnVtYmVyO1xuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlaWdodDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3dpZHRoOiBudW1iZXI7XG4gICAgZ2V0IHdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aWR0aDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2lzRm9jdXNlZCA9IGZhbHNlO1xuICAgIGdldCBpc0ZvY3VzZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0ZvY3VzZWQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICBhYnN0cmFjdCBpbml0aWFsaXplKCk6IHZvaWQ7XG5cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNGb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgYmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNGb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class DestroyComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.destroy$ = new Subject();
|
|
7
|
+
}
|
|
8
|
+
ngOnDestroy() {
|
|
9
|
+
this.destroy$.next(true);
|
|
10
|
+
this.destroy$.complete();
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DestroyComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
13
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DestroyComponent, ngImport: i0 }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DestroyComponent, decorators: [{
|
|
16
|
+
type: Directive
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJveS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9zaGFyZWQvYWJzdHJhY3QvZGVzdHJveS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUcvQixNQUFNLE9BQWdCLGdCQUFnQjtJQUR0QztRQUVJLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0tBTXJDO0lBSkcsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzsrR0FOaUIsZ0JBQWdCO21HQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRHJDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEZXN0cm95Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export class CustomComponentHelper {
|
|
2
|
+
static applyRemovingComponents(components, startIndex, endIndex) {
|
|
3
|
+
let firstRemovingIndex = null;
|
|
4
|
+
let deleteCount = 0;
|
|
5
|
+
components.forEach((x, index) => {
|
|
6
|
+
if (x.instance.insertIndex >= startIndex && x.instance.insertIndex <= endIndex) {
|
|
7
|
+
if (firstRemovingIndex === null) {
|
|
8
|
+
firstRemovingIndex = index;
|
|
9
|
+
}
|
|
10
|
+
deleteCount++;
|
|
11
|
+
x.destroy();
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
components.splice(firstRemovingIndex, deleteCount);
|
|
15
|
+
}
|
|
16
|
+
static applyRemovingOrReplacingToComponents(components, distance, symbolDifference, contents) {
|
|
17
|
+
if (!components.length) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const firstRemovingContentIndex = components.findIndex(x => x.instance.insertIndex >= distance.start);
|
|
21
|
+
if (firstRemovingContentIndex < 0) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
let lastRemovingContentIndex = components.length - 1;
|
|
25
|
+
while (lastRemovingContentIndex >= 0) {
|
|
26
|
+
if (components[lastRemovingContentIndex].instance.insertIndex <= distance.selectionEnd) {
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
components[lastRemovingContentIndex].instance.insertIndex += symbolDifference;
|
|
30
|
+
lastRemovingContentIndex--;
|
|
31
|
+
}
|
|
32
|
+
const deleteCount = lastRemovingContentIndex - firstRemovingContentIndex + 1;
|
|
33
|
+
const removedComponents = components.splice(firstRemovingContentIndex, deleteCount);
|
|
34
|
+
removedComponents.forEach(x => {
|
|
35
|
+
const index = contents.findIndex(y => y.insertIndex === x.instance.insertIndex);
|
|
36
|
+
if (index > -1) {
|
|
37
|
+
contents.splice(index, 1);
|
|
38
|
+
}
|
|
39
|
+
x.destroy();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNvbXBvbmVudC5oZXBsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9zaGFyZWQvY3VzdG9tLWNvbXBvbmVudC5oZXBsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixNQUFNLENBQUMsdUJBQXVCLENBQUMsVUFBOEMsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQy9HLElBQUksa0JBQWtCLEdBQWtCLElBQUksQ0FBQztRQUM3QyxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDcEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFJLFVBQVUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLEVBQUU7Z0JBQzVFLElBQUksa0JBQWtCLEtBQUssSUFBSSxFQUFFO29CQUM3QixrQkFBa0IsR0FBRyxLQUFLLENBQUM7aUJBQzlCO2dCQUVELFdBQVcsRUFBRSxDQUFDO2dCQUNkLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNmO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUMsb0NBQW9DLENBQ3ZDLFVBQThDLEVBQzlDLFFBQXVCLEVBQ3ZCLGdCQUF3QixFQUN4QixRQUF5QjtRQUV6QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUNwQixPQUFPO1NBQ1Y7UUFFRCxNQUFNLHlCQUF5QixHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEcsSUFBSSx5QkFBeUIsR0FBRyxDQUFDLEVBQUU7WUFDL0IsT0FBTztTQUNWO1FBRUQsSUFBSSx3QkFBd0IsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUVyRCxPQUFPLHdCQUF3QixJQUFJLENBQUMsRUFBRTtZQUNsQyxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRTtnQkFDcEYsTUFBTTthQUNUO1lBRUQsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxnQkFBZ0IsQ0FBQztZQUM5RSx3QkFBd0IsRUFBRSxDQUFDO1NBQzlCO1FBRUQsTUFBTSxXQUFXLEdBQUcsd0JBQXdCLEdBQUcseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO1FBQzdFLE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNwRixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDWixRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM3QjtZQUVELENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlTm9kZXJDb21wb25lbnQgfSBmcm9tICcuL2Fic3RyYWN0L2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbUNvbnRlbnQgfSBmcm9tICcuL2N1c3RvbS1jb250ZW50JztcbmltcG9ydCB7IERpc3RhbmNlTW9kZWwgfSBmcm9tICcuLi8uLi9leGVjdXRpb24vZGlzdGFuY2UubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tcG9uZW50SGVscGVyIHtcbiAgICBzdGF0aWMgYXBwbHlSZW1vdmluZ0NvbXBvbmVudHMoY29tcG9uZW50czogQ29tcG9uZW50UmVmPEJhc2VOb2RlckNvbXBvbmVudD5bXSwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGxldCBmaXJzdFJlbW92aW5nSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgICAgICBsZXQgZGVsZXRlQ291bnQgPSAwO1xuICAgICAgICBjb21wb25lbnRzLmZvckVhY2goKHgsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoeC5pbnN0YW5jZS5pbnNlcnRJbmRleCA+PSBzdGFydEluZGV4ICYmIHguaW5zdGFuY2UuaW5zZXJ0SW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBpZiAoZmlyc3RSZW1vdmluZ0luZGV4ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpcnN0UmVtb3ZpbmdJbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGRlbGV0ZUNvdW50Kys7XG4gICAgICAgICAgICAgICAgeC5kZXN0cm95KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbXBvbmVudHMuc3BsaWNlKGZpcnN0UmVtb3ZpbmdJbmRleCwgZGVsZXRlQ291bnQpO1xuICAgIH1cblxuICAgIHN0YXRpYyBhcHBseVJlbW92aW5nT3JSZXBsYWNpbmdUb0NvbXBvbmVudHMoXG4gICAgICAgIGNvbXBvbmVudHM6IENvbXBvbmVudFJlZjxCYXNlTm9kZXJDb21wb25lbnQ+W10sXG4gICAgICAgIGRpc3RhbmNlOiBEaXN0YW5jZU1vZGVsLFxuICAgICAgICBzeW1ib2xEaWZmZXJlbmNlOiBudW1iZXIsXG4gICAgICAgIGNvbnRlbnRzOiBDdXN0b21Db250ZW50W11cbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjb21wb25lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlyc3RSZW1vdmluZ0NvbnRlbnRJbmRleCA9IGNvbXBvbmVudHMuZmluZEluZGV4KHggPT4geC5pbnN0YW5jZS5pbnNlcnRJbmRleCA+PSBkaXN0YW5jZS5zdGFydCk7XG5cbiAgICAgICAgaWYgKGZpcnN0UmVtb3ZpbmdDb250ZW50SW5kZXggPCAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbGFzdFJlbW92aW5nQ29udGVudEluZGV4ID0gY29tcG9uZW50cy5sZW5ndGggLSAxO1xuXG4gICAgICAgIHdoaWxlIChsYXN0UmVtb3ZpbmdDb250ZW50SW5kZXggPj0gMCkge1xuICAgICAgICAgICAgaWYgKGNvbXBvbmVudHNbbGFzdFJlbW92aW5nQ29udGVudEluZGV4XS5pbnN0YW5jZS5pbnNlcnRJbmRleCA8PSBkaXN0YW5jZS5zZWxlY3Rpb25FbmQpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29tcG9uZW50c1tsYXN0UmVtb3ZpbmdDb250ZW50SW5kZXhdLmluc3RhbmNlLmluc2VydEluZGV4ICs9IHN5bWJvbERpZmZlcmVuY2U7XG4gICAgICAgICAgICBsYXN0UmVtb3ZpbmdDb250ZW50SW5kZXgtLTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlbGV0ZUNvdW50ID0gbGFzdFJlbW92aW5nQ29udGVudEluZGV4IC0gZmlyc3RSZW1vdmluZ0NvbnRlbnRJbmRleCArIDE7XG4gICAgICAgIGNvbnN0IHJlbW92ZWRDb21wb25lbnRzID0gY29tcG9uZW50cy5zcGxpY2UoZmlyc3RSZW1vdmluZ0NvbnRlbnRJbmRleCwgZGVsZXRlQ291bnQpO1xuICAgICAgICByZW1vdmVkQ29tcG9uZW50cy5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBjb250ZW50cy5maW5kSW5kZXgoeSA9PiB5Lmluc2VydEluZGV4ID09PSB4Lmluc3RhbmNlLmluc2VydEluZGV4KTtcbiAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgY29udGVudHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgeC5kZXN0cm95KCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNvbXBvbmVudHMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbXBvbmVudHMvc2hhcmVkL2N1c3RvbS1jb21wb25lbnRzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VOb2RlckNvbXBvbmVudCB9IGZyb20gJy4vYWJzdHJhY3QvYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWRnZXMgfSBmcm9tICcuLi9lZGdlcy9lZGdlcyc7XG5pbXBvcnQgeyBOb2RlckltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vaW1hZ2UvY29tcG9uZW50cy9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZXJUYWJDb21wb25lbnQgfSBmcm9tICcuLi90YWIvdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb2RlclRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUvY29tcG9uZW50cy90YWJsZS5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDdXN0b21Db21wb25lbnRzIHtcbiAgICBpbWFnZXM6IENvbXBvbmVudFJlZjxOb2RlckltYWdlQ29tcG9uZW50PltdO1xuICAgIHRhYmxlczogQ29tcG9uZW50UmVmPE5vZGVyVGFibGVDb21wb25lbnQ+W107XG4gICAgdGFiczogQ29tcG9uZW50UmVmPE5vZGVyVGFiQ29tcG9uZW50PltdO1xuICAgIGN1c3RvbUVsZW1lbnRzOiBDb21wb25lbnRSZWY8QmFzZU5vZGVyQ29tcG9uZW50PltdO1xuICAgIGVkZ2VzPzogRWRnZXM7XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export const CUSTOM_ELEMENT_MARKER = '*';
|
|
2
|
+
export const TABLE_MARKER = '#';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNvbnRlbnQtbWFya2Vycy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb21wb25lbnRzL3NoYXJlZC9jdXN0b20tY29udGVudC1tYXJrZXJzLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENVU1RPTV9FTEVNRU5UX01BUktFUiA9ICcqJztcbmV4cG9ydCBjb25zdCBUQUJMRV9NQVJLRVIgPSAnIyc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9zaGFyZWQvY3VzdG9tLWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvZWxlbWVudC5tb2RlbCc7XG5pbXBvcnQgeyBJbWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbWFnZS5tb2RlbCc7XG5pbXBvcnQgeyBUYWJsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90YWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBUYWJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGFiLm1vZGVsJztcblxuZXhwb3J0IHR5cGUgQ3VzdG9tQ29udGVudCA9IEltYWdlTW9kZWwgfCBUYWJsZU1vZGVsIHwgRWxlbWVudE1vZGVsIHwgVGFiTW9kZWw7XG4iXX0=
|