@talrace/ngx-noder 0.0.6 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +61 -0
- package/esm2022/lib/apart-components/add-link-dialog/validation.helper.mjs +7 -0
- package/esm2022/lib/apart-components/add-link-mobile/add-link-mobile.component.mjs +47 -0
- package/esm2022/lib/apart-components/confirm-dialog/confirm-dialog.component.mjs +32 -0
- package/esm2022/lib/apart-components/editor-search/editor-search-dialog.component.mjs +64 -0
- package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +89 -0
- package/esm2022/lib/apart-components/editor-title-mobile/editor-title-mobile.component.mjs +22 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +111 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/color-picker/color-picker.component.mjs +37 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +49 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +90 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-style/font-style.component.mjs +81 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/format/format.component.mjs +28 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.mjs +22 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/numbering/numbering.component.mjs +53 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/print/print.component.mjs +18 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/undo-redo/undo-redo.component.mjs +27 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/zoom/zoom.component.mjs +71 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +94 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.mjs +24 -0
- package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +65 -0
- package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +84 -0
- package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +90 -0
- package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar.module.mjs +117 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.mjs +8 -0
- package/esm2022/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/constants/numbering-templates.const.mjs +6 -6
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/svg-icons.const.mjs +157 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/alignment.enum.mjs +8 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.mjs +11 -0
- package/esm2022/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/enums/numbering-template-type.enum.mjs +1 -1
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-type.enum.mjs +6 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/custom-icon.service.mjs +34 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.mjs +26 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs +60 -0
- package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +55 -0
- package/esm2022/lib/apart-components/insert-table/insert-table.component.mjs +54 -0
- package/esm2022/lib/apart-components/insert-table-mobile/insert-table-mobile.component.mjs +84 -0
- package/esm2022/lib/apart-components/text-format-mobile/text-format-mobile.component.mjs +123 -0
- package/esm2022/lib/editor/components/edges/edge-element.model.mjs +9 -0
- package/esm2022/lib/editor/components/edges/edge-type.enum.mjs +6 -0
- package/esm2022/lib/editor/components/edges/edge.component.mjs +99 -0
- package/esm2022/lib/editor/components/edges/edges.mjs +108 -0
- package/esm2022/lib/editor/components/edges/page-type.enum.mjs +7 -0
- package/esm2022/lib/editor/components/editor.component.mjs +112 -0
- package/esm2022/lib/editor/components/external-element/external-element.service.mjs +6 -0
- package/esm2022/lib/editor/components/external-element/external-elements.const.mjs +4 -0
- package/esm2022/lib/editor/components/external-element/external-sidenav.interface.mjs +2 -0
- package/esm2022/lib/editor/components/external-element/external.component.mjs +41 -0
- package/esm2022/lib/editor/components/external-element/models/element-data.model.mjs +9 -0
- package/esm2022/lib/editor/components/external-element/models/external-element.model.mjs +11 -0
- package/esm2022/lib/editor/components/external-element/models/external-sidenav.model.mjs +15 -0
- package/esm2022/lib/editor/components/image/components/image.component.mjs +88 -0
- package/esm2022/lib/editor/components/image/image-api.service.mjs +36 -0
- package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +38 -0
- package/esm2022/lib/editor/components/image/resizer/coordinate.mjs +2 -0
- package/esm2022/lib/editor/components/image/resizer/direction-wrapper.mjs +19 -0
- package/esm2022/lib/editor/components/image/resizer/direction.enum.mjs +12 -0
- package/esm2022/lib/editor/components/image/resizer/resizer.component.mjs +106 -0
- package/esm2022/lib/editor/components/image/resizer/size-delta.mjs +2 -0
- package/esm2022/lib/editor/components/image/resizer/size-wrapper.mjs +52 -0
- package/esm2022/lib/editor/components/image/size.mjs +2 -0
- package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +59 -0
- package/esm2022/lib/editor/components/shared/abstract/destroy.component.mjs +18 -0
- package/esm2022/lib/editor/components/shared/custom-component.hepler.mjs +43 -0
- package/esm2022/lib/editor/components/shared/custom-components.interface.mjs +2 -0
- package/esm2022/lib/editor/components/shared/custom-content-markers.const.mjs +3 -0
- package/esm2022/lib/editor/components/shared/custom-content.mjs +2 -0
- package/esm2022/lib/editor/components/shared/services/component.service.mjs +64 -0
- package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +163 -0
- package/esm2022/lib/editor/components/shared/services/overlay.service.mjs +55 -0
- package/esm2022/lib/editor/components/tab/tab.component.mjs +44 -0
- package/esm2022/lib/editor/components/tab/tab.helper.mjs +6 -0
- package/esm2022/lib/editor/components/table/cell-resizer/cell-resizer.mjs +118 -0
- package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +97 -0
- package/esm2022/lib/editor/components/table/components/table.component.mjs +401 -0
- package/esm2022/lib/{+shared/editor/core → editor/components/table}/enums/hrule.enum.mjs +1 -1
- package/esm2022/lib/editor/components/table/enums/reisizer-side.enum.mjs +8 -0
- package/esm2022/lib/editor/components/table/enums/vertical-merge.enum.mjs +6 -0
- package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +18 -0
- package/esm2022/lib/editor/components/table/models/cell-resizer-parameters.model.mjs +9 -0
- package/esm2022/lib/editor/components/table/models/row-data.model.mjs +8 -0
- package/esm2022/lib/editor/components/table/models/selection-range.model.mjs +7 -0
- package/esm2022/lib/editor/components/table/overlay-menu/overlay-menu.component.mjs +74 -0
- package/esm2022/lib/editor/components/table/selection/table-selection.mjs +366 -0
- package/esm2022/lib/editor/content/constants/display-values.const.mjs +8 -0
- package/esm2022/lib/editor/content/constants/document-info.const.mjs +13 -0
- package/esm2022/lib/editor/content/constants/editor.const.mjs +62 -0
- package/esm2022/lib/editor/content/contents.interface.mjs +2 -0
- package/esm2022/lib/editor/content/display-data/display-token.model.mjs +12 -0
- package/esm2022/lib/editor/content/display-data/document.mjs +134 -0
- package/esm2022/lib/editor/content/display-data/format-ext.model.mjs +10 -0
- package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +11 -0
- package/esm2022/lib/editor/content/display-data/indent.model.mjs +9 -0
- package/esm2022/lib/editor/content/display-data/line-info.model.mjs +9 -0
- package/esm2022/lib/editor/content/display-data/lines.mjs +96 -0
- package/esm2022/lib/editor/content/display-data/pages.wrap.mjs +226 -0
- package/esm2022/lib/editor/content/display-data/paragraph-info.interface.mjs +2 -0
- package/esm2022/lib/editor/content/display-data/paragraph.mjs +52 -0
- package/esm2022/lib/editor/content/display-data/text-line-info.mjs +34 -0
- package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +2 -0
- package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +96 -0
- package/esm2022/lib/{+shared/editor → editor/content}/helpers/format.helper.mjs +1 -1
- package/esm2022/lib/{+shared/editor → editor/content}/helpers/indexed-element.helper.mjs +1 -1
- package/esm2022/lib/editor/content/helpers/scaling.helper.mjs +9 -0
- package/esm2022/lib/editor/content/margin.model.mjs +16 -0
- package/esm2022/lib/editor/content/page-vertical-data.model.mjs +9 -0
- package/esm2022/lib/{+shared/editor/core/enums → editor/content}/vertical-alignment.enum.mjs +1 -1
- package/esm2022/lib/editor/core/event-emitting.mjs +56 -0
- package/esm2022/lib/editor/display/cell.interface.mjs +2 -0
- package/esm2022/lib/editor/display/event.helper.mjs +18 -0
- package/esm2022/lib/editor/display/layers/cursor.layer.mjs +101 -0
- package/esm2022/lib/editor/display/layers/layer.config.mjs +2 -0
- package/esm2022/lib/editor/display/layers/pages.layer.mjs +97 -0
- package/esm2022/lib/editor/display/layers/print.pages.layer.mjs +7 -0
- package/esm2022/lib/editor/display/layers/print.text.layer.mjs +7 -0
- package/esm2022/lib/editor/display/layers/selection.layer.mjs +113 -0
- package/esm2022/lib/editor/display/layers/text.layer.mjs +203 -0
- package/esm2022/lib/editor/display/print/print.helper.mjs +40 -0
- package/esm2022/lib/editor/display/print/print.renderer.mjs +67 -0
- package/esm2022/lib/editor/display/print/print.rendering.helper.mjs +7 -0
- package/esm2022/lib/editor/display/render-changes.interface.mjs +2 -0
- package/esm2022/lib/editor/display/render-changes.model.mjs +25 -0
- package/esm2022/lib/editor/display/renderer.mjs +206 -0
- package/esm2022/lib/editor/display/rendering.helper.mjs +187 -0
- package/esm2022/lib/editor/display/renderloop.mjs +26 -0
- package/esm2022/lib/editor/display/virtual.renderer.mjs +317 -0
- package/esm2022/lib/editor/display/visible-range.interface.mjs +2 -0
- package/esm2022/lib/editor/editor.module.mjs +67 -0
- package/esm2022/lib/editor/execution/distance.model.mjs +10 -0
- package/esm2022/lib/editor/execution/edit.session.mjs +1117 -0
- package/esm2022/lib/editor/execution/editor.mjs +1346 -0
- package/esm2022/lib/editor/execution/helpers/delta.helper.mjs +18 -0
- package/esm2022/lib/editor/execution/helpers/dom.helper.mjs +42 -0
- package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +64 -0
- package/esm2022/lib/editor/execution/helpers/page.helper.mjs +12 -0
- package/esm2022/lib/editor/execution/helpers/paragraph-style.helper.mjs +41 -0
- package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +169 -0
- package/esm2022/lib/editor/execution/regulator.service.mjs +198 -0
- package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +19 -0
- package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +15 -0
- package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +8 -0
- package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +3 -0
- package/esm2022/lib/editor/execution/targeting/session.model.mjs +10 -0
- package/esm2022/lib/editor/gadgets/font-metrics/editor-version.const.mjs +2 -0
- package/esm2022/lib/editor/gadgets/font-metrics/font-metric-size.interface.mjs +2 -0
- package/esm2022/lib/editor/gadgets/font-metrics/font-metrics.helper.mjs +88 -0
- package/esm2022/lib/editor/gadgets/history/operation-history.mjs +206 -0
- package/esm2022/lib/editor/gadgets/history/operation.type.mjs +2 -0
- package/esm2022/lib/editor/gadgets/history/operations-history-info.model.mjs +7 -0
- package/esm2022/lib/editor/gadgets/numbering/numbering-data.model.mjs +9 -0
- package/esm2022/lib/{+shared/editor/core/enums → editor/gadgets/numbering}/numbering-marker-type.enum.mjs +1 -1
- package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +82 -0
- package/esm2022/lib/editor/gadgets/page-break/break-types.enum.mjs +7 -0
- package/esm2022/lib/editor/gadgets/page-break/break.helper.mjs +18 -0
- package/esm2022/lib/editor/gadgets/scrollbar.mjs +81 -0
- package/esm2022/lib/editor/gadgets/search/replace.interface.mjs +2 -0
- package/esm2022/lib/editor/gadgets/search/search-iteration.interface.mjs +2 -0
- package/esm2022/lib/editor/gadgets/search/search.mjs +231 -0
- package/esm2022/lib/editor/gadgets/unicode/unicode-chars.const.mjs +5 -0
- package/esm2022/lib/editor/gadgets/unicode/unicode.helper.mjs +20 -0
- package/esm2022/lib/editor/interaction/base.handler.mjs +19 -0
- package/esm2022/lib/editor/interaction/document.handler.mjs +27 -0
- package/esm2022/lib/editor/interaction/editor.service.mjs +325 -0
- package/esm2022/lib/editor/interaction/input.handler.mjs +149 -0
- package/esm2022/lib/{+shared/enums → editor/interaction}/mode.enum.mjs +1 -1
- package/esm2022/lib/editor/interaction/mouse-button.enum.mjs +7 -0
- package/esm2022/lib/editor/interaction/mouse.handler.mjs +49 -0
- package/esm2022/lib/editor/interaction/text-input.mjs +53 -0
- package/esm2022/lib/editor/operations/commands.service.mjs +20 -0
- package/esm2022/lib/editor/operations/enums/command-type.enum.mjs +32 -0
- package/esm2022/lib/editor/operations/enums/target-type.enum.mjs +7 -0
- package/esm2022/lib/editor/operations/helpers/break-operations.helper.mjs +9 -0
- package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +15 -0
- package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +55 -0
- package/esm2022/lib/editor/operations/helpers/image-operations.helper.mjs +19 -0
- package/esm2022/lib/editor/operations/helpers/indexed-element-operations.helper.mjs +43 -0
- package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +28 -0
- package/esm2022/lib/editor/operations/helpers/numbering-operations.helper.mjs +55 -0
- package/esm2022/lib/editor/operations/helpers/paragraph-operations.helper.mjs +114 -0
- package/esm2022/lib/editor/operations/helpers/tab-operations.helper.mjs +16 -0
- package/esm2022/lib/editor/operations/helpers/table-operations.helper.mjs +374 -0
- package/esm2022/lib/editor/operations/operations-helper.helper.mjs +432 -0
- package/esm2022/lib/editor/operations/save-commands.helper.mjs +127 -0
- package/esm2022/lib/editor/operations/target-operations.helper.mjs +23 -0
- package/esm2022/lib/editor/positioning/alignments.const.mjs +8 -0
- package/esm2022/lib/editor/positioning/content.helper.mjs +36 -0
- package/esm2022/lib/editor/positioning/cursor-paragraph.mjs +13 -0
- package/esm2022/lib/editor/positioning/cursor-position.interface.mjs +2 -0
- package/esm2022/lib/editor/positioning/insert-index.interface.mjs +2 -0
- package/esm2022/lib/editor/positioning/line-width.helper.mjs +13 -0
- package/esm2022/lib/editor/positioning/position.helper.mjs +194 -0
- package/esm2022/lib/editor/positioning/range.mjs +94 -0
- package/esm2022/lib/editor/positioning/selection.mjs +307 -0
- package/esm2022/lib/editor/revision.helper.mjs +91 -0
- package/esm2022/lib/models/generated/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 +36 -33
- package/fesm2022/talrace-ngx-noder.mjs +3583 -3278
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
- package/lib/{+shared → apart-components}/add-link-dialog/add-link-dialog.component.d.ts +1 -1
- 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 +1 -1
- package/lib/{+shared → apart-components}/editor-search/editor-search-dialog.component.d.ts +6 -7
- package/lib/{+shared → apart-components}/editor-title/editor-title.component.d.ts +4 -3
- package/lib/apart-components/editor-title-mobile/editor-title-mobile.component.d.ts +6 -0
- package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +49 -0
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/color-picker/color-picker.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font/font.component.d.ts +2 -2
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font-size/font-size.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font-style/font-style.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/format/format.component.d.ts +2 -2
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/heading/heading.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/numbering/numbering.component.d.ts +3 -3
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/print/print.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/undo-redo/undo-redo.component.d.ts +1 -1
- package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/zoom/zoom.component.d.ts +1 -1
- package/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.d.ts +36 -0
- package/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.d.ts +14 -0
- package/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.d.ts +23 -0
- package/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.d.ts +26 -0
- package/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.d.ts +40 -0
- package/lib/apart-components/editor-toolbar/editor-toolbar.module.d.ts +32 -0
- package/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.d.ts +2 -0
- package/lib/apart-components/editor-toolbar/shared/constants/numbering-templates.const.d.ts +6 -0
- package/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.d.ts +9 -0
- package/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.d.ts +14 -0
- package/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.d.ts +38 -0
- package/lib/{+shared/editor-toolbar/helpers → apart-components/editor-toolbar/shared}/toolbar-styles.helper.d.ts +2 -2
- package/lib/{+shared → apart-components}/insert-table/insert-table.component.d.ts +1 -1
- package/lib/apart-components/insert-table-mobile/insert-table-mobile.component.d.ts +30 -0
- package/lib/apart-components/text-format-mobile/text-format-mobile.component.d.ts +35 -0
- package/lib/{+shared/editor/core/models → editor/components/edges}/edge-element.model.d.ts +1 -1
- package/lib/editor/components/edges/edge.component.d.ts +44 -0
- package/lib/{+shared/editor/core → editor}/components/edges/edges.d.ts +7 -7
- package/lib/{+shared/editor → editor/components}/editor.component.d.ts +10 -7
- 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}/image/components/image.component.d.ts +4 -4
- package/lib/editor/components/image/image-api.service.d.ts +17 -0
- package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/resizer.component.d.ts +2 -2
- package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/size-wrapper.d.ts +1 -1
- package/lib/{+shared/editor/custom-components → editor/components}/shared/abstract/base.component.d.ts +4 -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 -12
- 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 +1 -1
- package/lib/{+shared/editor/custom-components → editor/components}/table/components/table-cell.component.d.ts +10 -10
- package/lib/{+shared/editor/custom-components → editor/components}/table/components/table.component.d.ts +8 -8
- package/lib/{+shared/editor/custom-components → editor/components}/table/overlay-menu/overlay-menu.component.d.ts +2 -2
- package/lib/{+shared/editor/custom-components → editor/components}/table/selection/table-selection.d.ts +3 -3
- package/lib/{+shared/editor/core → editor/content}/constants/editor.const.d.ts +3 -3
- package/lib/editor/content/contents.interface.d.ts +22 -0
- package/lib/{+shared/editor/core/models → editor/content/display-data}/display-token.model.d.ts +1 -1
- package/lib/{+shared/editor/core → editor/content/display-data}/document.d.ts +9 -9
- package/lib/{+shared/editor/core/models → editor/content/display-data}/format-ext.model.d.ts +1 -1
- package/lib/{+shared/editor/execution/models → editor/content/display-data}/general-properties.model.d.ts +1 -1
- package/lib/{+shared/editor/core/layers → editor/content/display-data}/lines.d.ts +1 -1
- package/lib/{+shared/editor/core/paging → editor/content/display-data}/pages.wrap.d.ts +13 -13
- package/lib/{+shared/editor/core/paging → editor/content/display-data}/paragraph.d.ts +4 -4
- package/lib/{+shared/editor/core/paging → editor/content/display-data}/text-line-info.d.ts +2 -2
- package/lib/editor/content/helpers/content-style.helper.d.ts +11 -0
- package/lib/{+shared/editor → editor/content}/helpers/indexed-element.helper.d.ts +1 -1
- package/lib/{+shared/editor/core/paging → editor/content}/page-vertical-data.model.d.ts +1 -1
- package/lib/{+shared/editor/core/base → editor/core}/event-emitting.d.ts +0 -5
- package/lib/{+shared/editor/core → editor/display}/layers/cursor.layer.d.ts +7 -8
- package/lib/{+shared/editor/core/interfaces → editor/display/layers}/layer.config.d.ts +2 -2
- package/lib/{+shared/editor/core → editor/display}/layers/pages.layer.d.ts +5 -6
- package/lib/editor/display/layers/print.text.layer.d.ts +4 -0
- package/lib/{+shared/editor/core → editor/display}/layers/selection.layer.d.ts +5 -6
- package/lib/editor/display/layers/text.layer.d.ts +34 -0
- package/lib/{+shared/helpers → editor/display/print}/print.helper.d.ts +3 -3
- package/lib/editor/display/print/print.renderer.d.ts +23 -0
- package/lib/{+shared/editor/core/helpers → editor/display/print}/print.rendering.helper.d.ts +2 -2
- package/lib/{+shared/editor/core/models → editor/display}/render-changes.model.d.ts +1 -1
- package/lib/{+shared/editor/core → editor/display}/renderer.d.ts +10 -13
- package/lib/{+shared/editor/core/helpers → editor/display}/rendering.helper.d.ts +7 -7
- 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/{+shared/editor → editor}/editor.module.d.ts +12 -10
- package/lib/{+shared/editor/core → editor/execution}/edit.session.d.ts +65 -63
- package/lib/{+shared/editor/core → editor/execution}/editor.d.ts +48 -43
- package/lib/editor/execution/helpers/delta.helper.d.ts +6 -0
- package/lib/{+shared/editor/core → editor/execution}/helpers/format-style.helper.d.ts +3 -5
- package/lib/{+shared/editor/core → editor/execution}/helpers/page.helper.d.ts +1 -1
- package/lib/{+shared/editor/core → editor/execution}/helpers/paragraph-style.helper.d.ts +1 -1
- package/lib/{+shared/editor/core → editor/execution}/helpers/paragraph.helper.d.ts +11 -8
- package/lib/{+shared/editor → editor}/execution/regulator.service.d.ts +15 -14
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/cell-session-source.model.d.ts +3 -3
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/edge-session-source.model.d.ts +3 -3
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/main-session-source.model.d.ts +1 -1
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/session-source.model.d.ts +1 -1
- package/lib/{+shared/editor/execution/models → editor/execution/targeting}/session.model.d.ts +3 -3
- package/lib/{+shared/editor/core/helpers → editor/gadgets/font-metrics}/font-metrics.helper.d.ts +1 -1
- package/lib/{+shared/editor/operation-history → editor/gadgets/history}/operation-history.d.ts +9 -7
- package/lib/{+shared/editor/operation-history → editor/gadgets/history}/operation.type.d.ts +2 -1
- package/lib/{+shared/editor/core/models → editor/gadgets/numbering}/numbering-data.model.d.ts +1 -1
- package/lib/{+shared/editor/core/helpers → editor/gadgets/numbering}/numbering.helper.d.ts +8 -8
- package/lib/{+shared/editor/helpers → editor/gadgets/page-break}/break.helper.d.ts +2 -2
- package/lib/{+shared/editor/core/layers → editor/gadgets}/scrollbar.d.ts +9 -18
- package/lib/{+shared/editor/core → editor/gadgets/search}/search.d.ts +4 -4
- package/lib/editor/interaction/base.handler.d.ts +9 -0
- package/lib/editor/interaction/document.handler.d.ts +10 -0
- package/lib/{+shared/editor → editor}/interaction/editor.service.d.ts +24 -18
- package/lib/{+shared/editor → editor}/interaction/input.handler.d.ts +4 -5
- package/lib/{+shared/editor → editor}/interaction/mouse.handler.d.ts +1 -1
- package/lib/{+shared/editor → editor}/operations/enums/command-type.enum.d.ts +11 -10
- package/lib/{+shared/editor → editor}/operations/helpers/break-operations.helper.d.ts +2 -2
- package/lib/{+shared/editor → editor}/operations/helpers/format-operations.helper.d.ts +2 -2
- package/lib/editor/operations/helpers/image-operations.helper.d.ts +7 -0
- package/lib/{+shared/editor → editor}/operations/helpers/indexed-element-operations.helper.d.ts +1 -1
- package/lib/{+shared/editor → editor}/operations/helpers/link-operations.helper.d.ts +1 -1
- package/lib/{+shared/editor → editor}/operations/helpers/numbering-operations.helper.d.ts +3 -3
- package/lib/{+shared/editor → editor}/operations/helpers/paragraph-operations.helper.d.ts +3 -2
- package/lib/{+shared/editor → editor}/operations/helpers/tab-operations.helper.d.ts +1 -1
- package/lib/{+shared/editor → editor}/operations/helpers/table-operations.helper.d.ts +6 -6
- package/lib/{+shared/editor/operations/helpers → editor/operations}/operations-helper.helper.d.ts +21 -19
- package/lib/{+shared/editor/operations/helpers → editor/operations}/save-commands.helper.d.ts +28 -22
- package/lib/editor/operations/target-operations.helper.d.ts +6 -0
- package/lib/{+shared/editor/helpers → editor/positioning}/content.helper.d.ts +10 -5
- package/lib/editor/positioning/cursor-paragraph.d.ts +7 -0
- package/lib/{+shared/editor/core/interfaces → editor/positioning}/cursor-position.interface.d.ts +1 -1
- package/lib/{+shared/editor/core/helpers → editor/positioning}/line-width.helper.d.ts +2 -2
- package/lib/{+shared/editor/core/helpers → editor/positioning}/position.helper.d.ts +9 -9
- package/lib/{+shared/editor/core → editor/positioning}/range.d.ts +12 -12
- package/lib/{+shared/editor → editor}/positioning/selection.d.ts +10 -10
- package/lib/editor/revision.helper.d.ts +15 -0
- package/lib/models/generated/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 +35 -32
- package/src/_ngx-noder.theme.scss +14 -9
- 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 +1 -1
- package/src/lib/apart-components/add-link-mobile/_add-link-mobile.theme.scss +25 -0
- package/src/lib/{+shared → apart-components}/confirm-dialog/_theme.scss +1 -1
- package/src/lib/{+shared → apart-components}/editor-title/_editor-title.theme.scss +1 -1
- 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/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font/_font.theme.scss +1 -1
- package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font-size/_font-size.theme.scss +1 -1
- package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font-style/_font-style.theme.scss +1 -1
- package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/format/_format.theme.scss +1 -1
- package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/numbering/_numbering.theme.scss +1 -1
- package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/undo-redo/_undo-redo.theme.scss +1 -1
- package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components}/menu-dropdowns/_menu-dropdowns.theme.scss +1 -1
- package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/_menu-dropdowns-mobile.theme.scss +33 -0
- package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components}/toolbar-actions/_toolbar-actions.theme.scss +2 -1
- package/src/lib/{+shared → apart-components}/insert-table/_insert-table.theme.scss +1 -1
- 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/{+shared/editor → editor}/_theme.scss +1 -1
- package/src/lib/{+shared/editor → editor/components}/_editor.theme.scss +10 -2
- 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/add-link-dialog/add-link-dialog.component.mjs +0 -71
- package/esm2022/lib/+shared/confirm-dialog/confirm-dialog.component.mjs +0 -32
- 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 -1099
- package/esm2022/lib/+shared/editor/core/editor.mjs +0 -1274
- 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 -169
- package/esm2022/lib/+shared/editor/core/helpers/position.helper.mjs +0 -194
- package/esm2022/lib/+shared/editor/core/helpers/print.rendering.helper.mjs +0 -7
- package/esm2022/lib/+shared/editor/core/helpers/rendering.helper.mjs +0 -187
- 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 -226
- 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/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 -11
- 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 -88
- 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 -59
- 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 -115
- 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 -44
- 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 -97
- package/esm2022/lib/+shared/editor/custom-components/table/components/table.component.mjs +0 -401
- 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 -364
- package/esm2022/lib/+shared/editor/editor.component.mjs +0 -98
- package/esm2022/lib/+shared/editor/editor.module.mjs +0 -82
- 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 -203
- 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 -374
- 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-search/editor-search-dialog.component.mjs +0 -71
- package/esm2022/lib/+shared/editor-title/editor-title.component.mjs +0 -83
- 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 -101
- package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.module.mjs +0 -117
- 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/menu-dropdowns/menu-dropdowns.component.mjs +0 -194
- 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/toolbar-actions/toolbar-actions.component.mjs +0 -126
- 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/helpers/revision.helper.mjs +0 -91
- package/esm2022/lib/+shared/helpers/scaling.helper.mjs +0 -9
- package/esm2022/lib/+shared/helpers/validation.helper.mjs +0 -7
- package/esm2022/lib/+shared/insert-table/insert-table.component.mjs +0 -54
- package/esm2022/lib/+shared/services/commands.service.mjs +0 -20
- package/esm2022/lib/+shared/services/custom-icon.service.mjs +0 -34
- package/lib/+shared/abstract/base-api.service.d.ts +0 -23
- package/lib/+shared/abstract/observer.component.d.ts +0 -10
- package/lib/+shared/constants/default-file-name.const.d.ts +0 -1
- package/lib/+shared/constants/paginator-sizes.const.d.ts +0 -2
- package/lib/+shared/editor/core/components/edges/edge.component.d.ts +0 -45
- package/lib/+shared/editor/core/constants/clipboardEventTypes.const.d.ts +0 -5
- package/lib/+shared/editor/core/constants/content-style-change.const.d.ts +0 -14
- package/lib/+shared/editor/core/helpers/content-style.helper.d.ts +0 -16
- package/lib/+shared/editor/core/helpers/delta.helper.d.ts +0 -6
- package/lib/+shared/editor/core/interfaces/visible-line-info.interface.d.ts +0 -5
- package/lib/+shared/editor/core/layers/edges.layer.d.ts +0 -24
- package/lib/+shared/editor/core/layers/print.edges.layer.d.ts +0 -4
- package/lib/+shared/editor/core/layers/print.text.layer.d.ts +0 -5
- package/lib/+shared/editor/core/layers/text.layer.d.ts +0 -22
- package/lib/+shared/editor/core/point.d.ts +0 -7
- package/lib/+shared/editor/core/print.renderer.d.ts +0 -25
- 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/interfaces/contents.interface.d.ts +0 -22
- package/lib/+shared/editor/operations/helpers/image-operations.helper.d.ts +0 -7
- package/lib/+shared/editor/operations/helpers/target-operations.helper.d.ts +0 -6
- package/lib/+shared/editor/store/editor.actions.d.ts +0 -11
- package/lib/+shared/editor-toolbar/constants/numbering-templates.const.d.ts +0 -6
- package/lib/+shared/editor-toolbar/editor-toolbar.component.d.ts +0 -45
- package/lib/+shared/editor-toolbar/editor-toolbar.module.d.ts +0 -31
- package/lib/+shared/editor-toolbar/menu-dropdowns/menu-dropdowns.component.d.ts +0 -73
- package/lib/+shared/editor-toolbar/toolbar-actions/toolbar-actions.component.d.ts +0 -49
- package/lib/+shared/helpers/revision.helper.d.ts +0 -15
- package/src/lib/+shared/editor-toolbar/_editor-toolbar.theme.scss +0 -10
- package/src/lib/+shared/editor-toolbar/_theme.scss +0 -21
- package/src/scss/_mixins.scss +0 -14
- package/src/scss/_variables.scss +0 -1
- /package/lib/{+shared/helpers → apart-components/add-link-dialog}/validation.helper.d.ts +0 -0
- /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-element.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/external-element/models/external-sidenav.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/input-handler/image-input.handler.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/coordinate.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/direction-wrapper.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/direction.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/size-delta.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components/image/interfaces → editor/components/image}/size.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components/shared/constants → editor/components/shared}/custom-content-markers.const.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components/shared/services/overlay → editor/components/shared/services}/overlay.service.d.ts +0 -0
- /package/lib/{+shared/editor/helpers → editor/components/tab}/tab.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/components/table}/enums/hrule.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/enums/reisizer-side.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/enums/vertical-merge.enum.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/models/cell-data.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/models/cell-resizer-parameters.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/models/row-data.model.d.ts +0 -0
- /package/lib/{+shared/editor/custom-components → editor/components}/table/models/selection-range.model.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/content}/constants/display-values.const.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/content}/constants/document-info.const.d.ts +0 -0
- /package/lib/{+shared/editor/core/models → editor/content/display-data}/indent.model.d.ts +0 -0
- /package/lib/{+shared/editor/core/models → editor/content/display-data}/line-info.model.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/content/display-data}/paragraph-info.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/content/display-data}/toolbar-styles.interface.d.ts +0 -0
- /package/lib/{+shared/editor → editor/content}/helpers/format.helper.d.ts +0 -0
- /package/lib/{+shared → editor/content}/helpers/scaling.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core/models → editor/content}/margin.model.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/content}/vertical-alignment.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/display}/cell.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/helpers → editor/display}/event.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/display}/layers/print.pages.layer.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/display}/render-changes.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/display}/visible-range.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/models → editor/execution}/distance.model.d.ts +0 -0
- /package/lib/{+shared/editor/core → editor/execution}/helpers/dom.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core/constants → editor/gadgets/font-metrics}/editor-version.const.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/gadgets/font-metrics}/font-metric-size.interface.d.ts +0 -0
- /package/lib/{+shared/editor/operation-history → editor/gadgets/history}/operations-history-info.model.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/gadgets/numbering}/numbering-marker-type.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/gadgets/page-break}/break-types.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/gadgets/search}/replace.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/interfaces → editor/gadgets/search}/search-iteration.interface.d.ts +0 -0
- /package/lib/{+shared/editor/core/constants → editor/gadgets/unicode}/unicode-chars.const.d.ts +0 -0
- /package/lib/{+shared/editor/core/helpers → editor/gadgets/unicode}/unicode.helper.d.ts +0 -0
- /package/lib/{+shared/enums → editor/interaction}/mode.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/enums → editor/interaction}/mouse-button.enum.d.ts +0 -0
- /package/lib/{+shared/editor/core/keyboard → editor/interaction}/text-input.d.ts +0 -0
- /package/lib/{+shared/services → editor/operations}/commands.service.d.ts +0 -0
- /package/lib/{+shared/editor → editor}/operations/enums/target-type.enum.d.ts +0 -0
- /package/lib/{+shared/editor → editor}/operations/helpers/content-operations.helper.d.ts +0 -0
- /package/lib/{+shared/editor/core/constants → editor/positioning}/alignments.const.d.ts +0 -0
- /package/lib/{+shared/editor/interfaces → editor/positioning}/insert-index.interface.d.ts +0 -0
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { NumberingTemplateType } from '../enums/numbering-template-type.enum';
|
|
3
|
-
import { NumberingType } from '../enums/numbering-type.enum';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/material/button";
|
|
6
|
-
import * as i2 from "@angular/material/button-toggle";
|
|
7
|
-
import * as i3 from "@angular/material/icon";
|
|
8
|
-
import * as i4 from "@angular/material/menu";
|
|
9
|
-
export class NumberingComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.isDisabled = false;
|
|
12
|
-
this.selectNumberingTemplate = new EventEmitter();
|
|
13
|
-
this.removeNumberings = new EventEmitter();
|
|
14
|
-
this.numberingTemplateType = NumberingTemplateType;
|
|
15
|
-
this.numberingType = NumberingType;
|
|
16
|
-
}
|
|
17
|
-
onToggleNumberedNumbering() {
|
|
18
|
-
if (this.selectedNumberingType === NumberingType.Number) {
|
|
19
|
-
this.removeNumberings.emit();
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
this.selectNumberingTemplate.emit(NumberingTemplateType.NumberList3);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
onToggleBulletedNumbering() {
|
|
26
|
-
if (this.selectedNumberingType === NumberingType.Bullet) {
|
|
27
|
-
this.removeNumberings.emit();
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
this.selectNumberingTemplate.emit(NumberingTemplateType.BulletList1);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
onSelectNumberingTemplate(numberingTemplateType) {
|
|
34
|
-
this.selectNumberingTemplate.emit(numberingTemplateType);
|
|
35
|
-
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumberingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NumberingComponent, selector: "app-numbering", inputs: { isDisabled: "isDisabled", selectedNumberingType: "selectedNumberingType", selectedNumberingTemplate: "selectedNumberingTemplate" }, outputs: { selectNumberingTemplate: "selectNumberingTemplate", removeNumberings: "removeNumberings" }, ngImport: i0, template: "<mat-button-toggle-group\n name=\"format\"\n aria-label=\"format\"\n [hideMultipleSelectionIndicator]=\"true\"\n [hideSingleSelectionIndicator]=\"true\"\n [disabled]=\"isDisabled\">\n <mat-button-toggle\n (click)=\"onToggleBulletedNumbering()\"\n [value]=\"numberingType.Bullet\"\n [checked]=\"selectedNumberingType === numberingType.Bullet\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-format-bulleted\"></mat-icon>\n </mat-button-toggle>\n <button\n mat-button\n [matMenuTriggerFor]=\"listBulletedMenu\"\n [matMenuTriggerRestoreFocus]=\"false\"\n [disabled]=\"isDisabled\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n </button>\n <mat-menu\n #listBulletedMenu=\"matMenu\"\n class=\"dropdown-numbering-overlay noder-modal\"\n yPosition=\"below\">\n <div class=\"list-icon list-marker\">\n <mat-icon\n svgIcon=\"marker-1\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.BulletList1)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList1\"></mat-icon>\n <mat-icon\n svgIcon=\"marker-2\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.BulletList2)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList2\"></mat-icon>\n <mat-icon\n svgIcon=\"marker-3\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.BulletList3)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList3\"></mat-icon>\n </div>\n <div class=\"list-icon list-marker\">\n <mat-icon\n svgIcon=\"marker-4\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.BulletList4)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList4\"></mat-icon>\n <mat-icon\n svgIcon=\"marker-5\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.BulletList5)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList5\"></mat-icon>\n <mat-icon\n svgIcon=\"marker-6\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.BulletList6)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList6\"></mat-icon>\n </div>\n </mat-menu>\n <mat-button-toggle\n (click)=\"onToggleNumberedNumbering()\"\n [value]=\"numberingType.Number\"\n [checked]=\"selectedNumberingType === numberingType.Number\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-format-numbered\"></mat-icon>\n </mat-button-toggle>\n <button\n mat-button\n [matMenuTriggerFor]=\"listNumberedMenu\"\n [matMenuTriggerRestoreFocus]=\"false\"\n [disabled]=\"isDisabled\"\n style=\"display: none\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n </button>\n <mat-menu\n #listNumberedMenu=\"matMenu\"\n class=\"dropdown-numbering-overlay noder-modal\"\n yPosition=\"below\">\n <div class=\"list-icon list-number\">\n <mat-icon\n svgIcon=\"number-1\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.NumberList1)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList1\"></mat-icon>\n <mat-icon\n svgIcon=\"number-2\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.NumberList2)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList2\"></mat-icon>\n <mat-icon\n svgIcon=\"number-3\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.NumberList3)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList3\"></mat-icon>\n </div>\n <div class=\"list-icon list-number\">\n <mat-icon\n svgIcon=\"number-4\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.NumberList4)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList4\"></mat-icon>\n <mat-icon\n svgIcon=\"number-5\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.NumberList5)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList5\"></mat-icon>\n <mat-icon\n svgIcon=\"number-6\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.NumberList6)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList6\"></mat-icon>\n </div>\n </mat-menu>\n</mat-button-toggle-group>\n", styles: [":host{display:flex;align-items:center}mat-button-toggle-group,button{margin:0 3px}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:0}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border:0}.mdc-button{min-width:32px;min-height:32px;padding:0}.mat-mdc-button>.mat-icon{margin-right:0}.mat-button-toggle-group{align-items:center}.mat-button-toggle-group .mdc-button{min-width:20px;height:32px;padding:0}.list-marker,.list-number{margin:0 5px}.list-marker mat-icon,.list-number mat-icon{width:70px;height:80px;margin:0 5px}.list-marker mat-icon:hover,.list-number mat-icon:hover{border:none!important}.list-icon .selected,.list-icon .selected:hover{border-width:2px;border-style:solid}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i2.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i2.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumberingComponent, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-numbering', template: "<mat-button-toggle-group\n name=\"format\"\n aria-label=\"format\"\n [hideMultipleSelectionIndicator]=\"true\"\n [hideSingleSelectionIndicator]=\"true\"\n [disabled]=\"isDisabled\">\n <mat-button-toggle\n (click)=\"onToggleBulletedNumbering()\"\n [value]=\"numberingType.Bullet\"\n [checked]=\"selectedNumberingType === numberingType.Bullet\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-format-bulleted\"></mat-icon>\n </mat-button-toggle>\n <button\n mat-button\n [matMenuTriggerFor]=\"listBulletedMenu\"\n [matMenuTriggerRestoreFocus]=\"false\"\n [disabled]=\"isDisabled\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n </button>\n <mat-menu\n #listBulletedMenu=\"matMenu\"\n class=\"dropdown-numbering-overlay noder-modal\"\n yPosition=\"below\">\n <div class=\"list-icon list-marker\">\n <mat-icon\n svgIcon=\"marker-1\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.BulletList1)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList1\"></mat-icon>\n <mat-icon\n svgIcon=\"marker-2\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.BulletList2)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList2\"></mat-icon>\n <mat-icon\n svgIcon=\"marker-3\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.BulletList3)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList3\"></mat-icon>\n </div>\n <div class=\"list-icon list-marker\">\n <mat-icon\n svgIcon=\"marker-4\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.BulletList4)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList4\"></mat-icon>\n <mat-icon\n svgIcon=\"marker-5\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.BulletList5)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList5\"></mat-icon>\n <mat-icon\n svgIcon=\"marker-6\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.BulletList6)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList6\"></mat-icon>\n </div>\n </mat-menu>\n <mat-button-toggle\n (click)=\"onToggleNumberedNumbering()\"\n [value]=\"numberingType.Number\"\n [checked]=\"selectedNumberingType === numberingType.Number\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-format-numbered\"></mat-icon>\n </mat-button-toggle>\n <button\n mat-button\n [matMenuTriggerFor]=\"listNumberedMenu\"\n [matMenuTriggerRestoreFocus]=\"false\"\n [disabled]=\"isDisabled\"\n style=\"display: none\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n </button>\n <mat-menu\n #listNumberedMenu=\"matMenu\"\n class=\"dropdown-numbering-overlay noder-modal\"\n yPosition=\"below\">\n <div class=\"list-icon list-number\">\n <mat-icon\n svgIcon=\"number-1\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.NumberList1)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList1\"></mat-icon>\n <mat-icon\n svgIcon=\"number-2\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.NumberList2)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList2\"></mat-icon>\n <mat-icon\n svgIcon=\"number-3\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.NumberList3)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList3\"></mat-icon>\n </div>\n <div class=\"list-icon list-number\">\n <mat-icon\n svgIcon=\"number-4\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.NumberList4)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList4\"></mat-icon>\n <mat-icon\n svgIcon=\"number-5\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.NumberList5)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList5\"></mat-icon>\n <mat-icon\n svgIcon=\"number-6\"\n (click)=\"onSelectNumberingTemplate(numberingTemplateType.NumberList6)\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList6\"></mat-icon>\n </div>\n </mat-menu>\n</mat-button-toggle-group>\n", styles: [":host{display:flex;align-items:center}mat-button-toggle-group,button{margin:0 3px}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:0}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border:0}.mdc-button{min-width:32px;min-height:32px;padding:0}.mat-mdc-button>.mat-icon{margin-right:0}.mat-button-toggle-group{align-items:center}.mat-button-toggle-group .mdc-button{min-width:20px;height:32px;padding:0}.list-marker,.list-number{margin:0 5px}.list-marker mat-icon,.list-number mat-icon{width:70px;height:80px;margin:0 5px}.list-marker mat-icon:hover,.list-number mat-icon:hover{border:none!important}.list-icon .selected,.list-icon .selected:hover{border-width:2px;border-style:solid}\n"] }]
|
|
42
|
-
}], propDecorators: { isDisabled: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], selectedNumberingType: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], selectedNumberingTemplate: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}], selectNumberingTemplate: [{
|
|
49
|
-
type: Output
|
|
50
|
-
}], removeNumberings: [{
|
|
51
|
-
type: Output
|
|
52
|
-
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yLXRvb2xiYXIvbnVtYmVyaW5nL251bWJlcmluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci10b29sYmFyL251bWJlcmluZy9udW1iZXJpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7OztBQVE3RCxNQUFNLE9BQU8sa0JBQWtCO0lBTi9CO1FBT2EsZUFBVSxHQUFHLEtBQUssQ0FBQztRQU1sQiw0QkFBdUIsR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQUVwRSxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXRELDBCQUFxQixHQUFHLHFCQUFxQixDQUFDO1FBRTlDLGtCQUFhLEdBQUcsYUFBYSxDQUFDO0tBcUJqQztJQW5CRyx5QkFBeUI7UUFDckIsSUFBSSxJQUFJLENBQUMscUJBQXFCLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUNyRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDaEM7YUFBTTtZQUNILElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDeEU7SUFDTCxDQUFDO0lBRUQseUJBQXlCO1FBQ3JCLElBQUksSUFBSSxDQUFDLHFCQUFxQixLQUFLLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2hDO2FBQU07WUFDSCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3hFO0lBQ0wsQ0FBQztJQUVELHlCQUF5QixDQUFDLHFCQUE0QztRQUNsRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDN0QsQ0FBQzsrR0FqQ1Esa0JBQWtCO21HQUFsQixrQkFBa0IsMFNDWC9CLHluS0E0R0E7OzRGRGpHYSxrQkFBa0I7a0JBTjlCLFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxlQUFlOzhCQUtoQixVQUFVO3NCQUFsQixLQUFLO2dCQUVHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBRUksdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi9lbnVtcy9udW1iZXJpbmctdGVtcGxhdGUtdHlwZS5lbnVtJztcbmltcG9ydCB7IE51bWJlcmluZ1R5cGUgfSBmcm9tICcuLi9lbnVtcy9udW1iZXJpbmctdHlwZS5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcHAtbnVtYmVyaW5nJyxcbiAgICB0ZW1wbGF0ZVVybDogJ251bWJlcmluZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ251bWJlcmluZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlcmluZ0NvbXBvbmVudCB7XG4gICAgQElucHV0KCkgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgc2VsZWN0ZWROdW1iZXJpbmdUeXBlOiBOdW1iZXJpbmdUeXBlO1xuXG4gICAgQElucHV0KCkgc2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlO1xuXG4gICAgQE91dHB1dCgpIHNlbGVjdE51bWJlcmluZ1RlbXBsYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxOdW1iZXJpbmdUZW1wbGF0ZVR5cGU+KCk7XG5cbiAgICBAT3V0cHV0KCkgcmVtb3ZlTnVtYmVyaW5ncyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIG51bWJlcmluZ1RlbXBsYXRlVHlwZSA9IE51bWJlcmluZ1RlbXBsYXRlVHlwZTtcblxuICAgIG51bWJlcmluZ1R5cGUgPSBOdW1iZXJpbmdUeXBlO1xuXG4gICAgb25Ub2dnbGVOdW1iZXJlZE51bWJlcmluZygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWROdW1iZXJpbmdUeXBlID09PSBOdW1iZXJpbmdUeXBlLk51bWJlcikge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVOdW1iZXJpbmdzLmVtaXQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0TnVtYmVyaW5nVGVtcGxhdGUuZW1pdChOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Ub2dnbGVCdWxsZXRlZE51bWJlcmluZygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWROdW1iZXJpbmdUeXBlID09PSBOdW1iZXJpbmdUeXBlLkJ1bGxldCkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVOdW1iZXJpbmdzLmVtaXQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0TnVtYmVyaW5nVGVtcGxhdGUuZW1pdChOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TZWxlY3ROdW1iZXJpbmdUZW1wbGF0ZShudW1iZXJpbmdUZW1wbGF0ZVR5cGU6IE51bWJlcmluZ1RlbXBsYXRlVHlwZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdE51bWJlcmluZ1RlbXBsYXRlLmVtaXQobnVtYmVyaW5nVGVtcGxhdGVUeXBlKTtcbiAgICB9XG59XG4iLCI8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXBcbiAgICBuYW1lPVwiZm9ybWF0XCJcbiAgICBhcmlhLWxhYmVsPVwiZm9ybWF0XCJcbiAgICBbaGlkZU11bHRpcGxlU2VsZWN0aW9uSW5kaWNhdG9yXT1cInRydWVcIlxuICAgIFtoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yXT1cInRydWVcIlxuICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCI+XG4gICAgPG1hdC1idXR0b24tdG9nZ2xlXG4gICAgICAgIChjbGljayk9XCJvblRvZ2dsZUJ1bGxldGVkTnVtYmVyaW5nKClcIlxuICAgICAgICBbdmFsdWVdPVwibnVtYmVyaW5nVHlwZS5CdWxsZXRcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZE51bWJlcmluZ1R5cGUgPT09IG51bWJlcmluZ1R5cGUuQnVsbGV0XCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgZm9udFNldD1cIm5jLWljb25cIlxuICAgICAgICAgICAgZm9udEljb249XCJpY29uLWZvcm1hdC1idWxsZXRlZFwiPjwvbWF0LWljb24+XG4gICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImxpc3RCdWxsZXRlZE1lbnVcIlxuICAgICAgICBbbWF0TWVudVRyaWdnZXJSZXN0b3JlRm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJuYy1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1hcnJvdy1kcm9wZG93blwiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPG1hdC1tZW51XG4gICAgICAgICNsaXN0QnVsbGV0ZWRNZW51PVwibWF0TWVudVwiXG4gICAgICAgIGNsYXNzPVwiZHJvcGRvd24tbnVtYmVyaW5nLW92ZXJsYXkgbm9kZXItbW9kYWxcIlxuICAgICAgICB5UG9zaXRpb249XCJiZWxvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pY29uIGxpc3QtbWFya2VyXCI+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBzdmdJY29uPVwibWFya2VyLTFcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdE51bWJlcmluZ1RlbXBsYXRlKG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0MSlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID09PSBudW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDFcIj48L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgc3ZnSWNvbj1cIm1hcmtlci0yXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3ROdW1iZXJpbmdUZW1wbGF0ZShudW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDIpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9PT0gbnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QyXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgIHN2Z0ljb249XCJtYXJrZXItM1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0TnVtYmVyaW5nVGVtcGxhdGUobnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QzKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPT09IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0M1wiPjwvbWF0LWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pY29uIGxpc3QtbWFya2VyXCI+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBzdmdJY29uPVwibWFya2VyLTRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdE51bWJlcmluZ1RlbXBsYXRlKG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NClcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID09PSBudW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDRcIj48L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgc3ZnSWNvbj1cIm1hcmtlci01XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3ROdW1iZXJpbmdUZW1wbGF0ZShudW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDUpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9PT0gbnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3Q1XCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgIHN2Z0ljb249XCJtYXJrZXItNlwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0TnVtYmVyaW5nVGVtcGxhdGUobnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3Q2KVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPT09IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NlwiPjwvbWF0LWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LW1lbnU+XG4gICAgPG1hdC1idXR0b24tdG9nZ2xlXG4gICAgICAgIChjbGljayk9XCJvblRvZ2dsZU51bWJlcmVkTnVtYmVyaW5nKClcIlxuICAgICAgICBbdmFsdWVdPVwibnVtYmVyaW5nVHlwZS5OdW1iZXJcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZE51bWJlcmluZ1R5cGUgPT09IG51bWJlcmluZ1R5cGUuTnVtYmVyXCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgZm9udFNldD1cIm5jLWljb25cIlxuICAgICAgICAgICAgZm9udEljb249XCJpY29uLWZvcm1hdC1udW1iZXJlZFwiPjwvbWF0LWljb24+XG4gICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImxpc3ROdW1iZXJlZE1lbnVcIlxuICAgICAgICBbbWF0TWVudVRyaWdnZXJSZXN0b3JlRm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJuYy1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1hcnJvdy1kcm9wZG93blwiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPG1hdC1tZW51XG4gICAgICAgICNsaXN0TnVtYmVyZWRNZW51PVwibWF0TWVudVwiXG4gICAgICAgIGNsYXNzPVwiZHJvcGRvd24tbnVtYmVyaW5nLW92ZXJsYXkgbm9kZXItbW9kYWxcIlxuICAgICAgICB5UG9zaXRpb249XCJiZWxvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pY29uIGxpc3QtbnVtYmVyXCI+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBzdmdJY29uPVwibnVtYmVyLTFcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdE51bWJlcmluZ1RlbXBsYXRlKG51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0MSlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID09PSBudW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDFcIj48L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgc3ZnSWNvbj1cIm51bWJlci0yXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3ROdW1iZXJpbmdUZW1wbGF0ZShudW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDIpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9PT0gbnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3QyXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgIHN2Z0ljb249XCJudW1iZXItM1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0TnVtYmVyaW5nVGVtcGxhdGUobnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3QzKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPT09IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0M1wiPjwvbWF0LWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pY29uIGxpc3QtbnVtYmVyXCI+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBzdmdJY29uPVwibnVtYmVyLTRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdE51bWJlcmluZ1RlbXBsYXRlKG51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0NClcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID09PSBudW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDRcIj48L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgc3ZnSWNvbj1cIm51bWJlci01XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3ROdW1iZXJpbmdUZW1wbGF0ZShudW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDUpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9PT0gbnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3Q1XCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgIHN2Z0ljb249XCJudW1iZXItNlwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0TnVtYmVyaW5nVGVtcGxhdGUobnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3Q2KVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPT09IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0NlwiPjwvbWF0LWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LW1lbnU+XG48L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/material/button";
|
|
4
|
-
import * as i2 from "@angular/material/icon";
|
|
5
|
-
export class PrintComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.print = new EventEmitter();
|
|
8
|
-
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PrintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PrintComponent, selector: "app-print", outputs: { print: "print" }, ngImport: i0, template: "<button\n mat-button\n (click)=\"print.emit()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-print\"></mat-icon>\n</button>\n", styles: [":host{display:flex;align-items:center}.mdc-button{min-width:28px;min-height:28px;height:28px;padding:0;margin:0 4px}.mdc-button mat-icon{font-size:24px;height:24px;width:24px;margin:0}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PrintComponent, decorators: [{
|
|
13
|
-
type: Component,
|
|
14
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-print', template: "<button\n mat-button\n (click)=\"print.emit()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-print\"></mat-icon>\n</button>\n", styles: [":host{display:flex;align-items:center}.mdc-button{min-width:28px;min-height:28px;height:28px;padding:0;margin:0 4px}.mdc-button mat-icon{font-size:24px;height:24px;width:24px;margin:0}\n"] }]
|
|
15
|
-
}], propDecorators: { print: [{
|
|
16
|
-
type: Output
|
|
17
|
-
}] } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvK3NoYXJlZC9lZGl0b3ItdG9vbGJhci9wcmludC9wcmludC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci10b29sYmFyL3ByaW50L3ByaW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVF6RixNQUFNLE9BQU8sY0FBYztJQU4zQjtRQU9jLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBQzlDOytHQUZZLGNBQWM7bUdBQWQsY0FBYyw4RUNSM0IsOEpBT0E7OzRGRENhLGNBQWM7a0JBTjFCLFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxXQUFXOzhCQUtYLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXBwLXByaW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJpbnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3ByaW50LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUHJpbnRDb21wb25lbnQge1xuICAgIEBPdXRwdXQoKSBwcmludCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbn1cbiIsIjxidXR0b25cbiAgICBtYXQtYnV0dG9uXG4gICAgKGNsaWNrKT1cInByaW50LmVtaXQoKVwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgICBmb250U2V0PVwibmMtaWNvblwiXG4gICAgICAgIGZvbnRJY29uPVwiaWNvbi1wcmludFwiPjwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { DEFAULT_FONT_SIZE } from '../../editor/core/constants/editor.const';
|
|
3
|
-
import { ElementDataModel } from '../../editor/custom-components/external-element/models/element-data.model';
|
|
4
|
-
import { EXTERNAL_ELEMENT_SERVICE } from '../../editor/custom-components/external-element/external-elements.const';
|
|
5
|
-
import { NumberingTemplates } from '../constants/numbering-templates.const';
|
|
6
|
-
import { ParagraphStyleModel } from '../../../models/generated/paragraph-style.model';
|
|
7
|
-
import { TextStyleModel } from '../../../models/generated/text-style.model';
|
|
8
|
-
import { ToolbarStylesHelper } from '../helpers/toolbar-styles.helper';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../../services/custom-icon.service";
|
|
11
|
-
import * as i2 from "@angular/common";
|
|
12
|
-
import * as i3 from "@angular/material/button";
|
|
13
|
-
import * as i4 from "@angular/material/icon";
|
|
14
|
-
import * as i5 from "../font/font.component";
|
|
15
|
-
import * as i6 from "../font-size/font-size.component";
|
|
16
|
-
import * as i7 from "../font-style/font-style.component";
|
|
17
|
-
import * as i8 from "../format/format.component";
|
|
18
|
-
import * as i9 from "../numbering/numbering.component";
|
|
19
|
-
import * as i10 from "../print/print.component";
|
|
20
|
-
import * as i11 from "../undo-redo/undo-redo.component";
|
|
21
|
-
export class ToolbarActionsComponent {
|
|
22
|
-
set historyInfo(value) {
|
|
23
|
-
this.canUndo = value.step !== -1;
|
|
24
|
-
this.canRedo = value.step < value.lastStep;
|
|
25
|
-
}
|
|
26
|
-
set styles(value) {
|
|
27
|
-
this._styles = value;
|
|
28
|
-
this.numberingType = ToolbarStylesHelper.getNumberingType(value.isBulletMarker);
|
|
29
|
-
this.numberingTemplateType = ToolbarStylesHelper.getNumberingTemplateType(value.numberingLevelsStyles);
|
|
30
|
-
}
|
|
31
|
-
get styles() {
|
|
32
|
-
return this._styles;
|
|
33
|
-
}
|
|
34
|
-
constructor(customIconService, injector) {
|
|
35
|
-
this.customIconService = customIconService;
|
|
36
|
-
this.injector = injector;
|
|
37
|
-
this.print = new EventEmitter();
|
|
38
|
-
this.redo = new EventEmitter();
|
|
39
|
-
this.undo = new EventEmitter();
|
|
40
|
-
this.changeParagraphStyle = new EventEmitter();
|
|
41
|
-
this.changeTextStyle = new EventEmitter();
|
|
42
|
-
this.setNumberingTemplateType = new EventEmitter();
|
|
43
|
-
this.removeNumberings = new EventEmitter();
|
|
44
|
-
this.createElement = new EventEmitter();
|
|
45
|
-
this.elements = this.injector.get(EXTERNAL_ELEMENT_SERVICE).elements;
|
|
46
|
-
this.customIconService.register();
|
|
47
|
-
}
|
|
48
|
-
onApplyFontFamily(font) {
|
|
49
|
-
this.checkFontLoadedAndApplyStyle(new TextStyleModel({ fontFamily: font }));
|
|
50
|
-
}
|
|
51
|
-
onApplyFontSize(size) {
|
|
52
|
-
this.checkFontLoadedAndApplyStyle(new TextStyleModel({ fontSize: size }));
|
|
53
|
-
}
|
|
54
|
-
onApplyBold(bold) {
|
|
55
|
-
this.checkFontLoadedAndApplyStyle(new TextStyleModel({ bold }));
|
|
56
|
-
}
|
|
57
|
-
onApplyUnderline(underline) {
|
|
58
|
-
this.changeTextStyle.emit(new TextStyleModel({ underline }));
|
|
59
|
-
}
|
|
60
|
-
onApplyItalic(italic) {
|
|
61
|
-
this.checkFontLoadedAndApplyStyle(new TextStyleModel({ italic }));
|
|
62
|
-
}
|
|
63
|
-
onApplyFontColor(color) {
|
|
64
|
-
this.changeTextStyle.emit(new TextStyleModel({ fontColor: color }));
|
|
65
|
-
}
|
|
66
|
-
onApplyHighlightColor(color) {
|
|
67
|
-
this.changeTextStyle.emit(new TextStyleModel({ highlightColor: color }));
|
|
68
|
-
}
|
|
69
|
-
onApplyAlignment(alignment) {
|
|
70
|
-
this.changeParagraphStyle.emit(new ParagraphStyleModel({ alignment }));
|
|
71
|
-
}
|
|
72
|
-
onSetNumberingTemplateType(templateType) {
|
|
73
|
-
const templateLevels = NumberingTemplates.find(x => x.templateType === templateType).levels;
|
|
74
|
-
this.setNumberingTemplateType.emit(templateLevels);
|
|
75
|
-
}
|
|
76
|
-
async onCreateElement(model) {
|
|
77
|
-
const data = await model.factoryMethod();
|
|
78
|
-
const element = new ElementDataModel(model.type, data.width, data.height, data.guid);
|
|
79
|
-
this.createElement.emit(element);
|
|
80
|
-
}
|
|
81
|
-
checkFontLoadedAndApplyStyle(style) {
|
|
82
|
-
const newStyles = { ...this.styles, ...style };
|
|
83
|
-
const italic = newStyles.italic ? 'italic ' : '';
|
|
84
|
-
const bold = newStyles.bold ? 'bold ' : '';
|
|
85
|
-
const fontStyles = `${italic}${bold}${newStyles.fontSize ?? DEFAULT_FONT_SIZE}pt ${newStyles.fontFamily}`;
|
|
86
|
-
if (document.fonts.check(fontStyles)) {
|
|
87
|
-
this.changeTextStyle.emit(style);
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
document.fonts
|
|
91
|
-
.load(fontStyles)
|
|
92
|
-
.then(() => this.changeTextStyle.emit(style))
|
|
93
|
-
.catch(() => {
|
|
94
|
-
// continue regardless of error
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarActionsComponent, deps: [{ token: i1.CustomIconService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
98
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ToolbarActionsComponent, selector: "app-toolbar-actions", inputs: { isViewOnly: "isViewOnly", historyInfo: "historyInfo", styles: "styles" }, outputs: { print: "print", redo: "redo", undo: "undo", changeParagraphStyle: "changeParagraphStyle", changeTextStyle: "changeTextStyle", setNumberingTemplateType: "setNumberingTemplateType", removeNumberings: "removeNumberings", createElement: "createElement" }, ngImport: i0, template: "<app-undo-redo\n [canUndo]=\"canUndo\"\n [canRedo]=\"canRedo\"\n (undo)=\"undo.emit()\"\n (redo)=\"redo.emit()\" />\n<app-print (print)=\"print.emit()\" />\n<div class=\"separator\"></div>\n<app-font\n [isDisabled]=\"isViewOnly\"\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n<div class=\"separator\"></div>\n<app-font-size\n [isDisabled]=\"isViewOnly\"\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n<div class=\"separator\"></div>\n<app-font-style\n [isDisabled]=\"isViewOnly\"\n [bold]=\"styles.bold\"\n [italic]=\"styles.italic\"\n [underline]=\"styles.underline\"\n [fontColor]=\"styles.fontColor\"\n [highlightColor]=\"styles.highlightColor\"\n (selectFontColor)=\"onApplyFontColor($event)\"\n (toggleBold)=\"onApplyBold($event)\"\n (toggleItalic)=\"onApplyItalic($event)\"\n (toggleUnderline)=\"onApplyUnderline($event)\"\n (selectHighlightColor)=\"onApplyHighlightColor($event)\" />\n<div class=\"separator\"></div>\n<div\n *ngIf=\"elements.length\"\n class=\"custom-elements\">\n <button\n *ngFor=\"let element of elements\"\n mat-button\n [disabled]=\"isViewOnly\"\n (click)=\"onCreateElement(element)\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"{{ element.icon }}\"></mat-icon>\n </button>\n <div class=\"separator\"></div>\n</div>\n<app-format\n [isDisabled]=\"isViewOnly\"\n [alignment]=\"styles.alignment\"\n (selectAlignment)=\"onApplyAlignment($event)\" />\n<div class=\"separator\"></div>\n<app-numbering\n [isDisabled]=\"isViewOnly\"\n [selectedNumberingType]=\"numberingType\"\n [selectedNumberingTemplate]=\"numberingTemplateType\"\n (selectNumberingTemplate)=\"onSetNumberingTemplateType($event)\"\n (removeNumberings)=\"removeNumberings.emit()\" />\n", styles: [":host::ng-deep mat-button-toggle,:host::ng-deep .mat-button-toggle-button{height:32px;width:32px;border-radius:4px}:host::ng-deep mat-button-toggle mat-icon,:host::ng-deep .mat-button-toggle-button mat-icon{font-size:24px;height:24px;width:24px;border-radius:4px}:host::ng-deep mat-button-toggle .mat-button-toggle-label-content,:host::ng-deep .mat-button-toggle-button .mat-button-toggle-label-content{padding:0 2px}.separator{border-left:1px solid;opacity:.1;height:100%;margin:0 8px}.mdc-button{width:28px;height:28px;padding:0}.mat-mdc-button>.mat-icon{margin-right:0}.do-action{padding-right:1px;justify-content:center;display:flex}.custom-elements{display:flex;align-items:center;height:100%}.custom-elements .mdc-button{min-width:32px;min-height:32px;width:32px;height:32px;padding:0}.custom-elements .mdc-button>.mat-icon{margin-right:0;font-size:24px;height:24px;width:24px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.FontComponent, selector: "app-font", inputs: ["isDisabled", "styles"], outputs: ["selectFont"] }, { kind: "component", type: i6.FontSizeComponent, selector: "app-font-size", inputs: ["isDisabled", "fontSize"], outputs: ["selectFontSize"] }, { kind: "component", type: i7.FontStyleComponent, selector: "app-font-style", inputs: ["isDisabled", "bold", "italic", "underline", "fontColor", "highlightColor"], outputs: ["toggleBold", "toggleItalic", "toggleUnderline", "selectFontColor", "selectHighlightColor"] }, { kind: "component", type: i8.FormatComponent, selector: "app-format", inputs: ["isDisabled", "alignment"], outputs: ["selectAlignment"] }, { kind: "component", type: i9.NumberingComponent, selector: "app-numbering", inputs: ["isDisabled", "selectedNumberingType", "selectedNumberingTemplate"], outputs: ["selectNumberingTemplate", "removeNumberings"] }, { kind: "component", type: i10.PrintComponent, selector: "app-print", outputs: ["print"] }, { kind: "component", type: i11.UndoRedoComponent, selector: "app-undo-redo", inputs: ["canUndo", "canRedo"], outputs: ["undo", "redo"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
99
|
-
}
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarActionsComponent, decorators: [{
|
|
101
|
-
type: Component,
|
|
102
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-toolbar-actions', template: "<app-undo-redo\n [canUndo]=\"canUndo\"\n [canRedo]=\"canRedo\"\n (undo)=\"undo.emit()\"\n (redo)=\"redo.emit()\" />\n<app-print (print)=\"print.emit()\" />\n<div class=\"separator\"></div>\n<app-font\n [isDisabled]=\"isViewOnly\"\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n<div class=\"separator\"></div>\n<app-font-size\n [isDisabled]=\"isViewOnly\"\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n<div class=\"separator\"></div>\n<app-font-style\n [isDisabled]=\"isViewOnly\"\n [bold]=\"styles.bold\"\n [italic]=\"styles.italic\"\n [underline]=\"styles.underline\"\n [fontColor]=\"styles.fontColor\"\n [highlightColor]=\"styles.highlightColor\"\n (selectFontColor)=\"onApplyFontColor($event)\"\n (toggleBold)=\"onApplyBold($event)\"\n (toggleItalic)=\"onApplyItalic($event)\"\n (toggleUnderline)=\"onApplyUnderline($event)\"\n (selectHighlightColor)=\"onApplyHighlightColor($event)\" />\n<div class=\"separator\"></div>\n<div\n *ngIf=\"elements.length\"\n class=\"custom-elements\">\n <button\n *ngFor=\"let element of elements\"\n mat-button\n [disabled]=\"isViewOnly\"\n (click)=\"onCreateElement(element)\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"{{ element.icon }}\"></mat-icon>\n </button>\n <div class=\"separator\"></div>\n</div>\n<app-format\n [isDisabled]=\"isViewOnly\"\n [alignment]=\"styles.alignment\"\n (selectAlignment)=\"onApplyAlignment($event)\" />\n<div class=\"separator\"></div>\n<app-numbering\n [isDisabled]=\"isViewOnly\"\n [selectedNumberingType]=\"numberingType\"\n [selectedNumberingTemplate]=\"numberingTemplateType\"\n (selectNumberingTemplate)=\"onSetNumberingTemplateType($event)\"\n (removeNumberings)=\"removeNumberings.emit()\" />\n", styles: [":host::ng-deep mat-button-toggle,:host::ng-deep .mat-button-toggle-button{height:32px;width:32px;border-radius:4px}:host::ng-deep mat-button-toggle mat-icon,:host::ng-deep .mat-button-toggle-button mat-icon{font-size:24px;height:24px;width:24px;border-radius:4px}:host::ng-deep mat-button-toggle .mat-button-toggle-label-content,:host::ng-deep .mat-button-toggle-button .mat-button-toggle-label-content{padding:0 2px}.separator{border-left:1px solid;opacity:.1;height:100%;margin:0 8px}.mdc-button{width:28px;height:28px;padding:0}.mat-mdc-button>.mat-icon{margin-right:0}.do-action{padding-right:1px;justify-content:center;display:flex}.custom-elements{display:flex;align-items:center;height:100%}.custom-elements .mdc-button{min-width:32px;min-height:32px;width:32px;height:32px;padding:0}.custom-elements .mdc-button>.mat-icon{margin-right:0;font-size:24px;height:24px;width:24px}\n"] }]
|
|
103
|
-
}], ctorParameters: () => [{ type: i1.CustomIconService }, { type: i0.Injector }], propDecorators: { isViewOnly: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}], historyInfo: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], styles: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], print: [{
|
|
110
|
-
type: Output
|
|
111
|
-
}], redo: [{
|
|
112
|
-
type: Output
|
|
113
|
-
}], undo: [{
|
|
114
|
-
type: Output
|
|
115
|
-
}], changeParagraphStyle: [{
|
|
116
|
-
type: Output
|
|
117
|
-
}], changeTextStyle: [{
|
|
118
|
-
type: Output
|
|
119
|
-
}], setNumberingTemplateType: [{
|
|
120
|
-
type: Output
|
|
121
|
-
}], removeNumberings: [{
|
|
122
|
-
type: Output
|
|
123
|
-
}], createElement: [{
|
|
124
|
-
type: Output
|
|
125
|
-
}] } });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yLXRvb2xiYXIvdG9vbGJhci1hY3Rpb25zL3Rvb2xiYXItYWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci10b29sYmFyL3Rvb2xiYXItYWN0aW9ucy90b29sYmFyLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVksS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkxRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUluSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUk1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFRdkUsTUFBTSxPQUFPLHVCQUF1QjtJQUdoQyxJQUNJLFdBQVcsQ0FBQyxLQUFpQztRQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQ0ksTUFBTSxDQUFDLEtBQXFCO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxtQkFBbUIsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUE2QkQsWUFBb0IsaUJBQW9DLEVBQVUsUUFBa0I7UUFBaEUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUExQjFFLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWpDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWhDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWhDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBRS9ELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFckQsNkJBQXdCLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFFckUscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU1QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBYTNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDckUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFZO1FBQzFCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZO1FBQ3hCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFhO1FBQ3JCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsU0FBa0I7UUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxjQUFjLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFlO1FBQ3pCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLGNBQWMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxjQUFjLENBQUMsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxTQUFvQjtRQUNqQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksbUJBQW1CLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELDBCQUEwQixDQUFDLFlBQW1DO1FBQzFELE1BQU0sY0FBYyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzVGLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBMkI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekMsTUFBTSxPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLDRCQUE0QixDQUFDLEtBQXFCO1FBQ3RELE1BQU0sU0FBUyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDL0MsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0MsTUFBTSxVQUFVLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLFNBQVMsQ0FBQyxRQUFRLElBQUksaUJBQWlCLE1BQU0sU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTFHLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsT0FBTztTQUNWO1FBRUQsUUFBUSxDQUFDLEtBQUs7YUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ2hCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1QyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1IsK0JBQStCO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzsrR0EvR1EsdUJBQXVCO21HQUF2Qix1QkFBdUIsc1pDeEJwQyw2MkRBdURBOzs0RkQvQmEsdUJBQXVCO2tCQU5uQyxTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMscUJBQXFCOzZHQUt0QixVQUFVO3NCQUFsQixLQUFLO2dCQUdGLFdBQVc7c0JBRGQsS0FBSztnQkFPRixNQUFNO3NCQURULEtBQUs7Z0JBV0ksS0FBSztzQkFBZCxNQUFNO2dCQUVHLElBQUk7c0JBQWIsTUFBTTtnQkFFRyxJQUFJO3NCQUFiLE1BQU07Z0JBRUcsb0JBQW9CO3NCQUE3QixNQUFNO2dCQUVHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRUcsd0JBQXdCO3NCQUFqQyxNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFFRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBbGlnbm1lbnQgfSBmcm9tICcuLi9lbnVtcy9hbGlnbm1lbnQuZW51bSc7XG5pbXBvcnQgeyBDdXN0b21JY29uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2N1c3RvbS1pY29uLnNlcnZpY2UnO1xuaW1wb3J0IHsgREVGQVVMVF9GT05UX1NJWkUgfSBmcm9tICcuLi8uLi9lZGl0b3IvY29yZS9jb25zdGFudHMvZWRpdG9yLmNvbnN0JztcbmltcG9ydCB7IEVsZW1lbnREYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9lZGl0b3IvY3VzdG9tLWNvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9tb2RlbHMvZWxlbWVudC1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEVYVEVSTkFMX0VMRU1FTlRfU0VSVklDRSB9IGZyb20gJy4uLy4uL2VkaXRvci9jdXN0b20tY29tcG9uZW50cy9leHRlcm5hbC1lbGVtZW50L2V4dGVybmFsLWVsZW1lbnRzLmNvbnN0JztcbmltcG9ydCB7IEV4dGVybmFsRWxlbWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vZWRpdG9yL2N1c3RvbS1jb21wb25lbnRzL2V4dGVybmFsLWVsZW1lbnQvbW9kZWxzL2V4dGVybmFsLWVsZW1lbnQubW9kZWwnO1xuaW1wb3J0IHsgSVRvb2xiYXJTdHlsZXMgfSBmcm9tICcuLi8uLi9lZGl0b3IvY29yZS9pbnRlcmZhY2VzL3Rvb2xiYXItc3R5bGVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOdW1iZXJpbmdMZXZlbE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9udW1iZXJpbmctbGV2ZWwubW9kZWwnO1xuaW1wb3J0IHsgTnVtYmVyaW5nVGVtcGxhdGVzIH0gZnJvbSAnLi4vY29uc3RhbnRzL251bWJlcmluZy10ZW1wbGF0ZXMuY29uc3QnO1xuaW1wb3J0IHsgTnVtYmVyaW5nVGVtcGxhdGVUeXBlIH0gZnJvbSAnLi4vZW51bXMvbnVtYmVyaW5nLXRlbXBsYXRlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBOdW1iZXJpbmdUeXBlIH0gZnJvbSAnLi4vZW51bXMvbnVtYmVyaW5nLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBPcGVyYXRpb25zSGlzdG9yeUluZm9Nb2RlbCB9IGZyb20gJy4uLy4uL2VkaXRvci9vcGVyYXRpb24taGlzdG9yeS9vcGVyYXRpb25zLWhpc3RvcnktaW5mby5tb2RlbCc7XG5pbXBvcnQgeyBQYXJhZ3JhcGhTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9wYXJhZ3JhcGgtc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgVGV4dFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RleHQtc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgVG9vbGJhclN0eWxlc0hlbHBlciB9IGZyb20gJy4uL2hlbHBlcnMvdG9vbGJhci1zdHlsZXMuaGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcHAtdG9vbGJhci1hY3Rpb25zJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3Rvb2xiYXItYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ3Rvb2xiYXItYWN0aW9ucy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJBY3Rpb25zQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBpc1ZpZXdPbmx5OiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgaGlzdG9yeUluZm8odmFsdWU6IE9wZXJhdGlvbnNIaXN0b3J5SW5mb01vZGVsKSB7XG4gICAgICAgIHRoaXMuY2FuVW5kbyA9IHZhbHVlLnN0ZXAgIT09IC0xO1xuICAgICAgICB0aGlzLmNhblJlZG8gPSB2YWx1ZS5zdGVwIDwgdmFsdWUubGFzdFN0ZXA7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgc3R5bGVzKHZhbHVlOiBJVG9vbGJhclN0eWxlcykge1xuICAgICAgICB0aGlzLl9zdHlsZXMgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5udW1iZXJpbmdUeXBlID0gVG9vbGJhclN0eWxlc0hlbHBlci5nZXROdW1iZXJpbmdUeXBlKHZhbHVlLmlzQnVsbGV0TWFya2VyKTtcbiAgICAgICAgdGhpcy5udW1iZXJpbmdUZW1wbGF0ZVR5cGUgPSBUb29sYmFyU3R5bGVzSGVscGVyLmdldE51bWJlcmluZ1RlbXBsYXRlVHlwZSh2YWx1ZS5udW1iZXJpbmdMZXZlbHNTdHlsZXMpO1xuICAgIH1cbiAgICBnZXQgc3R5bGVzKCk6IElUb29sYmFyU3R5bGVzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0eWxlcztcbiAgICB9XG4gICAgcHJpdmF0ZSBfc3R5bGVzOiBJVG9vbGJhclN0eWxlcztcblxuICAgIEBPdXRwdXQoKSBwcmludCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKSByZWRvID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpIHVuZG8gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgY2hhbmdlUGFyYWdyYXBoU3R5bGUgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcmFncmFwaFN0eWxlTW9kZWw+KCk7XG5cbiAgICBAT3V0cHV0KCkgY2hhbmdlVGV4dFN0eWxlID0gbmV3IEV2ZW50RW1pdHRlcjxUZXh0U3R5bGVNb2RlbD4oKTtcblxuICAgIEBPdXRwdXQoKSBzZXROdW1iZXJpbmdUZW1wbGF0ZVR5cGUgPSBuZXcgRXZlbnRFbWl0dGVyPE51bWJlcmluZ0xldmVsTW9kZWxbXT4oKTtcblxuICAgIEBPdXRwdXQoKSByZW1vdmVOdW1iZXJpbmdzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpIGNyZWF0ZUVsZW1lbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEVsZW1lbnREYXRhTW9kZWw+KCk7XG5cbiAgICBjYW5VbmRvOiBib29sZWFuO1xuXG4gICAgY2FuUmVkbzogYm9vbGVhbjtcblxuICAgIG51bWJlcmluZ1R5cGU6IE51bWJlcmluZ1R5cGUgfCBudWxsO1xuXG4gICAgbnVtYmVyaW5nVGVtcGxhdGVUeXBlOiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUgfCBudWxsO1xuXG4gICAgZWxlbWVudHM6IEV4dGVybmFsRWxlbWVudE1vZGVsW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGN1c3RvbUljb25TZXJ2aWNlOiBDdXN0b21JY29uU2VydmljZSwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50cyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEVYVEVSTkFMX0VMRU1FTlRfU0VSVklDRSkuZWxlbWVudHM7XG4gICAgICAgIHRoaXMuY3VzdG9tSWNvblNlcnZpY2UucmVnaXN0ZXIoKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5Rm9udEZhbWlseShmb250OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKG5ldyBUZXh0U3R5bGVNb2RlbCh7IGZvbnRGYW1pbHk6IGZvbnQgfSkpO1xuICAgIH1cblxuICAgIG9uQXBwbHlGb250U2l6ZShzaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKG5ldyBUZXh0U3R5bGVNb2RlbCh7IGZvbnRTaXplOiBzaXplIH0pKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5Qm9sZChib2xkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tGb250TG9hZGVkQW5kQXBwbHlTdHlsZShuZXcgVGV4dFN0eWxlTW9kZWwoeyBib2xkIH0pKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5VW5kZXJsaW5lKHVuZGVybGluZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZVRleHRTdHlsZS5lbWl0KG5ldyBUZXh0U3R5bGVNb2RlbCh7IHVuZGVybGluZSB9KSk7XG4gICAgfVxuXG4gICAgb25BcHBseUl0YWxpYyhpdGFsaWM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKG5ldyBUZXh0U3R5bGVNb2RlbCh7IGl0YWxpYyB9KSk7XG4gICAgfVxuXG4gICAgb25BcHBseUZvbnRDb2xvcihjb2xvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlVGV4dFN0eWxlLmVtaXQobmV3IFRleHRTdHlsZU1vZGVsKHsgZm9udENvbG9yOiBjb2xvciB9KSk7XG4gICAgfVxuXG4gICAgb25BcHBseUhpZ2hsaWdodENvbG9yKGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VUZXh0U3R5bGUuZW1pdChuZXcgVGV4dFN0eWxlTW9kZWwoeyBoaWdobGlnaHRDb2xvcjogY29sb3IgfSkpO1xuICAgIH1cblxuICAgIG9uQXBwbHlBbGlnbm1lbnQoYWxpZ25tZW50OiBBbGlnbm1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VQYXJhZ3JhcGhTdHlsZS5lbWl0KG5ldyBQYXJhZ3JhcGhTdHlsZU1vZGVsKHsgYWxpZ25tZW50IH0pKTtcbiAgICB9XG5cbiAgICBvblNldE51bWJlcmluZ1RlbXBsYXRlVHlwZSh0ZW1wbGF0ZVR5cGU6IE51bWJlcmluZ1RlbXBsYXRlVHlwZSk6IHZvaWQge1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZUxldmVscyA9IE51bWJlcmluZ1RlbXBsYXRlcy5maW5kKHggPT4geC50ZW1wbGF0ZVR5cGUgPT09IHRlbXBsYXRlVHlwZSkubGV2ZWxzO1xuICAgICAgICB0aGlzLnNldE51bWJlcmluZ1RlbXBsYXRlVHlwZS5lbWl0KHRlbXBsYXRlTGV2ZWxzKTtcbiAgICB9XG5cbiAgICBhc3luYyBvbkNyZWF0ZUVsZW1lbnQobW9kZWw6IEV4dGVybmFsRWxlbWVudE1vZGVsKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBtb2RlbC5mYWN0b3J5TWV0aG9kKCk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBuZXcgRWxlbWVudERhdGFNb2RlbChtb2RlbC50eXBlLCBkYXRhLndpZHRoLCBkYXRhLmhlaWdodCwgZGF0YS5ndWlkKTtcbiAgICAgICAgdGhpcy5jcmVhdGVFbGVtZW50LmVtaXQoZWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKHN0eWxlOiBUZXh0U3R5bGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdTdHlsZXMgPSB7IC4uLnRoaXMuc3R5bGVzLCAuLi5zdHlsZSB9O1xuICAgICAgICBjb25zdCBpdGFsaWMgPSBuZXdTdHlsZXMuaXRhbGljID8gJ2l0YWxpYyAnIDogJyc7XG4gICAgICAgIGNvbnN0IGJvbGQgPSBuZXdTdHlsZXMuYm9sZCA/ICdib2xkICcgOiAnJztcbiAgICAgICAgY29uc3QgZm9udFN0eWxlcyA9IGAke2l0YWxpY30ke2JvbGR9JHtuZXdTdHlsZXMuZm9udFNpemUgPz8gREVGQVVMVF9GT05UX1NJWkV9cHQgJHtuZXdTdHlsZXMuZm9udEZhbWlseX1gO1xuXG4gICAgICAgIGlmIChkb2N1bWVudC5mb250cy5jaGVjayhmb250U3R5bGVzKSkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VUZXh0U3R5bGUuZW1pdChzdHlsZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBkb2N1bWVudC5mb250c1xuICAgICAgICAgICAgLmxvYWQoZm9udFN0eWxlcylcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMuY2hhbmdlVGV4dFN0eWxlLmVtaXQoc3R5bGUpKVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBjb250aW51ZSByZWdhcmRsZXNzIG9mIGVycm9yXG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8YXBwLXVuZG8tcmVkb1xuICAgIFtjYW5VbmRvXT1cImNhblVuZG9cIlxuICAgIFtjYW5SZWRvXT1cImNhblJlZG9cIlxuICAgICh1bmRvKT1cInVuZG8uZW1pdCgpXCJcbiAgICAocmVkbyk9XCJyZWRvLmVtaXQoKVwiIC8+XG48YXBwLXByaW50IChwcmludCk9XCJwcmludC5lbWl0KClcIiAvPlxuPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxuPGFwcC1mb250XG4gICAgW2lzRGlzYWJsZWRdPVwiaXNWaWV3T25seVwiXG4gICAgW3N0eWxlc109XCJzdHlsZXNcIlxuICAgIChzZWxlY3RGb250KT1cIm9uQXBwbHlGb250RmFtaWx5KCRldmVudClcIiAvPlxuPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxuPGFwcC1mb250LXNpemVcbiAgICBbaXNEaXNhYmxlZF09XCJpc1ZpZXdPbmx5XCJcbiAgICBbZm9udFNpemVdPVwic3R5bGVzLmZvbnRTaXplXCJcbiAgICAoc2VsZWN0Rm9udFNpemUpPVwib25BcHBseUZvbnRTaXplKCRldmVudClcIiAvPlxuPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxuPGFwcC1mb250LXN0eWxlXG4gICAgW2lzRGlzYWJsZWRdPVwiaXNWaWV3T25seVwiXG4gICAgW2JvbGRdPVwic3R5bGVzLmJvbGRcIlxuICAgIFtpdGFsaWNdPVwic3R5bGVzLml0YWxpY1wiXG4gICAgW3VuZGVybGluZV09XCJzdHlsZXMudW5kZXJsaW5lXCJcbiAgICBbZm9udENvbG9yXT1cInN0eWxlcy5mb250Q29sb3JcIlxuICAgIFtoaWdobGlnaHRDb2xvcl09XCJzdHlsZXMuaGlnaGxpZ2h0Q29sb3JcIlxuICAgIChzZWxlY3RGb250Q29sb3IpPVwib25BcHBseUZvbnRDb2xvcigkZXZlbnQpXCJcbiAgICAodG9nZ2xlQm9sZCk9XCJvbkFwcGx5Qm9sZCgkZXZlbnQpXCJcbiAgICAodG9nZ2xlSXRhbGljKT1cIm9uQXBwbHlJdGFsaWMoJGV2ZW50KVwiXG4gICAgKHRvZ2dsZVVuZGVybGluZSk9XCJvbkFwcGx5VW5kZXJsaW5lKCRldmVudClcIlxuICAgIChzZWxlY3RIaWdobGlnaHRDb2xvcik9XCJvbkFwcGx5SGlnaGxpZ2h0Q29sb3IoJGV2ZW50KVwiIC8+XG48ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+PC9kaXY+XG48ZGl2XG4gICAgKm5nSWY9XCJlbGVtZW50cy5sZW5ndGhcIlxuICAgIGNsYXNzPVwiY3VzdG9tLWVsZW1lbnRzXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBlbGVtZW50c1wiXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgW2Rpc2FibGVkXT1cImlzVmlld09ubHlcIlxuICAgICAgICAoY2xpY2spPVwib25DcmVhdGVFbGVtZW50KGVsZW1lbnQpXCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgZm9udFNldD1cIm5jLWljb25cIlxuICAgICAgICAgICAgZm9udEljb249XCJ7eyBlbGVtZW50Lmljb24gfX1cIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cbjwvZGl2PlxuPGFwcC1mb3JtYXRcbiAgICBbaXNEaXNhYmxlZF09XCJpc1ZpZXdPbmx5XCJcbiAgICBbYWxpZ25tZW50XT1cInN0eWxlcy5hbGlnbm1lbnRcIlxuICAgIChzZWxlY3RBbGlnbm1lbnQpPVwib25BcHBseUFsaWdubWVudCgkZXZlbnQpXCIgLz5cbjxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cbjxhcHAtbnVtYmVyaW5nXG4gICAgW2lzRGlzYWJsZWRdPVwiaXNWaWV3T25seVwiXG4gICAgW3NlbGVjdGVkTnVtYmVyaW5nVHlwZV09XCJudW1iZXJpbmdUeXBlXCJcbiAgICBbc2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZV09XCJudW1iZXJpbmdUZW1wbGF0ZVR5cGVcIlxuICAgIChzZWxlY3ROdW1iZXJpbmdUZW1wbGF0ZSk9XCJvblNldE51bWJlcmluZ1RlbXBsYXRlVHlwZSgkZXZlbnQpXCJcbiAgICAocmVtb3ZlTnVtYmVyaW5ncyk9XCJyZW1vdmVOdW1iZXJpbmdzLmVtaXQoKVwiIC8+XG4iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/material/button";
|
|
4
|
-
import * as i2 from "@angular/material/icon";
|
|
5
|
-
export class UndoRedoComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.canUndo = false;
|
|
8
|
-
this.canRedo = false;
|
|
9
|
-
this.undo = new EventEmitter();
|
|
10
|
-
this.redo = new EventEmitter();
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UndoRedoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: UndoRedoComponent, selector: "app-undo-redo", inputs: { canUndo: "canUndo", canRedo: "canRedo" }, outputs: { undo: "undo", redo: "redo" }, ngImport: i0, template: "<button\n mat-button\n [disabled]=\"!canUndo\"\n (click)=\"undo.emit()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-undo\"></mat-icon>\n</button>\n<button\n mat-button\n [disabled]=\"!canRedo\"\n (click)=\"redo.emit()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-redo\"></mat-icon>\n</button>\n", styles: [":host{display:flex;align-items:center}.mdc-button{min-width:28px;min-height:28px;height:28px;padding:0;margin:0 4px}.mdc-button mat-icon{font-size:24px;height:24px;width:24px;margin:0}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UndoRedoComponent, decorators: [{
|
|
16
|
-
type: Component,
|
|
17
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-undo-redo', template: "<button\n mat-button\n [disabled]=\"!canUndo\"\n (click)=\"undo.emit()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-undo\"></mat-icon>\n</button>\n<button\n mat-button\n [disabled]=\"!canRedo\"\n (click)=\"redo.emit()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-redo\"></mat-icon>\n</button>\n", styles: [":host{display:flex;align-items:center}.mdc-button{min-width:28px;min-height:28px;height:28px;padding:0;margin:0 4px}.mdc-button mat-icon{font-size:24px;height:24px;width:24px;margin:0}\n"] }]
|
|
18
|
-
}], propDecorators: { canUndo: [{
|
|
19
|
-
type: Input
|
|
20
|
-
}], canRedo: [{
|
|
21
|
-
type: Input
|
|
22
|
-
}], undo: [{
|
|
23
|
-
type: Output
|
|
24
|
-
}], redo: [{
|
|
25
|
-
type: Output
|
|
26
|
-
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kby1yZWRvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yLXRvb2xiYXIvdW5kby1yZWRvL3VuZG8tcmVkby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci10b29sYmFyL3VuZG8tcmVkby91bmRvLXJlZG8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVFoRyxNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBT2EsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWYsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFaEMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FDN0M7K0dBUlksaUJBQWlCO21HQUFqQixpQkFBaUIsa0pDUjlCLGdYQWdCQTs7NEZEUmEsaUJBQWlCO2tCQU43QixTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsZUFBZTs4QkFLaEIsT0FBTztzQkFBZixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxJQUFJO3NCQUFiLE1BQU07Z0JBRUcsSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXBwLXVuZG8tcmVkbycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VuZG8tcmVkby5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdW5kby1yZWRvLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVW5kb1JlZG9Db21wb25lbnQge1xuICAgIEBJbnB1dCgpIGNhblVuZG8gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGNhblJlZG8gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSB1bmRvID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpIHJlZG8gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG59XG4iLCI8YnV0dG9uXG4gICAgbWF0LWJ1dHRvblxuICAgIFtkaXNhYmxlZF09XCIhY2FuVW5kb1wiXG4gICAgKGNsaWNrKT1cInVuZG8uZW1pdCgpXCI+XG4gICAgPG1hdC1pY29uXG4gICAgICAgIGZvbnRTZXQ9XCJuYy1pY29uXCJcbiAgICAgICAgZm9udEljb249XCJpY29uLXVuZG9cIj48L21hdC1pY29uPlxuPC9idXR0b24+XG48YnV0dG9uXG4gICAgbWF0LWJ1dHRvblxuICAgIFtkaXNhYmxlZF09XCIhY2FuUmVkb1wiXG4gICAgKGNsaWNrKT1cInJlZG8uZW1pdCgpXCI+XG4gICAgPG1hdC1pY29uXG4gICAgICAgIGZvbnRTZXQ9XCJuYy1pY29uXCJcbiAgICAgICAgZm9udEljb249XCJpY29uLXJlZG9cIj48L21hdC1pY29uPlxuPC9idXR0b24+XG4iXX0=
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
|
|
2
|
-
import { FormControl } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@angular/forms";
|
|
6
|
-
import * as i3 from "@angular/material/autocomplete";
|
|
7
|
-
import * as i4 from "@angular/material/core";
|
|
8
|
-
import * as i5 from "@angular/material/button";
|
|
9
|
-
import * as i6 from "@angular/material/icon";
|
|
10
|
-
export class ZoomComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.minZoom = 50;
|
|
13
|
-
this.maxZoom = 200;
|
|
14
|
-
this.enterCode = 13;
|
|
15
|
-
this.regexWithPercentage = new RegExp(/^\d+%+$/);
|
|
16
|
-
this.regexOnlyNumbers = new RegExp(/^\d+$/);
|
|
17
|
-
this.zoomPercentages = [this.minZoom, 75, 90, 100, 125, 150, 175, this.maxZoom];
|
|
18
|
-
this.myControl = new FormControl('');
|
|
19
|
-
this.selectedZoom = this.zoomPercentages[2];
|
|
20
|
-
this.myControl.setValue(this.zoomPercentages[2] + '%');
|
|
21
|
-
}
|
|
22
|
-
onSelectZoom(zoom) {
|
|
23
|
-
this.myControl.setValue(zoom + '%');
|
|
24
|
-
this.selectedZoom = zoom;
|
|
25
|
-
console.log('select zoom', zoom);
|
|
26
|
-
console.log(this.myControl.value);
|
|
27
|
-
}
|
|
28
|
-
onKeyDown(event, trigger) {
|
|
29
|
-
if (event.keyCode != this.enterCode) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
let selectedNumber;
|
|
33
|
-
if (this.regexOnlyNumbers.test(this.myControl.value)) {
|
|
34
|
-
selectedNumber = +this.myControl.value;
|
|
35
|
-
}
|
|
36
|
-
if (this.regexWithPercentage.test(this.myControl.value)) {
|
|
37
|
-
selectedNumber = +this.myControl.value.slice(0, -1);
|
|
38
|
-
}
|
|
39
|
-
if (!selectedNumber) {
|
|
40
|
-
this.myControl.setValue(this.selectedZoom + '%');
|
|
41
|
-
trigger.closePanel();
|
|
42
|
-
this.zoom.nativeElement.blur();
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
if (selectedNumber < this.minZoom) {
|
|
46
|
-
selectedNumber = this.minZoom;
|
|
47
|
-
}
|
|
48
|
-
if (selectedNumber > this.maxZoom) {
|
|
49
|
-
selectedNumber = this.maxZoom;
|
|
50
|
-
}
|
|
51
|
-
this.selectedZoom = selectedNumber;
|
|
52
|
-
this.myControl.setValue(this.selectedZoom + '%');
|
|
53
|
-
trigger.closePanel();
|
|
54
|
-
this.zoom.nativeElement.blur();
|
|
55
|
-
}
|
|
56
|
-
onSetPreviousValue() {
|
|
57
|
-
this.myControl.setValue(this.selectedZoom + '%');
|
|
58
|
-
console.log('onSetPreviousValue');
|
|
59
|
-
}
|
|
60
|
-
openPanel(event, trigger) {
|
|
61
|
-
event.stopPropagation();
|
|
62
|
-
trigger.panelOpen ? trigger.closePanel() : trigger.openPanel();
|
|
63
|
-
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZoomComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ZoomComponent, selector: "app-zoom", viewQueries: [{ propertyName: "zoom", first: true, predicate: ["zoom"], descendants: true }], ngImport: i0, template: "<input\n [matAutocomplete]=\"auto\"\n [formControl]=\"myControl\"\n #trigger=\"matAutocompleteTrigger\"\n #zoom\n (focusout)=\"onSetPreviousValue()\"\n (keydown)=\"onKeyDown($event, trigger)\" />\n<button\n mat-button\n (click)=\"openPanel($event, trigger)\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n</button>\n<mat-autocomplete\n class=\"zoom-autocomplite\"\n #auto=\"matAutocomplete\"\n [panelWidth]=\"80\">\n <mat-option\n *ngFor=\"let zoomPercentage of zoomPercentages\"\n (click)=\"onSelectZoom(zoomPercentage)\">\n {{ zoomPercentage }}%\n </mat-option>\n</mat-autocomplete>\n", styles: [":host{display:flex;align-items:center;width:90px}.zoom-menu{display:flex;justify-content:space-between;align-items:center;min-width:100px}span{padding-left:10%}.mdc-button{min-width:20px;height:25px;padding:0;margin-right:10px}mat-icon{width:20px;margin-right:5%}input{padding-left:10px;font-size:14px;width:60px;border-color:transparent;outline:none}::ng-deep .mdc-menu-surface.mat-mdc-autocomplete-panel{max-height:100%!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
66
|
-
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZoomComponent, decorators: [{
|
|
68
|
-
type: Component,
|
|
69
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-zoom', template: "<input\n [matAutocomplete]=\"auto\"\n [formControl]=\"myControl\"\n #trigger=\"matAutocompleteTrigger\"\n #zoom\n (focusout)=\"onSetPreviousValue()\"\n (keydown)=\"onKeyDown($event, trigger)\" />\n<button\n mat-button\n (click)=\"openPanel($event, trigger)\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n</button>\n<mat-autocomplete\n class=\"zoom-autocomplite\"\n #auto=\"matAutocomplete\"\n [panelWidth]=\"80\">\n <mat-option\n *ngFor=\"let zoomPercentage of zoomPercentages\"\n (click)=\"onSelectZoom(zoomPercentage)\">\n {{ zoomPercentage }}%\n </mat-option>\n</mat-autocomplete>\n", styles: [":host{display:flex;align-items:center;width:90px}.zoom-menu{display:flex;justify-content:space-between;align-items:center;min-width:100px}span{padding-left:10%}.mdc-button{min-width:20px;height:25px;padding:0;margin-right:10px}mat-icon{width:20px;margin-right:5%}input{padding-left:10px;font-size:14px;width:60px;border-color:transparent;outline:none}::ng-deep .mdc-menu-surface.mat-mdc-autocomplete-panel{max-height:100%!important}\n"] }]
|
|
70
|
-
}], ctorParameters: () => [], propDecorators: { zoom: [{
|
|
71
|
-
type: ViewChild,
|
|
72
|
-
args: ['zoom']
|
|
73
|
-
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci10b29sYmFyL3pvb20vem9vbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci10b29sYmFyL3pvb20vem9vbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBUzdDLE1BQU0sT0FBTyxhQUFhO0lBbUJ0QjtRQWhCUyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBRWIsWUFBTyxHQUFHLEdBQUcsQ0FBQztRQUVkLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZix3QkFBbUIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU1QyxxQkFBZ0IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVoRCxvQkFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0UsY0FBUyxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWhDLGlCQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUduQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVSxFQUFFLE9BQStCO1FBQ2pELElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pDLE9BQU87U0FDVjtRQUVELElBQUksY0FBYyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xELGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1NBQzFDO1FBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckQsY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQy9CLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMvQixjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNqQztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDakQsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxPQUErQjtRQUNqRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkUsQ0FBQzsrR0F6RVEsYUFBYTttR0FBYixhQUFhLDhJQ1YxQiw4ckJBd0JBOzs0RkRkYSxhQUFhO2tCQU56QixTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsVUFBVTt3REFLRCxJQUFJO3NCQUF0QixTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXBwLXpvb20nLFxuICAgIHRlbXBsYXRlVXJsOiAnem9vbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ3pvb20uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBab29tQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCd6b29tJykgem9vbTogRWxlbWVudFJlZjtcblxuICAgIHJlYWRvbmx5IG1pblpvb20gPSA1MDtcblxuICAgIHJlYWRvbmx5IG1heFpvb20gPSAyMDA7XG5cbiAgICByZWFkb25seSBlbnRlckNvZGUgPSAxMztcblxuICAgIHJlYWRvbmx5IHJlZ2V4V2l0aFBlcmNlbnRhZ2UgPSBuZXcgUmVnRXhwKC9eXFxkKyUrJC8pO1xuXG4gICAgcmVhZG9ubHkgcmVnZXhPbmx5TnVtYmVycyA9IG5ldyBSZWdFeHAoL15cXGQrJC8pO1xuXG4gICAgem9vbVBlcmNlbnRhZ2VzID0gW3RoaXMubWluWm9vbSwgNzUsIDkwLCAxMDAsIDEyNSwgMTUwLCAxNzUsIHRoaXMubWF4Wm9vbV07XG5cbiAgICBteUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gICAgc2VsZWN0ZWRab29tID0gdGhpcy56b29tUGVyY2VudGFnZXNbMl07XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5teUNvbnRyb2wuc2V0VmFsdWUodGhpcy56b29tUGVyY2VudGFnZXNbMl0gKyAnJScpO1xuICAgIH1cblxuICAgIG9uU2VsZWN0Wm9vbSh6b29tOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5teUNvbnRyb2wuc2V0VmFsdWUoem9vbSArICclJyk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRab29tID0gem9vbTtcbiAgICAgICAgY29uc29sZS5sb2coJ3NlbGVjdCB6b29tJywgem9vbSk7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMubXlDb250cm9sLnZhbHVlKTtcbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IGFueSwgdHJpZ2dlcjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcik6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSAhPSB0aGlzLmVudGVyQ29kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHNlbGVjdGVkTnVtYmVyO1xuICAgICAgICBpZiAodGhpcy5yZWdleE9ubHlOdW1iZXJzLnRlc3QodGhpcy5teUNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgICAgICBzZWxlY3RlZE51bWJlciA9ICt0aGlzLm15Q29udHJvbC52YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnJlZ2V4V2l0aFBlcmNlbnRhZ2UudGVzdCh0aGlzLm15Q29udHJvbC52YWx1ZSkpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkTnVtYmVyID0gK3RoaXMubXlDb250cm9sLnZhbHVlLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2VsZWN0ZWROdW1iZXIpIHtcbiAgICAgICAgICAgIHRoaXMubXlDb250cm9sLnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRab29tICsgJyUnKTtcbiAgICAgICAgICAgIHRyaWdnZXIuY2xvc2VQYW5lbCgpO1xuICAgICAgICAgICAgdGhpcy56b29tLm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGVjdGVkTnVtYmVyIDwgdGhpcy5taW5ab29tKSB7XG4gICAgICAgICAgICBzZWxlY3RlZE51bWJlciA9IHRoaXMubWluWm9vbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxlY3RlZE51bWJlciA+IHRoaXMubWF4Wm9vbSkge1xuICAgICAgICAgICAgc2VsZWN0ZWROdW1iZXIgPSB0aGlzLm1heFpvb207XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IHNlbGVjdGVkTnVtYmVyO1xuICAgICAgICB0aGlzLm15Q29udHJvbC5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkWm9vbSArICclJyk7XG4gICAgICAgIHRyaWdnZXIuY2xvc2VQYW5lbCgpO1xuICAgICAgICB0aGlzLnpvb20ubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgfVxuXG4gICAgb25TZXRQcmV2aW91c1ZhbHVlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm15Q29udHJvbC5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkWm9vbSArICclJyk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdvblNldFByZXZpb3VzVmFsdWUnKTtcbiAgICB9XG5cbiAgICBvcGVuUGFuZWwoZXZlbnQ6IGFueSwgdHJpZ2dlcjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcik6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdHJpZ2dlci5wYW5lbE9wZW4gPyB0cmlnZ2VyLmNsb3NlUGFuZWwoKSA6IHRyaWdnZXIub3BlblBhbmVsKCk7XG4gICAgfVxufVxuIiwiPGlucHV0XG4gICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwibXlDb250cm9sXCJcbiAgICAjdHJpZ2dlcj1cIm1hdEF1dG9jb21wbGV0ZVRyaWdnZXJcIlxuICAgICN6b29tXG4gICAgKGZvY3Vzb3V0KT1cIm9uU2V0UHJldmlvdXNWYWx1ZSgpXCJcbiAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCB0cmlnZ2VyKVwiIC8+XG48YnV0dG9uXG4gICAgbWF0LWJ1dHRvblxuICAgIChjbGljayk9XCJvcGVuUGFuZWwoJGV2ZW50LCB0cmlnZ2VyKVwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgICBmb250U2V0PVwibmMtaWNvblwiXG4gICAgICAgIGZvbnRJY29uPVwiaWNvbi1hcnJvdy1kcm9wZG93blwiPjwvbWF0LWljb24+XG48L2J1dHRvbj5cbjxtYXQtYXV0b2NvbXBsZXRlXG4gICAgY2xhc3M9XCJ6b29tLWF1dG9jb21wbGl0ZVwiXG4gICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAgIFtwYW5lbFdpZHRoXT1cIjgwXCI+XG4gICAgPG1hdC1vcHRpb25cbiAgICAgICAgKm5nRm9yPVwibGV0IHpvb21QZXJjZW50YWdlIG9mIHpvb21QZXJjZW50YWdlc1wiXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdFpvb20oem9vbVBlcmNlbnRhZ2UpXCI+XG4gICAgICAgIHt7IHpvb21QZXJjZW50YWdlIH19JVxuICAgIDwvbWF0LW9wdGlvbj5cbjwvbWF0LWF1dG9jb21wbGV0ZT5cbiJdfQ==
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { PrintRenderer } from '../editor/core/print.renderer';
|
|
2
|
-
import { RenderingHelper } from '../editor/core/helpers/rendering.helper';
|
|
3
|
-
export class PrintHelper extends RenderingHelper {
|
|
4
|
-
static printDocument(session, editorService) {
|
|
5
|
-
this.removePrintContainers();
|
|
6
|
-
const renderer = new PrintRenderer(session, editorService);
|
|
7
|
-
renderer.renderPrintDocument();
|
|
8
|
-
this.printDocumentHtml(renderer.documentHtml);
|
|
9
|
-
}
|
|
10
|
-
static printDocumentHtml(html, openInNewTab = false) {
|
|
11
|
-
if (openInNewTab) {
|
|
12
|
-
const winUrl = URL.createObjectURL(new Blob([html], { type: 'text/html' }));
|
|
13
|
-
window.open(winUrl, '_blank');
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
const printFrame = this.getPrintFrame();
|
|
17
|
-
printFrame.onload = () => {
|
|
18
|
-
window.setTimeout(() => {
|
|
19
|
-
printFrame.contentWindow.print();
|
|
20
|
-
}, 100);
|
|
21
|
-
};
|
|
22
|
-
printFrame.srcdoc = html;
|
|
23
|
-
}
|
|
24
|
-
static getPrintFrame() {
|
|
25
|
-
const printFrame = document.createElement('iframe');
|
|
26
|
-
document.body.appendChild(printFrame);
|
|
27
|
-
printFrame.contentWindow.addEventListener('afterprint', _event => {
|
|
28
|
-
printFrame.remove();
|
|
29
|
-
});
|
|
30
|
-
printFrame.id = 'print-frame';
|
|
31
|
-
return printFrame;
|
|
32
|
-
}
|
|
33
|
-
static removePrintContainers() {
|
|
34
|
-
const printFrame = document.getElementById('print-frame');
|
|
35
|
-
if (printFrame) {
|
|
36
|
-
printFrame.remove();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvK3NoYXJlZC9oZWxwZXJzL3ByaW50LmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBZTtJQUM1QyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQW9CLEVBQUUsYUFBNEI7UUFDbkUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxhQUFhLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzNELFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsWUFBWSxHQUFHLEtBQUs7UUFDL0QsSUFBSSxZQUFZLEVBQUU7WUFDZCxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlCLE9BQU87U0FDVjtRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUV4QyxVQUFVLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtZQUNyQixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDWixDQUFDLENBQUM7UUFDRixVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRU8sTUFBTSxDQUFDLGFBQWE7UUFDeEIsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxVQUFVLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsRUFBRTtZQUM3RCxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQztRQUM5QixPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRU8sTUFBTSxDQUFDLHFCQUFxQjtRQUNoQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBc0IsQ0FBQztRQUMvRSxJQUFJLFVBQVUsRUFBRTtZQUNaLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN2QjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi9lZGl0b3IvaW50ZXJhY3Rpb24vZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWRpdFNlc3Npb24gfSBmcm9tICcuLi9lZGl0b3IvY29yZS9lZGl0LnNlc3Npb24nO1xuaW1wb3J0IHsgUHJpbnRSZW5kZXJlciB9IGZyb20gJy4uL2VkaXRvci9jb3JlL3ByaW50LnJlbmRlcmVyJztcbmltcG9ydCB7IFJlbmRlcmluZ0hlbHBlciB9IGZyb20gJy4uL2VkaXRvci9jb3JlL2hlbHBlcnMvcmVuZGVyaW5nLmhlbHBlcic7XG5cbmV4cG9ydCBjbGFzcyBQcmludEhlbHBlciBleHRlbmRzIFJlbmRlcmluZ0hlbHBlciB7XG4gICAgc3RhdGljIHByaW50RG9jdW1lbnQoc2Vzc2lvbjogRWRpdFNlc3Npb24sIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVQcmludENvbnRhaW5lcnMoKTtcbiAgICAgICAgY29uc3QgcmVuZGVyZXIgPSBuZXcgUHJpbnRSZW5kZXJlcihzZXNzaW9uLCBlZGl0b3JTZXJ2aWNlKTtcbiAgICAgICAgcmVuZGVyZXIucmVuZGVyUHJpbnREb2N1bWVudCgpO1xuICAgICAgICB0aGlzLnByaW50RG9jdW1lbnRIdG1sKHJlbmRlcmVyLmRvY3VtZW50SHRtbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgcHJpbnREb2N1bWVudEh0bWwoaHRtbDogc3RyaW5nLCBvcGVuSW5OZXdUYWIgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAob3BlbkluTmV3VGFiKSB7XG4gICAgICAgICAgICBjb25zdCB3aW5VcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtodG1sXSwgeyB0eXBlOiAndGV4dC9odG1sJyB9KSk7XG4gICAgICAgICAgICB3aW5kb3cub3Blbih3aW5VcmwsICdfYmxhbmsnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByaW50RnJhbWUgPSB0aGlzLmdldFByaW50RnJhbWUoKTtcblxuICAgICAgICBwcmludEZyYW1lLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBwcmludEZyYW1lLmNvbnRlbnRXaW5kb3cucHJpbnQoKTtcbiAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgIH07XG4gICAgICAgIHByaW50RnJhbWUuc3JjZG9jID0gaHRtbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBnZXRQcmludEZyYW1lKCk6IEhUTUxJRnJhbWVFbGVtZW50IHtcbiAgICAgICAgY29uc3QgcHJpbnRGcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHByaW50RnJhbWUpO1xuICAgICAgICBwcmludEZyYW1lLmNvbnRlbnRXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignYWZ0ZXJwcmludCcsIF9ldmVudCA9PiB7XG4gICAgICAgICAgICBwcmludEZyYW1lLnJlbW92ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgcHJpbnRGcmFtZS5pZCA9ICdwcmludC1mcmFtZSc7XG4gICAgICAgIHJldHVybiBwcmludEZyYW1lO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHJlbW92ZVByaW50Q29udGFpbmVycygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJpbnRGcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcmludC1mcmFtZScpIGFzIEhUTUxJRnJhbWVFbGVtZW50O1xuICAgICAgICBpZiAocHJpbnRGcmFtZSkge1xuICAgICAgICAgICAgcHJpbnRGcmFtZS5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_HEADINGS, DEFAULT_PARAGRAPH_STYLE, DEFAULT_TEXT_STYLE } from '../editor/core/constants/editor.const';
|
|
2
|
-
import { DocumentInfo } from '../editor/core/constants/document-info.const';
|
|
3
|
-
import { DocxModel } from '../../models/generated/docx.model';
|
|
4
|
-
import { FormatModel } from '../../models/generated/format.model';
|
|
5
|
-
import { FormatStyleHelper } from '../editor/core/helpers/format-style.helper';
|
|
6
|
-
import { MarginModel } from '../editor/core/models/margin.model';
|
|
7
|
-
import { OperationsHelper } from '../editor/operations/helpers/operations-helper.helper';
|
|
8
|
-
import { ParagraphModel } from '../../models/generated/paragraph.model';
|
|
9
|
-
import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
|
|
10
|
-
export class RevisionHelper {
|
|
11
|
-
static applyOperationsToRevision(revision, operations) {
|
|
12
|
-
operations.sort((a, b) => a.createTime - b.createTime);
|
|
13
|
-
const actions = operations.map(x => x.command);
|
|
14
|
-
OperationsHelper.applyOperations(revision.content, actions);
|
|
15
|
-
}
|
|
16
|
-
static fillTablesDefaultStyles(tables) {
|
|
17
|
-
for (const table of tables) {
|
|
18
|
-
for (const row of table.rows) {
|
|
19
|
-
for (const cell of row.cells) {
|
|
20
|
-
this.fillDefaultStyles(cell);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
static fillEdgesDefaultStyles(headers, footers) {
|
|
26
|
-
for (const header of headers) {
|
|
27
|
-
this.fillDefaultStyles(header);
|
|
28
|
-
}
|
|
29
|
-
for (const footer of footers) {
|
|
30
|
-
this.fillDefaultStyles(footer);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
static fillDefaultStyles(contents) {
|
|
34
|
-
for (const format of contents.formats) {
|
|
35
|
-
format.textStyle = FormatStyleHelper.combineTextStyles(format.textStyle, DEFAULT_TEXT_STYLE);
|
|
36
|
-
}
|
|
37
|
-
for (const paragraph of contents.paragraphs) {
|
|
38
|
-
paragraph.paragraphStyle = this.fillParagraphStyleModel(paragraph.paragraphStyle);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
static fillParagraphStyleModel(paragraphStyle) {
|
|
42
|
-
return new ParagraphStyleModel({
|
|
43
|
-
alignment: paragraphStyle.alignment ?? DEFAULT_PARAGRAPH_STYLE.alignment,
|
|
44
|
-
backgroundColor: paragraphStyle.backgroundColor ?? DEFAULT_PARAGRAPH_STYLE.backgroundColor,
|
|
45
|
-
headingStyleId: paragraphStyle.headingStyleId,
|
|
46
|
-
indentFirstLine: paragraphStyle.indentFirstLine ?? DEFAULT_PARAGRAPH_STYLE.indentFirstLine,
|
|
47
|
-
indentHanging: paragraphStyle.indentHanging ?? DEFAULT_PARAGRAPH_STYLE.indentHanging,
|
|
48
|
-
indentLeft: paragraphStyle.indentLeft ?? DEFAULT_PARAGRAPH_STYLE.indentLeft,
|
|
49
|
-
indentRight: paragraphStyle.indentRight ?? DEFAULT_PARAGRAPH_STYLE.indentRight,
|
|
50
|
-
lineSpacing: paragraphStyle.lineSpacing ?? DEFAULT_PARAGRAPH_STYLE.lineSpacing,
|
|
51
|
-
spaceAfter: paragraphStyle.spaceAfter ?? DEFAULT_PARAGRAPH_STYLE.spaceAfter,
|
|
52
|
-
spaceBefore: paragraphStyle.spaceBefore ?? DEFAULT_PARAGRAPH_STYLE.spaceBefore,
|
|
53
|
-
contextualSpacing: paragraphStyle.contextualSpacing ?? DEFAULT_PARAGRAPH_STYLE.contextualSpacing,
|
|
54
|
-
beforeAutospacing: paragraphStyle.beforeAutospacing ?? DEFAULT_PARAGRAPH_STYLE.beforeAutospacing,
|
|
55
|
-
afterAutospacing: paragraphStyle.afterAutospacing ?? DEFAULT_PARAGRAPH_STYLE.afterAutospacing,
|
|
56
|
-
numberingId: paragraphStyle.numberingId ?? DEFAULT_PARAGRAPH_STYLE.numberingId,
|
|
57
|
-
numberingLevel: paragraphStyle.numberingLevel ?? DEFAULT_PARAGRAPH_STYLE.numberingLevel
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
static getEmptyDocxModel() {
|
|
61
|
-
const pageMargin = new MarginModel();
|
|
62
|
-
return new DocxModel({
|
|
63
|
-
content: '',
|
|
64
|
-
contentLength: 0,
|
|
65
|
-
headings: DEFAULT_HEADINGS,
|
|
66
|
-
pageHeight: DocumentInfo.height,
|
|
67
|
-
pageWidth: DocumentInfo.width,
|
|
68
|
-
paragraphs: [
|
|
69
|
-
new ParagraphModel({
|
|
70
|
-
insertIndex: 0,
|
|
71
|
-
paragraphStyle: DEFAULT_PARAGRAPH_STYLE
|
|
72
|
-
})
|
|
73
|
-
],
|
|
74
|
-
breaks: [],
|
|
75
|
-
elements: [],
|
|
76
|
-
formats: [new FormatModel({ startIndex: 0, endIndex: 0, textStyle: DEFAULT_TEXT_STYLE })],
|
|
77
|
-
images: [],
|
|
78
|
-
links: [],
|
|
79
|
-
marginBottom: pageMargin.bottom,
|
|
80
|
-
marginFooter: pageMargin.footer,
|
|
81
|
-
marginHeader: pageMargin.header,
|
|
82
|
-
marginLeft: pageMargin.left,
|
|
83
|
-
marginRight: pageMargin.right,
|
|
84
|
-
marginTop: pageMargin.top,
|
|
85
|
-
tables: [],
|
|
86
|
-
numberings: [],
|
|
87
|
-
tabs: []
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aXNpb24uaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvK3NoYXJlZC9oZWxwZXJzL3JldmlzaW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBSW5GLE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxRQUF1QixFQUFFLFVBQTRCO1FBQ2xGLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsTUFBb0I7UUFDL0MsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7WUFDeEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO2dCQUMxQixLQUFLLE1BQU0sSUFBSSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDaEM7YUFDSjtTQUNKO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxPQUFvQixFQUFFLE9BQW9CO1FBQ3BFLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNsQztRQUVELEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBMkI7UUFDaEQsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQ25DLE1BQU0sQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1NBQ2hHO1FBRUQsS0FBSyxNQUFNLFNBQVMsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFO1lBQ3pDLFNBQVMsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNyRjtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsY0FBbUM7UUFDOUQsT0FBTyxJQUFJLG1CQUFtQixDQUFDO1lBQzNCLFNBQVMsRUFBRSxjQUFjLENBQUMsU0FBUyxJQUFJLHVCQUF1QixDQUFDLFNBQVM7WUFDeEUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxlQUFlLElBQUksdUJBQXVCLENBQUMsZUFBZTtZQUMxRixjQUFjLEVBQUUsY0FBYyxDQUFDLGNBQWM7WUFDN0MsZUFBZSxFQUFFLGNBQWMsQ0FBQyxlQUFlLElBQUksdUJBQXVCLENBQUMsZUFBZTtZQUMxRixhQUFhLEVBQUUsY0FBYyxDQUFDLGFBQWEsSUFBSSx1QkFBdUIsQ0FBQyxhQUFhO1lBQ3BGLFVBQVUsRUFBRSxjQUFjLENBQUMsVUFBVSxJQUFJLHVCQUF1QixDQUFDLFVBQVU7WUFDM0UsV0FBVyxFQUFFLGNBQWMsQ0FBQyxXQUFXLElBQUksdUJBQXVCLENBQUMsV0FBVztZQUM5RSxXQUFXLEVBQUUsY0FBYyxDQUFDLFdBQVcsSUFBSSx1QkFBdUIsQ0FBQyxXQUFXO1lBQzlFLFVBQVUsRUFBRSxjQUFjLENBQUMsVUFBVSxJQUFJLHVCQUF1QixDQUFDLFVBQVU7WUFDM0UsV0FBVyxFQUFFLGNBQWMsQ0FBQyxXQUFXLElBQUksdUJBQXVCLENBQUMsV0FBVztZQUM5RSxpQkFBaUIsRUFBRSxjQUFjLENBQUMsaUJBQWlCLElBQUksdUJBQXVCLENBQUMsaUJBQWlCO1lBQ2hHLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxpQkFBaUIsSUFBSSx1QkFBdUIsQ0FBQyxpQkFBaUI7WUFDaEcsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLGdCQUFnQixJQUFJLHVCQUF1QixDQUFDLGdCQUFnQjtZQUM3RixXQUFXLEVBQUUsY0FBYyxDQUFDLFdBQVcsSUFBSSx1QkFBdUIsQ0FBQyxXQUFXO1lBQzlFLGNBQWMsRUFBRSxjQUFjLENBQUMsY0FBYyxJQUFJLHVCQUF1QixDQUFDLGNBQWM7U0FDMUYsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUI7UUFDcEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksU0FBUyxDQUFDO1lBQ2pCLE9BQU8sRUFBRSxFQUFFO1lBQ1gsYUFBYSxFQUFFLENBQUM7WUFDaEIsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixVQUFVLEVBQUUsWUFBWSxDQUFDLE1BQU07WUFDL0IsU0FBUyxFQUFFLFlBQVksQ0FBQyxLQUFLO1lBQzdCLFVBQVUsRUFBRTtnQkFDUixJQUFJLGNBQWMsQ0FBQztvQkFDZixXQUFXLEVBQUUsQ0FBQztvQkFDZCxjQUFjLEVBQUUsdUJBQXVCO2lCQUMxQyxDQUFDO2FBQ0w7WUFDRCxNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxFQUFFO1lBQ1osT0FBTyxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztZQUN6RixNQUFNLEVBQUUsRUFBRTtZQUNWLEtBQUssRUFBRSxFQUFFO1lBQ1QsWUFBWSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1lBQy9CLFlBQVksRUFBRSxVQUFVLENBQUMsTUFBTTtZQUMvQixZQUFZLEVBQUUsVUFBVSxDQUFDLE1BQU07WUFDL0IsVUFBVSxFQUFFLFVBQVUsQ0FBQyxJQUFJO1lBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsS0FBSztZQUM3QixTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUc7WUFDekIsTUFBTSxFQUFFLEVBQUU7WUFDVixVQUFVLEVBQUUsRUFBRTtZQUNkLElBQUksRUFBRSxFQUFFO1NBQ1gsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudHNJbnRlcmZhY2UgfSBmcm9tICcuLi9lZGl0b3IvaW50ZXJmYWNlcy9jb250ZW50cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgREVGQVVMVF9IRUFESU5HUywgREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUsIERFRkFVTFRfVEVYVF9TVFlMRSB9IGZyb20gJy4uL2VkaXRvci9jb3JlL2NvbnN0YW50cy9lZGl0b3IuY29uc3QnO1xuaW1wb3J0IHsgRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi4vZWRpdG9yL2NvcmUvY29uc3RhbnRzL2RvY3VtZW50LWluZm8uY29uc3QnO1xuaW1wb3J0IHsgRG9jeE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9kb2N4Lm1vZGVsJztcbmltcG9ydCB7IEVkZ2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvZWRnZS5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtYXRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvZm9ybWF0Lm1vZGVsJztcbmltcG9ydCB7IEZvcm1hdFN0eWxlSGVscGVyIH0gZnJvbSAnLi4vZWRpdG9yL2NvcmUvaGVscGVycy9mb3JtYXQtc3R5bGUuaGVscGVyJztcbmltcG9ydCB7IE1hcmdpbk1vZGVsIH0gZnJvbSAnLi4vZWRpdG9yL2NvcmUvbW9kZWxzL21hcmdpbi5tb2RlbCc7XG5pbXBvcnQgeyBPcGVyYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvb3BlcmF0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9wZXJhdGlvbnNIZWxwZXIgfSBmcm9tICcuLi9lZGl0b3Ivb3BlcmF0aW9ucy9oZWxwZXJzL29wZXJhdGlvbnMtaGVscGVyLmhlbHBlcic7XG5pbXBvcnQgeyBQYXJhZ3JhcGhNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLm1vZGVsJztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3BhcmFncmFwaC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBSZXZpc2lvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXZpc2lvbi5tb2RlbCc7XG5pbXBvcnQgeyBUYWJsZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90YWJsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBSZXZpc2lvbkhlbHBlciB7XG4gICAgc3RhdGljIGFwcGx5T3BlcmF0aW9uc1RvUmV2aXNpb24ocmV2aXNpb246IFJldmlzaW9uTW9kZWwsIG9wZXJhdGlvbnM6IE9wZXJhdGlvbk1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgb3BlcmF0aW9ucy5zb3J0KChhLCBiKSA9PiBhLmNyZWF0ZVRpbWUgLSBiLmNyZWF0ZVRpbWUpO1xuICAgICAgICBjb25zdCBhY3Rpb25zID0gb3BlcmF0aW9ucy5tYXAoeCA9PiB4LmNvbW1hbmQpO1xuICAgICAgICBPcGVyYXRpb25zSGVscGVyLmFwcGx5T3BlcmF0aW9ucyhyZXZpc2lvbi5jb250ZW50LCBhY3Rpb25zKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZmlsbFRhYmxlc0RlZmF1bHRTdHlsZXModGFibGVzOiBUYWJsZU1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgcm93IG9mIHRhYmxlLnJvd3MpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNlbGwgb2Ygcm93LmNlbGxzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsbERlZmF1bHRTdHlsZXMoY2VsbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGZpbGxFZGdlc0RlZmF1bHRTdHlsZXMoaGVhZGVyczogRWRnZU1vZGVsW10sIGZvb3RlcnM6IEVkZ2VNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgaGVhZGVyIG9mIGhlYWRlcnMpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsbERlZmF1bHRTdHlsZXMoaGVhZGVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgZm9vdGVyIG9mIGZvb3RlcnMpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsbERlZmF1bHRTdHlsZXMoZm9vdGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBmaWxsRGVmYXVsdFN0eWxlcyhjb250ZW50czogQ29udGVudHNJbnRlcmZhY2UpOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBmb3JtYXQgb2YgY29udGVudHMuZm9ybWF0cykge1xuICAgICAgICAgICAgZm9ybWF0LnRleHRTdHlsZSA9IEZvcm1hdFN0eWxlSGVscGVyLmNvbWJpbmVUZXh0U3R5bGVzKGZvcm1hdC50ZXh0U3R5bGUsIERFRkFVTFRfVEVYVF9TVFlMRSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHBhcmFncmFwaCBvZiBjb250ZW50cy5wYXJhZ3JhcGhzKSB7XG4gICAgICAgICAgICBwYXJhZ3JhcGgucGFyYWdyYXBoU3R5bGUgPSB0aGlzLmZpbGxQYXJhZ3JhcGhTdHlsZU1vZGVsKHBhcmFncmFwaC5wYXJhZ3JhcGhTdHlsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgZmlsbFBhcmFncmFwaFN0eWxlTW9kZWwocGFyYWdyYXBoU3R5bGU6IFBhcmFncmFwaFN0eWxlTW9kZWwpOiBQYXJhZ3JhcGhTdHlsZU1vZGVsIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQYXJhZ3JhcGhTdHlsZU1vZGVsKHtcbiAgICAgICAgICAgIGFsaWdubWVudDogcGFyYWdyYXBoU3R5bGUuYWxpZ25tZW50ID8/IERFRkFVTFRfUEFSQUdSQVBIX1NUWUxFLmFsaWdubWVudCxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogcGFyYWdyYXBoU3R5bGUuYmFja2dyb3VuZENvbG9yID8/IERFRkFVTFRfUEFSQUdSQVBIX1NUWUxFLmJhY2tncm91bmRDb2xvcixcbiAgICAgICAgICAgIGhlYWRpbmdTdHlsZUlkOiBwYXJhZ3JhcGhTdHlsZS5oZWFkaW5nU3R5bGVJZCxcbiAgICAgICAgICAgIGluZGVudEZpcnN0TGluZTogcGFyYWdyYXBoU3R5bGUuaW5kZW50Rmlyc3RMaW5lID8/IERFRkFVTFRfUEFSQUdSQVBIX1NUWUxFLmluZGVudEZpcnN0TGluZSxcbiAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IHBhcmFncmFwaFN0eWxlLmluZGVudEhhbmdpbmcgPz8gREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUuaW5kZW50SGFuZ2luZyxcbiAgICAgICAgICAgIGluZGVudExlZnQ6IHBhcmFncmFwaFN0eWxlLmluZGVudExlZnQgPz8gREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUuaW5kZW50TGVmdCxcbiAgICAgICAgICAgIGluZGVudFJpZ2h0OiBwYXJhZ3JhcGhTdHlsZS5pbmRlbnRSaWdodCA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5pbmRlbnRSaWdodCxcbiAgICAgICAgICAgIGxpbmVTcGFjaW5nOiBwYXJhZ3JhcGhTdHlsZS5saW5lU3BhY2luZyA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5saW5lU3BhY2luZyxcbiAgICAgICAgICAgIHNwYWNlQWZ0ZXI6IHBhcmFncmFwaFN0eWxlLnNwYWNlQWZ0ZXIgPz8gREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUuc3BhY2VBZnRlcixcbiAgICAgICAgICAgIHNwYWNlQmVmb3JlOiBwYXJhZ3JhcGhTdHlsZS5zcGFjZUJlZm9yZSA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5zcGFjZUJlZm9yZSxcbiAgICAgICAgICAgIGNvbnRleHR1YWxTcGFjaW5nOiBwYXJhZ3JhcGhTdHlsZS5jb250ZXh0dWFsU3BhY2luZyA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5jb250ZXh0dWFsU3BhY2luZyxcbiAgICAgICAgICAgIGJlZm9yZUF1dG9zcGFjaW5nOiBwYXJhZ3JhcGhTdHlsZS5iZWZvcmVBdXRvc3BhY2luZyA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5iZWZvcmVBdXRvc3BhY2luZyxcbiAgICAgICAgICAgIGFmdGVyQXV0b3NwYWNpbmc6IHBhcmFncmFwaFN0eWxlLmFmdGVyQXV0b3NwYWNpbmcgPz8gREVGQVVMVF9QQVJBR1JBUEhfU1RZTEUuYWZ0ZXJBdXRvc3BhY2luZyxcbiAgICAgICAgICAgIG51bWJlcmluZ0lkOiBwYXJhZ3JhcGhTdHlsZS5udW1iZXJpbmdJZCA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5udW1iZXJpbmdJZCxcbiAgICAgICAgICAgIG51bWJlcmluZ0xldmVsOiBwYXJhZ3JhcGhTdHlsZS5udW1iZXJpbmdMZXZlbCA/PyBERUZBVUxUX1BBUkFHUkFQSF9TVFlMRS5udW1iZXJpbmdMZXZlbFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0RW1wdHlEb2N4TW9kZWwoKTogRG9jeE1vZGVsIHtcbiAgICAgICAgY29uc3QgcGFnZU1hcmdpbiA9IG5ldyBNYXJnaW5Nb2RlbCgpO1xuICAgICAgICByZXR1cm4gbmV3IERvY3hNb2RlbCh7XG4gICAgICAgICAgICBjb250ZW50OiAnJyxcbiAgICAgICAgICAgIGNvbnRlbnRMZW5ndGg6IDAsXG4gICAgICAgICAgICBoZWFkaW5nczogREVGQVVMVF9IRUFESU5HUyxcbiAgICAgICAgICAgIHBhZ2VIZWlnaHQ6IERvY3VtZW50SW5mby5oZWlnaHQsXG4gICAgICAgICAgICBwYWdlV2lkdGg6IERvY3VtZW50SW5mby53aWR0aCxcbiAgICAgICAgICAgIHBhcmFncmFwaHM6IFtcbiAgICAgICAgICAgICAgICBuZXcgUGFyYWdyYXBoTW9kZWwoe1xuICAgICAgICAgICAgICAgICAgICBpbnNlcnRJbmRleDogMCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoU3R5bGU6IERFRkFVTFRfUEFSQUdSQVBIX1NUWUxFXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBicmVha3M6IFtdLFxuICAgICAgICAgICAgZWxlbWVudHM6IFtdLFxuICAgICAgICAgICAgZm9ybWF0czogW25ldyBGb3JtYXRNb2RlbCh7IHN0YXJ0SW5kZXg6IDAsIGVuZEluZGV4OiAwLCB0ZXh0U3R5bGU6IERFRkFVTFRfVEVYVF9TVFlMRSB9KV0sXG4gICAgICAgICAgICBpbWFnZXM6IFtdLFxuICAgICAgICAgICAgbGlua3M6IFtdLFxuICAgICAgICAgICAgbWFyZ2luQm90dG9tOiBwYWdlTWFyZ2luLmJvdHRvbSxcbiAgICAgICAgICAgIG1hcmdpbkZvb3RlcjogcGFnZU1hcmdpbi5mb290ZXIsXG4gICAgICAgICAgICBtYXJnaW5IZWFkZXI6IHBhZ2VNYXJnaW4uaGVhZGVyLFxuICAgICAgICAgICAgbWFyZ2luTGVmdDogcGFnZU1hcmdpbi5sZWZ0LFxuICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IHBhZ2VNYXJnaW4ucmlnaHQsXG4gICAgICAgICAgICBtYXJnaW5Ub3A6IHBhZ2VNYXJnaW4udG9wLFxuICAgICAgICAgICAgdGFibGVzOiBbXSxcbiAgICAgICAgICAgIG51bWJlcmluZ3M6IFtdLFxuICAgICAgICAgICAgdGFiczogW11cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|