@talrace/ngx-noder 0.0.18 → 0.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/talrace-ngx-noder.mjs +181 -181
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
- package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +1 -1
- package/lib/editor/components/external-element/external.component.d.ts +1 -1
- package/lib/editor/components/shared/abstract/base.component.d.ts +1 -1
- package/lib/editor/components/shared/abstract/destroy.component.d.ts +1 -1
- package/package.json +1 -3
- package/src/lib/apart-components/add-link-dialog/_add-link-dialog.theme.scss +3 -6
- package/src/lib/apart-components/add-link-mobile/_add-link-mobile.theme.scss +4 -7
- package/src/lib/apart-components/confirm-dialog/_theme.scss +6 -9
- package/src/lib/apart-components/editor-title/_editor-title.theme.scss +6 -9
- package/src/lib/apart-components/editor-title-mobile/_editor-title-mobile.theme.scss +9 -12
- package/src/lib/apart-components/editor-toolbar/_editor-toolbar.theme.scss +5 -8
- package/src/lib/apart-components/editor-toolbar/components/buttons/color-picker/_color-picker.theme.scss +1 -3
- package/src/lib/apart-components/editor-toolbar/components/buttons/font/_font.theme.scss +1 -3
- package/src/lib/apart-components/editor-toolbar/components/buttons/font-size/_font-size.theme.scss +2 -5
- package/src/lib/apart-components/editor-toolbar/components/buttons/font-style/_font-style.theme.scss +3 -6
- package/src/lib/apart-components/editor-toolbar/components/buttons/format/_format.theme.scss +3 -6
- package/src/lib/apart-components/editor-toolbar/components/buttons/numbering/_numbering.theme.scss +15 -18
- package/src/lib/apart-components/editor-toolbar/components/buttons/undo-redo/_undo-redo.theme.scss +2 -4
- package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns/_menu-dropdowns.theme.scss +5 -8
- package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/_menu-dropdowns-mobile.theme.scss +6 -9
- package/src/lib/apart-components/editor-toolbar/components/toolbar-actions/_toolbar-actions.theme.scss +3 -6
- package/src/lib/apart-components/insert-table/_insert-table.theme.scss +6 -9
- package/src/lib/apart-components/insert-table-mobile/_insert-table-mobile.theme.scss +12 -15
- package/src/lib/apart-components/text-format-mobile/_text-format-mobile.theme.scss +22 -25
- package/src/lib/editor/components/_editor.theme.scss +25 -28
- package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +0 -73
- package/esm2022/lib/apart-components/add-link-dialog/validation.helper.mjs +0 -7
- package/esm2022/lib/apart-components/add-link-mobile/add-link-mobile.component.mjs +0 -49
- package/esm2022/lib/apart-components/confirm-dialog/confirm-dialog.component.mjs +0 -34
- package/esm2022/lib/apart-components/editor-search/editor-search-dialog.component.mjs +0 -75
- package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +0 -95
- package/esm2022/lib/apart-components/editor-title-mobile/editor-title-mobile.component.mjs +0 -24
- package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +0 -117
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/color-picker/color-picker.component.mjs +0 -37
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +0 -49
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +0 -90
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-style/font-style.component.mjs +0 -81
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/format/format.component.mjs +0 -28
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/numbering/numbering.component.mjs +0 -53
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/print/print.component.mjs +0 -18
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/undo-redo/undo-redo.component.mjs +0 -27
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/zoom/zoom.component.mjs +0 -71
- package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +0 -107
- package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.mjs +0 -25
- package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +0 -65
- package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +0 -86
- package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +0 -90
- package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar.module.mjs +0 -122
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.mjs +0 -8
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/numbering-templates.const.mjs +0 -1148
- package/esm2022/lib/apart-components/editor-toolbar/shared/constants/svg-icons.const.mjs +0 -157
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/alignment.enum.mjs +0 -8
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.mjs +0 -11
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-template-type.enum.mjs +0 -16
- package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-type.enum.mjs +0 -6
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/custom-icon.service.mjs +0 -34
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.mjs +0 -26
- package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs +0 -60
- package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +0 -48
- package/esm2022/lib/apart-components/insert-table/insert-table.component.mjs +0 -54
- package/esm2022/lib/apart-components/insert-table-mobile/insert-table-mobile.component.mjs +0 -86
- package/esm2022/lib/apart-components/text-format-mobile/text-format-mobile.component.mjs +0 -134
- package/esm2022/lib/editor/components/edges/edge-element.model.mjs +0 -38
- package/esm2022/lib/editor/components/edges/edge-type.enum.mjs +0 -6
- package/esm2022/lib/editor/components/edges/edge.component.mjs +0 -141
- package/esm2022/lib/editor/components/edges/edges.mjs +0 -120
- package/esm2022/lib/editor/components/edges/page-type.enum.mjs +0 -7
- package/esm2022/lib/editor/components/editor.component.mjs +0 -112
- package/esm2022/lib/editor/components/external-element/external-element.service.mjs +0 -6
- package/esm2022/lib/editor/components/external-element/external-elements.const.mjs +0 -4
- package/esm2022/lib/editor/components/external-element/external-sidenav.interface.mjs +0 -2
- package/esm2022/lib/editor/components/external-element/external.component.mjs +0 -41
- package/esm2022/lib/editor/components/external-element/models/element-data.model.mjs +0 -9
- package/esm2022/lib/editor/components/external-element/models/external-element.model.mjs +0 -11
- package/esm2022/lib/editor/components/external-element/models/external-sidenav.model.mjs +0 -15
- package/esm2022/lib/editor/components/image/components/image.component.mjs +0 -88
- package/esm2022/lib/editor/components/image/image-api.service.mjs +0 -36
- package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +0 -46
- package/esm2022/lib/editor/components/image/resizer/coordinate.mjs +0 -2
- package/esm2022/lib/editor/components/image/resizer/direction-wrapper.mjs +0 -19
- package/esm2022/lib/editor/components/image/resizer/direction.enum.mjs +0 -12
- package/esm2022/lib/editor/components/image/resizer/resizer.component.mjs +0 -106
- package/esm2022/lib/editor/components/image/resizer/size-delta.mjs +0 -2
- package/esm2022/lib/editor/components/image/resizer/size-wrapper.mjs +0 -52
- package/esm2022/lib/editor/components/image/size.mjs +0 -2
- package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +0 -60
- package/esm2022/lib/editor/components/shared/abstract/destroy.component.mjs +0 -18
- package/esm2022/lib/editor/components/shared/custom-component.hepler.mjs +0 -43
- package/esm2022/lib/editor/components/shared/custom-components.interface.mjs +0 -2
- package/esm2022/lib/editor/components/shared/custom-content-markers.const.mjs +0 -3
- package/esm2022/lib/editor/components/shared/custom-content.mjs +0 -2
- package/esm2022/lib/editor/components/shared/services/component.service.mjs +0 -52
- package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +0 -123
- package/esm2022/lib/editor/components/shared/services/overlay.service.mjs +0 -55
- package/esm2022/lib/editor/components/tab/tab.component.mjs +0 -44
- package/esm2022/lib/editor/components/tab/tab.helper.mjs +0 -6
- package/esm2022/lib/editor/components/table/cell-resizer/cell-resizer.mjs +0 -118
- package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +0 -99
- package/esm2022/lib/editor/components/table/components/table.component.mjs +0 -412
- package/esm2022/lib/editor/components/table/enums/hrule.enum.mjs +0 -7
- package/esm2022/lib/editor/components/table/enums/reisizer-side.enum.mjs +0 -8
- package/esm2022/lib/editor/components/table/enums/vertical-merge.enum.mjs +0 -6
- package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +0 -17
- package/esm2022/lib/editor/components/table/models/cell-resizer-parameters.model.mjs +0 -9
- package/esm2022/lib/editor/components/table/models/row-data.model.mjs +0 -8
- package/esm2022/lib/editor/components/table/models/selection-range.model.mjs +0 -7
- package/esm2022/lib/editor/components/table/overlay-menu/overlay-menu.component.mjs +0 -84
- package/esm2022/lib/editor/components/table/selection/table-selection.mjs +0 -383
- package/esm2022/lib/editor/content/constants/display-values.const.mjs +0 -8
- package/esm2022/lib/editor/content/constants/document-info.const.mjs +0 -13
- package/esm2022/lib/editor/content/constants/editor.const.mjs +0 -70
- package/esm2022/lib/editor/content/contents.interface.mjs +0 -2
- package/esm2022/lib/editor/content/display-data/display-data.mjs +0 -839
- package/esm2022/lib/editor/content/display-data/display-token.model.mjs +0 -12
- package/esm2022/lib/editor/content/display-data/format-ext.model.mjs +0 -10
- package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +0 -11
- package/esm2022/lib/editor/content/display-data/indent.model.mjs +0 -9
- package/esm2022/lib/editor/content/display-data/line-info.model.mjs +0 -9
- package/esm2022/lib/editor/content/display-data/lines.mjs +0 -96
- package/esm2022/lib/editor/content/display-data/models/paragraph-info.model.mjs +0 -8
- package/esm2022/lib/editor/content/display-data/paragraph-info.interface.mjs +0 -2
- package/esm2022/lib/editor/content/display-data/paragraph.mjs +0 -56
- package/esm2022/lib/editor/content/display-data/text-line-info.mjs +0 -35
- package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +0 -2
- package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +0 -78
- package/esm2022/lib/editor/content/helpers/display-token.helper.mjs +0 -62
- package/esm2022/lib/editor/content/helpers/format.helper.mjs +0 -23
- package/esm2022/lib/editor/content/helpers/indexed-element.helper.mjs +0 -6
- package/esm2022/lib/editor/content/helpers/link.helper.mjs +0 -42
- package/esm2022/lib/editor/content/helpers/scaling.helper.mjs +0 -9
- package/esm2022/lib/editor/content/margin.model.mjs +0 -16
- package/esm2022/lib/editor/content/page-vertical-data.model.mjs +0 -9
- package/esm2022/lib/editor/content/vertical-alignment.enum.mjs +0 -11
- package/esm2022/lib/editor/core/event-emitting.mjs +0 -56
- package/esm2022/lib/editor/display/cell.interface.mjs +0 -2
- package/esm2022/lib/editor/display/event.helper.mjs +0 -18
- package/esm2022/lib/editor/display/layers/cursor.layer.mjs +0 -102
- package/esm2022/lib/editor/display/layers/layer.config.mjs +0 -2
- package/esm2022/lib/editor/display/layers/pages.layer.mjs +0 -109
- package/esm2022/lib/editor/display/layers/print.pages.layer.mjs +0 -7
- package/esm2022/lib/editor/display/layers/print.text.layer.mjs +0 -7
- package/esm2022/lib/editor/display/layers/selection.layer.mjs +0 -119
- package/esm2022/lib/editor/display/layers/text.layer.mjs +0 -226
- package/esm2022/lib/editor/display/print/print.helper.mjs +0 -40
- package/esm2022/lib/editor/display/print/print.renderer.mjs +0 -67
- package/esm2022/lib/editor/display/print/print.rendering.helper.mjs +0 -7
- package/esm2022/lib/editor/display/render-changes.interface.mjs +0 -2
- package/esm2022/lib/editor/display/render-changes.model.mjs +0 -25
- package/esm2022/lib/editor/display/renderer.mjs +0 -204
- package/esm2022/lib/editor/display/rendering.helper.mjs +0 -185
- package/esm2022/lib/editor/display/renderloop.mjs +0 -26
- package/esm2022/lib/editor/display/virtual.renderer.mjs +0 -284
- package/esm2022/lib/editor/display/visible-range.interface.mjs +0 -2
- package/esm2022/lib/editor/editor.module.mjs +0 -91
- package/esm2022/lib/editor/execution/distance.model.mjs +0 -10
- package/esm2022/lib/editor/execution/edit.session.mjs +0 -602
- package/esm2022/lib/editor/execution/editor.mjs +0 -1368
- package/esm2022/lib/editor/execution/helpers/dom.helper.mjs +0 -42
- package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +0 -73
- package/esm2022/lib/editor/execution/helpers/image.helpet.mjs +0 -12
- package/esm2022/lib/editor/execution/helpers/page.helper.mjs +0 -12
- package/esm2022/lib/editor/execution/helpers/paragraph-style.helper.mjs +0 -41
- package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +0 -177
- package/esm2022/lib/editor/execution/regulator.service.mjs +0 -212
- package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +0 -18
- package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +0 -14
- package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +0 -8
- package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +0 -3
- package/esm2022/lib/editor/execution/targeting/session.model.mjs +0 -10
- package/esm2022/lib/editor/gadgets/font-metrics/editor-version.const.mjs +0 -2
- package/esm2022/lib/editor/gadgets/font-metrics/font-metric-size.interface.mjs +0 -2
- package/esm2022/lib/editor/gadgets/font-metrics/font-metrics.helper.mjs +0 -88
- package/esm2022/lib/editor/gadgets/history/operation-history.mjs +0 -208
- package/esm2022/lib/editor/gadgets/history/operation.type.mjs +0 -2
- package/esm2022/lib/editor/gadgets/history/operations-history-info.model.mjs +0 -7
- package/esm2022/lib/editor/gadgets/numbering/numbering-data.model.mjs +0 -9
- package/esm2022/lib/editor/gadgets/numbering/numbering-marker-type.enum.mjs +0 -12
- package/esm2022/lib/editor/gadgets/numbering/numbering-paragraph-style.model.mjs +0 -13
- package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +0 -149
- package/esm2022/lib/editor/gadgets/page-break/break-types.enum.mjs +0 -7
- package/esm2022/lib/editor/gadgets/page-break/break.helper.mjs +0 -18
- package/esm2022/lib/editor/gadgets/scrollbar.mjs +0 -86
- package/esm2022/lib/editor/gadgets/search/replace.interface.mjs +0 -2
- package/esm2022/lib/editor/gadgets/search/search-iteration.interface.mjs +0 -2
- package/esm2022/lib/editor/gadgets/search/search.mjs +0 -231
- package/esm2022/lib/editor/gadgets/unicode/unicode-chars.const.mjs +0 -5
- package/esm2022/lib/editor/gadgets/unicode/unicode.helper.mjs +0 -20
- package/esm2022/lib/editor/interaction/base.handler.mjs +0 -19
- package/esm2022/lib/editor/interaction/document.handler.mjs +0 -27
- package/esm2022/lib/editor/interaction/editor.service.mjs +0 -386
- package/esm2022/lib/editor/interaction/input.handler.mjs +0 -152
- package/esm2022/lib/editor/interaction/mode.enum.mjs +0 -7
- package/esm2022/lib/editor/interaction/mouse-button.enum.mjs +0 -7
- package/esm2022/lib/editor/interaction/mouse.handler.mjs +0 -50
- package/esm2022/lib/editor/interaction/text-input.mjs +0 -53
- package/esm2022/lib/editor/operations/commands.service.mjs +0 -20
- package/esm2022/lib/editor/operations/enums/command-type.enum.mjs +0 -32
- package/esm2022/lib/editor/operations/enums/target-type.enum.mjs +0 -7
- package/esm2022/lib/editor/operations/helpers/break-operations.helper.mjs +0 -9
- package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +0 -15
- package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +0 -85
- package/esm2022/lib/editor/operations/helpers/image-operations.helper.mjs +0 -19
- package/esm2022/lib/editor/operations/helpers/indexed-element-operations.helper.mjs +0 -43
- package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +0 -136
- package/esm2022/lib/editor/operations/helpers/numbering-operations.helper.mjs +0 -55
- package/esm2022/lib/editor/operations/helpers/paragraph-operations.helper.mjs +0 -114
- package/esm2022/lib/editor/operations/helpers/tab-operations.helper.mjs +0 -16
- package/esm2022/lib/editor/operations/helpers/table-operations.helper.mjs +0 -374
- package/esm2022/lib/editor/operations/operations-helper.helper.mjs +0 -438
- package/esm2022/lib/editor/operations/save-commands.helper.mjs +0 -128
- package/esm2022/lib/editor/operations/target-operations.helper.mjs +0 -23
- package/esm2022/lib/editor/positioning/alignments.const.mjs +0 -8
- package/esm2022/lib/editor/positioning/content.helper.mjs +0 -45
- package/esm2022/lib/editor/positioning/cursor-paragraph.mjs +0 -13
- package/esm2022/lib/editor/positioning/cursor-position.interface.mjs +0 -2
- package/esm2022/lib/editor/positioning/insert-index.interface.mjs +0 -2
- package/esm2022/lib/editor/positioning/line-width.helper.mjs +0 -13
- package/esm2022/lib/editor/positioning/position.helper.mjs +0 -210
- package/esm2022/lib/editor/positioning/range.mjs +0 -94
- package/esm2022/lib/editor/positioning/selection.mjs +0 -351
- package/esm2022/lib/editor/revision.helper.mjs +0 -94
- package/esm2022/lib/models/generated/add-numbering.model.mjs +0 -8
- package/esm2022/lib/models/generated/apply-element-style.model.mjs +0 -8
- package/esm2022/lib/models/generated/apply-image-style.model.mjs +0 -8
- package/esm2022/lib/models/generated/apply-paragraph-style.model.mjs +0 -12
- package/esm2022/lib/models/generated/apply-text-style.model.mjs +0 -12
- package/esm2022/lib/models/generated/borders-style.model.mjs +0 -8
- package/esm2022/lib/models/generated/break.model.mjs +0 -8
- package/esm2022/lib/models/generated/cell.model.mjs +0 -12
- package/esm2022/lib/models/generated/column-section.model.mjs +0 -8
- package/esm2022/lib/models/generated/column.model.mjs +0 -8
- package/esm2022/lib/models/generated/command.model.mjs +0 -120
- package/esm2022/lib/models/generated/delete.model.mjs +0 -8
- package/esm2022/lib/models/generated/document-name.model.mjs +0 -8
- package/esm2022/lib/models/generated/document.model.mjs +0 -8
- package/esm2022/lib/models/generated/docx.model.mjs +0 -12
- package/esm2022/lib/models/generated/edge-target.model.mjs +0 -8
- package/esm2022/lib/models/generated/edge.model.mjs +0 -8
- package/esm2022/lib/models/generated/element.model.mjs +0 -8
- package/esm2022/lib/models/generated/file-source.model.mjs +0 -8
- package/esm2022/lib/models/generated/format.model.mjs +0 -12
- package/esm2022/lib/models/generated/heading.model.mjs +0 -16
- package/esm2022/lib/models/generated/image-data.model.mjs +0 -8
- package/esm2022/lib/models/generated/image.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-break.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-element.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-image.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-link.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-paragraph.model.mjs +0 -20
- package/esm2022/lib/models/generated/insert-styled-text.model.mjs +0 -12
- package/esm2022/lib/models/generated/insert-tab.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-table-columns.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-table-rows.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-table.model.mjs +0 -8
- package/esm2022/lib/models/generated/insert-text.model.mjs +0 -8
- package/esm2022/lib/models/generated/last-document-revision.model.mjs +0 -12
- package/esm2022/lib/models/generated/link-data.model.mjs +0 -8
- package/esm2022/lib/models/generated/link.model.mjs +0 -8
- package/esm2022/lib/models/generated/margins.model.mjs +0 -8
- package/esm2022/lib/models/generated/numbering-level.model.mjs +0 -12
- package/esm2022/lib/models/generated/numbering.model.mjs +0 -8
- package/esm2022/lib/models/generated/operation.model.mjs +0 -12
- package/esm2022/lib/models/generated/page-numbers.model.mjs +0 -8
- package/esm2022/lib/models/generated/paragraph-style.model.mjs +0 -8
- package/esm2022/lib/models/generated/paragraph.model.mjs +0 -12
- package/esm2022/lib/models/generated/remove-numberings.model.mjs +0 -8
- package/esm2022/lib/models/generated/remove-table-columns.model.mjs +0 -8
- package/esm2022/lib/models/generated/remove-table-rows.model.mjs +0 -8
- package/esm2022/lib/models/generated/replace-by-text.model.mjs +0 -8
- package/esm2022/lib/models/generated/replace.model.mjs +0 -44
- package/esm2022/lib/models/generated/resize-table-columns.model.mjs +0 -8
- package/esm2022/lib/models/generated/restore-numberings.model.mjs +0 -8
- package/esm2022/lib/models/generated/restore-paragraph-styles.model.mjs +0 -8
- package/esm2022/lib/models/generated/restore-table.model.mjs +0 -12
- package/esm2022/lib/models/generated/restore-text-styles.model.mjs +0 -8
- package/esm2022/lib/models/generated/restore.model.mjs +0 -8
- package/esm2022/lib/models/generated/revision.model.mjs +0 -12
- package/esm2022/lib/models/generated/row.model.mjs +0 -8
- package/esm2022/lib/models/generated/tab.model.mjs +0 -8
- package/esm2022/lib/models/generated/table-cell.model.mjs +0 -8
- package/esm2022/lib/models/generated/table.model.mjs +0 -12
- package/esm2022/lib/models/generated/target.model.mjs +0 -16
- package/esm2022/lib/models/generated/text-style.model.mjs +0 -8
- package/esm2022/lib/translate/noder-translate.loader.mjs +0 -22
- package/esm2022/public-api.mjs +0 -54
- package/esm2022/talrace-ngx-noder.mjs +0 -5
package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject } from 'rxjs';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { EditorToolbarMode } from '../enums/editor-toolbar-mode.enum';
|
|
4
|
-
import { MenuDropdownsMobileComponent } from '../../components/menu-dropdowns-mobile/menu-dropdowns-mobile.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../../../editor/interaction/editor.service";
|
|
7
|
-
export class ToolbarCoreService {
|
|
8
|
-
set mode(value) {
|
|
9
|
-
this._mode$.next(value);
|
|
10
|
-
}
|
|
11
|
-
get mode$() {
|
|
12
|
-
return this._mode$.asObservable();
|
|
13
|
-
}
|
|
14
|
-
set actions(value) {
|
|
15
|
-
this._actions = value;
|
|
16
|
-
}
|
|
17
|
-
get actions() {
|
|
18
|
-
return this._actions;
|
|
19
|
-
}
|
|
20
|
-
set backTitle(value) {
|
|
21
|
-
this._backTitle = value;
|
|
22
|
-
}
|
|
23
|
-
get backTitle() {
|
|
24
|
-
const currentMode = this.getMode();
|
|
25
|
-
return currentMode === EditorToolbarMode.Insert || currentMode === EditorToolbarMode.ExternalComponent ? this._backTitle : '';
|
|
26
|
-
}
|
|
27
|
-
constructor(editorService) {
|
|
28
|
-
this.editorService = editorService;
|
|
29
|
-
this._mode$ = new BehaviorSubject(EditorToolbarMode.Base);
|
|
30
|
-
}
|
|
31
|
-
getMode() {
|
|
32
|
-
return this._mode$.value;
|
|
33
|
-
}
|
|
34
|
-
back() {
|
|
35
|
-
const currentMode = this.getMode();
|
|
36
|
-
if (currentMode === EditorToolbarMode.Menu || currentMode === EditorToolbarMode.ExternalComponent) {
|
|
37
|
-
this.reset();
|
|
38
|
-
}
|
|
39
|
-
else if (currentMode === EditorToolbarMode.Insert) {
|
|
40
|
-
this.openBurgerMenu();
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
this._mode$.next(EditorToolbarMode.Base);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
reset() {
|
|
47
|
-
this.editorService.closeSidenav();
|
|
48
|
-
this._mode$.next(EditorToolbarMode.Base);
|
|
49
|
-
}
|
|
50
|
-
openBurgerMenu() {
|
|
51
|
-
this.mode = EditorToolbarMode.Menu;
|
|
52
|
-
this.editorService.openSidenav(MenuDropdownsMobileComponent);
|
|
53
|
-
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarCoreService, deps: [{ token: i1.EditorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
55
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarCoreService }); }
|
|
56
|
-
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarCoreService, decorators: [{
|
|
58
|
-
type: Injectable
|
|
59
|
-
}], ctorParameters: () => [{ type: i1.EditorService }] });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1jb3JlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2VkaXRvci10b29sYmFyL3NoYXJlZC9zZXJ2aWNlcy90b29sYmFyLWNvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7OztBQWtCdEgsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQixJQUFJLElBQUksQ0FBQyxLQUF3QjtRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFHRCxJQUFJLE9BQU8sQ0FBQyxLQUFlO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUdELElBQUksU0FBUyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksU0FBUztRQUNULE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxPQUFPLFdBQVcsS0FBSyxpQkFBaUIsQ0FBQyxNQUFNLElBQUksV0FBVyxLQUFLLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbEksQ0FBQztJQUdELFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBbkJ4QyxXQUFNLEdBQXVDLElBQUksZUFBZSxDQUFvQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQW1CakUsQ0FBQztJQUVwRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSTtRQUNBLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxJQUFJLFdBQVcsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksV0FBVyxLQUFLLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFO1lBQy9GLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjthQUFNLElBQUksV0FBVyxLQUFLLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtZQUNqRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDekI7YUFBTTtZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNqRSxDQUFDOytHQW5EUSxrQkFBa0I7bUhBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWRpdG9yL2ludGVyYWN0aW9uL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRvclRvb2xiYXJNb2RlIH0gZnJvbSAnLi4vZW51bXMvZWRpdG9yLXRvb2xiYXItbW9kZS5lbnVtJztcbmltcG9ydCB7IEV4dGVybmFsRWxlbWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWRpdG9yL2NvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9tb2RlbHMvZXh0ZXJuYWwtZWxlbWVudC5tb2RlbCc7XG5pbXBvcnQgeyBNZW51RHJvcGRvd25zTW9iaWxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9tZW51LWRyb3Bkb3ducy1tb2JpbGUvbWVudS1kcm9wZG93bnMtbW9iaWxlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFjdGlvbnMge1xuICAgIG5ldzogKCkgPT4gdm9pZDtcbiAgICBvcGVuRnJvbTogKCkgPT4gdm9pZDtcbiAgICBzYXZlQXM6ICgpID0+IHZvaWQ7XG4gICAgcmVuYW1lOiAoKSA9PiB2b2lkO1xuICAgIHByaW50OiAoKSA9PiB2b2lkO1xuICAgIGRlbGV0ZTogKCkgPT4gdm9pZDtcbiAgICBpbnNlcnRJbWFnZTogKCkgPT4gdm9pZDtcbiAgICBpbnNlcnRUYWJsZTogKCkgPT4gdm9pZDtcbiAgICBpbnNlcnRMaW5rOiAoKSA9PiB2b2lkO1xuICAgIGluc2VydEN1c3RvbUVsZW1lbnQ6IChtb2RlbDogRXh0ZXJuYWxFbGVtZW50TW9kZWwpID0+IFByb21pc2U8dm9pZD47XG4gICAgaW5zZXJ0UGFnZUJyZWFrOiAoKSA9PiB2b2lkO1xuICAgIHRleHRGb3JtYXQ6ICgpID0+IHZvaWQ7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUb29sYmFyQ29yZVNlcnZpY2Uge1xuICAgIHNldCBtb2RlKHZhbHVlOiBFZGl0b3JUb29sYmFyTW9kZSkge1xuICAgICAgICB0aGlzLl9tb2RlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IG1vZGUkKCk6IE9ic2VydmFibGU8RWRpdG9yVG9vbGJhck1vZGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vZGUkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9tb2RlJDogQmVoYXZpb3JTdWJqZWN0PEVkaXRvclRvb2xiYXJNb2RlPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RWRpdG9yVG9vbGJhck1vZGU+KEVkaXRvclRvb2xiYXJNb2RlLkJhc2UpO1xuXG4gICAgc2V0IGFjdGlvbnModmFsdWU6IElBY3Rpb25zKSB7XG4gICAgICAgIHRoaXMuX2FjdGlvbnMgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGFjdGlvbnMoKTogSUFjdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aW9ucztcbiAgICB9XG4gICAgcHJpdmF0ZSBfYWN0aW9ucyE6IElBY3Rpb25zO1xuXG4gICAgc2V0IGJhY2tUaXRsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2JhY2tUaXRsZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgYmFja1RpdGxlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRNb2RlID0gdGhpcy5nZXRNb2RlKCk7XG4gICAgICAgIHJldHVybiBjdXJyZW50TW9kZSA9PT0gRWRpdG9yVG9vbGJhck1vZGUuSW5zZXJ0IHx8IGN1cnJlbnRNb2RlID09PSBFZGl0b3JUb29sYmFyTW9kZS5FeHRlcm5hbENvbXBvbmVudCA/IHRoaXMuX2JhY2tUaXRsZSA6ICcnO1xuICAgIH1cbiAgICBwcml2YXRlIF9iYWNrVGl0bGUhOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UpIHt9XG5cbiAgICBnZXRNb2RlKCk6IEVkaXRvclRvb2xiYXJNb2RlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vZGUkLnZhbHVlO1xuICAgIH1cblxuICAgIGJhY2soKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRNb2RlID0gdGhpcy5nZXRNb2RlKCk7XG4gICAgICAgIGlmIChjdXJyZW50TW9kZSA9PT0gRWRpdG9yVG9vbGJhck1vZGUuTWVudSB8fCBjdXJyZW50TW9kZSA9PT0gRWRpdG9yVG9vbGJhck1vZGUuRXh0ZXJuYWxDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50TW9kZSA9PT0gRWRpdG9yVG9vbGJhck1vZGUuSW5zZXJ0KSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5CdXJnZXJNZW51KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9tb2RlJC5uZXh0KEVkaXRvclRvb2xiYXJNb2RlLkJhc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jbG9zZVNpZGVuYXYoKTtcbiAgICAgICAgdGhpcy5fbW9kZSQubmV4dChFZGl0b3JUb29sYmFyTW9kZS5CYXNlKTtcbiAgICB9XG5cbiAgICBvcGVuQnVyZ2VyTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RlID0gRWRpdG9yVG9vbGJhck1vZGUuTWVudTtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLm9wZW5TaWRlbmF2KE1lbnVEcm9wZG93bnNNb2JpbGVDb21wb25lbnQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { NumberingMarkerType } from '../../../editor/gadgets/numbering/numbering-marker-type.enum';
|
|
2
|
-
import { NumberingTemplateType } from './enums/numbering-template-type.enum';
|
|
3
|
-
export class ToolbarStylesHelper {
|
|
4
|
-
static getNumberingTemplateType(levelsMarkersStyles) {
|
|
5
|
-
const type = NumberingMarkerType;
|
|
6
|
-
const bulletMarkerStyles1 = `●${type.Bullet}○${type.Bullet}■${type.Bullet}●${type.Bullet}○${type.Bullet}■${type.Bullet}●${type.Bullet}○${type.Bullet}■${type.Bullet}`;
|
|
7
|
-
const bulletMarkerStyles2 = `■${type.Bullet}□${type.Bullet}○${type.Bullet}■${type.Bullet}□${type.Bullet}○${type.Bullet}■${type.Bullet}□${type.Bullet}○${type.Bullet}`;
|
|
8
|
-
const bulletMarkerStyles3 = `◆${type.Bullet}◇${type.Bullet}○${type.Bullet}◆${type.Bullet}◇${type.Bullet}○${type.Bullet}◆${type.Bullet}◇${type.Bullet}○${type.Bullet}`;
|
|
9
|
-
const bulletMarkerStyles4 = `➢${type.Bullet}◆${type.Bullet}●${type.Bullet}➢${type.Bullet}◆${type.Bullet}●${type.Bullet}➢${type.Bullet}◆${type.Bullet}●${type.Bullet}`;
|
|
10
|
-
const bulletMarkerStyles5 = `★${type.Bullet}○${type.Bullet}□${type.Bullet}★${type.Bullet}○${type.Bullet}□${type.Bullet}★${type.Bullet}○${type.Bullet}□${type.Bullet}`;
|
|
11
|
-
const bulletMarkerStyles6 = `➢${type.Bullet}●${type.Bullet}○${type.Bullet}➢${type.Bullet}●${type.Bullet}○${type.Bullet}➢${type.Bullet}●${type.Bullet}○${type.Bullet}`;
|
|
12
|
-
const numberedMarkerStyles1 = `%1.${type.Decimal}%2.${type.LowerLetter}%3.${type.LowerRoman}%4.${type.Decimal}%5.${type.LowerLetter}%6.${type.LowerRoman}%7.${type.Decimal}%8.${type.LowerLetter}%9.${type.LowerRoman}`;
|
|
13
|
-
const numberedMarkerStyles2 = `%1)${type.Decimal}%2)${type.LowerLetter}%3)${type.LowerRoman}(%4)${type.Decimal}(%5)${type.LowerLetter}(%6)${type.LowerRoman}%7.${type.Decimal}%8.${type.LowerLetter}%9.${type.LowerRoman}`;
|
|
14
|
-
const numberedMarkerStyles3 = `%1.${type.Decimal}%1.%2.${type.Decimal}%1.%2.%3.${type.Decimal}%1.%2.%3.%4.${type.Decimal}%1.%2.%3.%4.%5.${type.Decimal}%1.%2.%3.%4.%5.%6.${type.Decimal}%1.%2.%3.%4.%5.%6.%7.${type.Decimal}%1.%2.%3.%4.%5.%6.%7.%8.${type.Decimal}%1.%2.%3.%4.%5.%6.%7.%8.%9.${type.Decimal}`;
|
|
15
|
-
const numberedMarkerStyles4 = `%1.${type.UpperLetter}%2.${type.LowerLetter}%3.${type.LowerRoman}%4.${type.Decimal}%5.${type.LowerLetter}%6.${type.LowerRoman}%7.${type.Decimal}%8.${type.LowerLetter}%9.${type.LowerRoman}`;
|
|
16
|
-
const numberedMarkerStyles5 = `%1.${type.UpperRoman}%2.${type.UpperLetter}%3.${type.Decimal}%4)${type.LowerLetter}(%5)${type.Decimal}(%6)${type.LowerLetter}(%7)${type.LowerRoman}(%8)${type.LowerLetter}(%9)${type.LowerRoman}`;
|
|
17
|
-
const numberedMarkerStyles6 = `%1.${type.DecimalZero}%2.${type.LowerLetter}%3.${type.LowerRoman}%4.${type.Decimal}%5.${type.LowerLetter}%6.${type.LowerRoman}%7.${type.Decimal}%8.${type.LowerLetter}%9.${type.LowerRoman}`;
|
|
18
|
-
switch (levelsMarkersStyles) {
|
|
19
|
-
case numberedMarkerStyles1:
|
|
20
|
-
return NumberingTemplateType.NumberList1;
|
|
21
|
-
case numberedMarkerStyles2:
|
|
22
|
-
return NumberingTemplateType.NumberList2;
|
|
23
|
-
case numberedMarkerStyles3:
|
|
24
|
-
return NumberingTemplateType.NumberList3;
|
|
25
|
-
case numberedMarkerStyles4:
|
|
26
|
-
return NumberingTemplateType.NumberList4;
|
|
27
|
-
case numberedMarkerStyles5:
|
|
28
|
-
return NumberingTemplateType.NumberList5;
|
|
29
|
-
case numberedMarkerStyles6:
|
|
30
|
-
return NumberingTemplateType.NumberList6;
|
|
31
|
-
case bulletMarkerStyles1:
|
|
32
|
-
return NumberingTemplateType.BulletList1;
|
|
33
|
-
case bulletMarkerStyles2:
|
|
34
|
-
return NumberingTemplateType.BulletList2;
|
|
35
|
-
case bulletMarkerStyles3:
|
|
36
|
-
return NumberingTemplateType.BulletList3;
|
|
37
|
-
case bulletMarkerStyles4:
|
|
38
|
-
return NumberingTemplateType.BulletList4;
|
|
39
|
-
case bulletMarkerStyles5:
|
|
40
|
-
return NumberingTemplateType.BulletList5;
|
|
41
|
-
case bulletMarkerStyles6:
|
|
42
|
-
return NumberingTemplateType.BulletList6;
|
|
43
|
-
default:
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1zdHlsZXMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9zaGFyZWQvdG9vbGJhci1zdHlsZXMuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTdFLE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsTUFBTSxDQUFDLHdCQUF3QixDQUFDLG1CQUEyQjtRQUN2RCxNQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQztRQUNqQyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLHFCQUFxQixHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxNQUFNLElBQUksQ0FBQyxVQUFVLE1BQU0sSUFBSSxDQUFDLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxNQUFNLElB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Q0FBQztZQUM3QztnQkFDSSxPQUFPLElBQUksQ0FBQztTQUNuQjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE51bWJlcmluZ01hcmtlclR5cGUgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3IvZ2FkZ2V0cy9udW1iZXJpbmcvbnVtYmVyaW5nLW1hcmtlci10eXBlLmVudW0nO1xuaW1wb3J0IHsgTnVtYmVyaW5nVGVtcGxhdGVUeXBlIH0gZnJvbSAnLi9lbnVtcy9udW1iZXJpbmctdGVtcGxhdGUtdHlwZS5lbnVtJztcblxuZXhwb3J0IGNsYXNzIFRvb2xiYXJTdHlsZXNIZWxwZXIge1xuICAgIHN0YXRpYyBnZXROdW1iZXJpbmdUZW1wbGF0ZVR5cGUobGV2ZWxzTWFya2Vyc1N0eWxlczogc3RyaW5nKTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBOdW1iZXJpbmdNYXJrZXJUeXBlO1xuICAgICAgICBjb25zdCBidWxsZXRNYXJrZXJTdHlsZXMxID0gYOKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3ilqAke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3ilqAke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3ilqAke3R5cGUuQnVsbGV0fWA7XG4gICAgICAgIGNvbnN0IGJ1bGxldE1hcmtlclN0eWxlczIgPSBg4pagJHt0eXBlLkJ1bGxldH3ilqEke3R5cGUuQnVsbGV0feKXiyR7dHlwZS5CdWxsZXR94pagJHt0eXBlLkJ1bGxldH3ilqEke3R5cGUuQnVsbGV0feKXiyR7dHlwZS5CdWxsZXR94pagJHt0eXBlLkJ1bGxldH3ilqEke3R5cGUuQnVsbGV0feKXiyR7dHlwZS5CdWxsZXR9YDtcbiAgICAgICAgY29uc3QgYnVsbGV0TWFya2VyU3R5bGVzMyA9IGDil4Yke3R5cGUuQnVsbGV0feKXhyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3il4Yke3R5cGUuQnVsbGV0feKXhyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3il4Yke3R5cGUuQnVsbGV0feKXhyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH1gO1xuICAgICAgICBjb25zdCBidWxsZXRNYXJrZXJTdHlsZXM0ID0gYOKeoiR7dHlwZS5CdWxsZXR94peGJHt0eXBlLkJ1bGxldH3il48ke3R5cGUuQnVsbGV0feKeoiR7dHlwZS5CdWxsZXR94peGJHt0eXBlLkJ1bGxldH3il48ke3R5cGUuQnVsbGV0feKeoiR7dHlwZS5CdWxsZXR94peGJHt0eXBlLkJ1bGxldH3il48ke3R5cGUuQnVsbGV0fWA7XG4gICAgICAgIGNvbnN0IGJ1bGxldE1hcmtlclN0eWxlczUgPSBg4piFJHt0eXBlLkJ1bGxldH3il4ske3R5cGUuQnVsbGV0feKWoSR7dHlwZS5CdWxsZXR94piFJHt0eXBlLkJ1bGxldH3il4ske3R5cGUuQnVsbGV0feKWoSR7dHlwZS5CdWxsZXR94piFJHt0eXBlLkJ1bGxldH3il4ske3R5cGUuQnVsbGV0feKWoSR7dHlwZS5CdWxsZXR9YDtcbiAgICAgICAgY29uc3QgYnVsbGV0TWFya2VyU3R5bGVzNiA9IGDinqIke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3inqIke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3inqIke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH1gO1xuICAgICAgICBjb25zdCBudW1iZXJlZE1hcmtlclN0eWxlczEgPSBgJTEuJHt0eXBlLkRlY2ltYWx9JTIuJHt0eXBlLkxvd2VyTGV0dGVyfSUzLiR7dHlwZS5Mb3dlclJvbWFufSU0LiR7dHlwZS5EZWNpbWFsfSU1LiR7dHlwZS5Mb3dlckxldHRlcn0lNi4ke3R5cGUuTG93ZXJSb21hbn0lNy4ke3R5cGUuRGVjaW1hbH0lOC4ke3R5cGUuTG93ZXJMZXR0ZXJ9JTkuJHt0eXBlLkxvd2VyUm9tYW59YDtcbiAgICAgICAgY29uc3QgbnVtYmVyZWRNYXJrZXJTdHlsZXMyID0gYCUxKSR7dHlwZS5EZWNpbWFsfSUyKSR7dHlwZS5Mb3dlckxldHRlcn0lMykke3R5cGUuTG93ZXJSb21hbn0oJTQpJHt0eXBlLkRlY2ltYWx9KCU1KSR7dHlwZS5Mb3dlckxldHRlcn0oJTYpJHt0eXBlLkxvd2VyUm9tYW59JTcuJHt0eXBlLkRlY2ltYWx9JTguJHt0eXBlLkxvd2VyTGV0dGVyfSU5LiR7dHlwZS5Mb3dlclJvbWFufWA7XG4gICAgICAgIGNvbnN0IG51bWJlcmVkTWFya2VyU3R5bGVzMyA9IGAlMS4ke3R5cGUuRGVjaW1hbH0lMS4lMi4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4lNy4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4lNy4lOC4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4lNy4lOC4lOS4ke3R5cGUuRGVjaW1hbH1gO1xuICAgICAgICBjb25zdCBudW1iZXJlZE1hcmtlclN0eWxlczQgPSBgJTEuJHt0eXBlLlVwcGVyTGV0dGVyfSUyLiR7dHlwZS5Mb3dlckxldHRlcn0lMy4ke3R5cGUuTG93ZXJSb21hbn0lNC4ke3R5cGUuRGVjaW1hbH0lNS4ke3R5cGUuTG93ZXJMZXR0ZXJ9JTYuJHt0eXBlLkxvd2VyUm9tYW59JTcuJHt0eXBlLkRlY2ltYWx9JTguJHt0eXBlLkxvd2VyTGV0dGVyfSU5LiR7dHlwZS5Mb3dlclJvbWFufWA7XG4gICAgICAgIGNvbnN0IG51bWJlcmVkTWFya2VyU3R5bGVzNSA9IGAlMS4ke3R5cGUuVXBwZXJSb21hbn0lMi4ke3R5cGUuVXBwZXJMZXR0ZXJ9JTMuJHt0eXBlLkRlY2ltYWx9JTQpJHt0eXBlLkxvd2VyTGV0dGVyfSglNSkke3R5cGUuRGVjaW1hbH0oJTYpJHt0eXBlLkxvd2VyTGV0dGVyfSglNykke3R5cGUuTG93ZXJSb21hbn0oJTgpJHt0eXBlLkxvd2VyTGV0dGVyfSglOSkke3R5cGUuTG93ZXJSb21hbn1gO1xuICAgICAgICBjb25zdCBudW1iZXJlZE1hcmtlclN0eWxlczYgPSBgJTEuJHt0eXBlLkRlY2ltYWxaZXJvfSUyLiR7dHlwZS5Mb3dlckxldHRlcn0lMy4ke3R5cGUuTG93ZXJSb21hbn0lNC4ke3R5cGUuRGVjaW1hbH0lNS4ke3R5cGUuTG93ZXJMZXR0ZXJ9JTYuJHt0eXBlLkxvd2VyUm9tYW59JTcuJHt0eXBlLkRlY2ltYWx9JTguJHt0eXBlLkxvd2VyTGV0dGVyfSU5LiR7dHlwZS5Mb3dlclJvbWFufWA7XG5cbiAgICAgICAgc3dpdGNoIChsZXZlbHNNYXJrZXJzU3R5bGVzKSB7XG4gICAgICAgICAgICBjYXNlIG51bWJlcmVkTWFya2VyU3R5bGVzMTpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3QxO1xuICAgICAgICAgICAgY2FzZSBudW1iZXJlZE1hcmtlclN0eWxlczI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0MjtcbiAgICAgICAgICAgIGNhc2UgbnVtYmVyZWRNYXJrZXJTdHlsZXMzOlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDM7XG4gICAgICAgICAgICBjYXNlIG51bWJlcmVkTWFya2VyU3R5bGVzNDpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3Q0O1xuICAgICAgICAgICAgY2FzZSBudW1iZXJlZE1hcmtlclN0eWxlczU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0NTtcbiAgICAgICAgICAgIGNhc2UgbnVtYmVyZWRNYXJrZXJTdHlsZXM2OlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDY7XG4gICAgICAgICAgICBjYXNlIGJ1bGxldE1hcmtlclN0eWxlczE6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0MTtcbiAgICAgICAgICAgIGNhc2UgYnVsbGV0TWFya2VyU3R5bGVzMjpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QyO1xuICAgICAgICAgICAgY2FzZSBidWxsZXRNYXJrZXJTdHlsZXMzOlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDM7XG4gICAgICAgICAgICBjYXNlIGJ1bGxldE1hcmtlclN0eWxlczQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NDtcbiAgICAgICAgICAgIGNhc2UgYnVsbGV0TWFya2VyU3R5bGVzNTpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3Q1O1xuICAgICAgICAgICAgY2FzZSBidWxsZXRNYXJrZXJTdHlsZXM2OlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDY7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class InsertTableComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.selectSizes = new EventEmitter();
|
|
8
|
-
this.maxRows = 20;
|
|
9
|
-
this.minRows = 5;
|
|
10
|
-
this.maxColumns = 20;
|
|
11
|
-
this.minColumns = 10;
|
|
12
|
-
this.rows = Array(this.minRows)
|
|
13
|
-
.fill(undefined)
|
|
14
|
-
.map((_, i) => i + 1);
|
|
15
|
-
this.columns = Array(this.minColumns)
|
|
16
|
-
.fill(undefined)
|
|
17
|
-
.map((_, i) => i + 1);
|
|
18
|
-
this.currentRow = 1;
|
|
19
|
-
this.currentColumn = 1;
|
|
20
|
-
}
|
|
21
|
-
onCreateTable(rows, columns) {
|
|
22
|
-
this.selectSizes.emit({ rows, columns });
|
|
23
|
-
}
|
|
24
|
-
onCellHover(row, column) {
|
|
25
|
-
this.currentRow = row;
|
|
26
|
-
this.currentColumn = column;
|
|
27
|
-
this.rows = this.calculateArray(row, this.rows, this.minRows, this.maxRows);
|
|
28
|
-
this.columns = this.calculateArray(column, this.columns, this.minColumns, this.maxColumns);
|
|
29
|
-
}
|
|
30
|
-
calculateArray(currentValue, arrayValues, minValue, maxValue) {
|
|
31
|
-
if (currentValue >= arrayValues.length && currentValue <= maxValue) {
|
|
32
|
-
const count = currentValue >= maxValue ? maxValue : arrayValues.length + 1;
|
|
33
|
-
return Array(count)
|
|
34
|
-
.fill(undefined)
|
|
35
|
-
.map((_, i) => i + 1);
|
|
36
|
-
}
|
|
37
|
-
else if (currentValue < arrayValues.length && arrayValues.length > minValue) {
|
|
38
|
-
const count = currentValue <= minValue ? minValue + 1 : arrayValues.length - (arrayValues.length - currentValue) + 1;
|
|
39
|
-
return Array(count)
|
|
40
|
-
.fill(undefined)
|
|
41
|
-
.map((_, i) => i + 1);
|
|
42
|
-
}
|
|
43
|
-
return arrayValues;
|
|
44
|
-
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InsertTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InsertTableComponent, isStandalone: true, selector: "app-nod-insert-table", outputs: { selectSizes: "selectSizes" }, ngImport: i0, template: "<div class=\"table-size-container\">\n <ng-container *ngFor=\"let row of rows\">\n <div class=\"row\">\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"cell-container\"\n (mouseenter)=\"onCellHover(row, column)\"\n (click)=\"onCreateTable(row, column)\">\n <div\n class=\"cell\"\n [class.highlighted]=\"row <= currentRow && column <= currentColumn\"></div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <div class=\"table-size\">{{ currentColumn }} x {{ currentRow }}</div>\n</div>\n", styles: [":host{border-radius:4px}.table-size-container{padding:14px 10px 8px}.row{display:flex;flex-direction:row}.cell-container{padding:2px}.cell{height:16px;width:16px}.table-size{display:flex;justify-content:center;padding-top:14px;font-size:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
47
|
-
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InsertTableComponent, decorators: [{
|
|
49
|
-
type: Component,
|
|
50
|
-
args: [{ standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-nod-insert-table', template: "<div class=\"table-size-container\">\n <ng-container *ngFor=\"let row of rows\">\n <div class=\"row\">\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"cell-container\"\n (mouseenter)=\"onCellHover(row, column)\"\n (click)=\"onCreateTable(row, column)\">\n <div\n class=\"cell\"\n [class.highlighted]=\"row <= currentRow && column <= currentColumn\"></div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <div class=\"table-size\">{{ currentColumn }} x {{ currentRow }}</div>\n</div>\n", styles: [":host{border-radius:4px}.table-size-container{padding:14px 10px 8px}.row{display:flex;flex-direction:row}.cell-container{padding:2px}.cell{height:16px;width:16px}.table-size{display:flex;justify-content:center;padding-top:14px;font-size:14px}\n"] }]
|
|
51
|
-
}], propDecorators: { selectSizes: [{
|
|
52
|
-
type: Output
|
|
53
|
-
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvaW5zZXJ0LXRhYmxlL2luc2VydC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2luc2VydC10YWJsZS9pbnNlcnQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVS9DLE1BQU0sT0FBTyxvQkFBb0I7SUFSakM7UUFTYyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFxQyxDQUFDO1FBQ3JFLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFYixZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBRVosZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXpCLFNBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ2YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTFCLFlBQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ2YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTFCLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFFZixrQkFBYSxHQUFHLENBQUMsQ0FBQztLQTRCckI7SUExQkcsYUFBYSxDQUFDLElBQVksRUFBRSxPQUFlO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFXLEVBQUUsTUFBYztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRCxjQUFjLENBQUMsWUFBb0IsRUFBRSxXQUFxQixFQUFFLFFBQWdCLEVBQUUsUUFBZ0I7UUFDMUYsSUFBSSxZQUFZLElBQUksV0FBVyxDQUFDLE1BQU0sSUFBSSxZQUFZLElBQUksUUFBUSxFQUFFO1lBQ2hFLE1BQU0sS0FBSyxHQUFHLFlBQVksSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDM0UsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO2lCQUNkLElBQUksQ0FBQyxTQUFTLENBQUM7aUJBQ2YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzdCO2FBQU0sSUFBSSxZQUFZLEdBQUcsV0FBVyxDQUFDLE1BQU0sSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLFFBQVEsRUFBRTtZQUMzRSxNQUFNLEtBQUssR0FBRyxZQUFZLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckgsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO2lCQUNkLElBQUksQ0FBQyxTQUFTLENBQUM7aUJBQ2YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQzsrR0EvQ1Esb0JBQW9CO21HQUFwQixvQkFBb0IseUhDWGpDLHNzQkFpQkEsNlNEWmMsWUFBWTs7NEZBTWIsb0JBQW9CO2tCQVJoQyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFDTix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLHNCQUFzQjs4QkFLdEIsV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXBwLW5vZC1pbnNlcnQtdGFibGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnaW5zZXJ0LXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnaW5zZXJ0LXRhYmxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW5zZXJ0VGFibGVDb21wb25lbnQge1xuICAgIEBPdXRwdXQoKSBzZWxlY3RTaXplcyA9IG5ldyBFdmVudEVtaXR0ZXI8eyByb3dzOiBudW1iZXI7IGNvbHVtbnM6IG51bWJlciB9PigpO1xuICAgIHJlYWRvbmx5IG1heFJvd3MgPSAyMDtcblxuICAgIHJlYWRvbmx5IG1pblJvd3MgPSA1O1xuXG4gICAgcmVhZG9ubHkgbWF4Q29sdW1ucyA9IDIwO1xuXG4gICAgcmVhZG9ubHkgbWluQ29sdW1ucyA9IDEwO1xuXG4gICAgcm93cyA9IEFycmF5KHRoaXMubWluUm93cylcbiAgICAgICAgLmZpbGwodW5kZWZpbmVkKVxuICAgICAgICAubWFwKChfLCBpKSA9PiBpICsgMSk7XG5cbiAgICBjb2x1bW5zID0gQXJyYXkodGhpcy5taW5Db2x1bW5zKVxuICAgICAgICAuZmlsbCh1bmRlZmluZWQpXG4gICAgICAgIC5tYXAoKF8sIGkpID0+IGkgKyAxKTtcblxuICAgIGN1cnJlbnRSb3cgPSAxO1xuXG4gICAgY3VycmVudENvbHVtbiA9IDE7XG5cbiAgICBvbkNyZWF0ZVRhYmxlKHJvd3M6IG51bWJlciwgY29sdW1uczogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0U2l6ZXMuZW1pdCh7IHJvd3MsIGNvbHVtbnMgfSk7XG4gICAgfVxuXG4gICAgb25DZWxsSG92ZXIocm93OiBudW1iZXIsIGNvbHVtbjogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFJvdyA9IHJvdztcbiAgICAgICAgdGhpcy5jdXJyZW50Q29sdW1uID0gY29sdW1uO1xuICAgICAgICB0aGlzLnJvd3MgPSB0aGlzLmNhbGN1bGF0ZUFycmF5KHJvdywgdGhpcy5yb3dzLCB0aGlzLm1pblJvd3MsIHRoaXMubWF4Um93cyk7XG4gICAgICAgIHRoaXMuY29sdW1ucyA9IHRoaXMuY2FsY3VsYXRlQXJyYXkoY29sdW1uLCB0aGlzLmNvbHVtbnMsIHRoaXMubWluQ29sdW1ucywgdGhpcy5tYXhDb2x1bW5zKTtcbiAgICB9XG5cbiAgICBjYWxjdWxhdGVBcnJheShjdXJyZW50VmFsdWU6IG51bWJlciwgYXJyYXlWYWx1ZXM6IG51bWJlcltdLCBtaW5WYWx1ZTogbnVtYmVyLCBtYXhWYWx1ZTogbnVtYmVyKTogbnVtYmVyW10ge1xuICAgICAgICBpZiAoY3VycmVudFZhbHVlID49IGFycmF5VmFsdWVzLmxlbmd0aCAmJiBjdXJyZW50VmFsdWUgPD0gbWF4VmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ID0gY3VycmVudFZhbHVlID49IG1heFZhbHVlID8gbWF4VmFsdWUgOiBhcnJheVZhbHVlcy5sZW5ndGggKyAxO1xuICAgICAgICAgICAgcmV0dXJuIEFycmF5KGNvdW50KVxuICAgICAgICAgICAgICAgIC5maWxsKHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAubWFwKChfLCBpKSA9PiBpICsgMSk7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudFZhbHVlIDwgYXJyYXlWYWx1ZXMubGVuZ3RoICYmIGFycmF5VmFsdWVzLmxlbmd0aCA+IG1pblZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBjb3VudCA9IGN1cnJlbnRWYWx1ZSA8PSBtaW5WYWx1ZSA/IG1pblZhbHVlICsgMSA6IGFycmF5VmFsdWVzLmxlbmd0aCAtIChhcnJheVZhbHVlcy5sZW5ndGggLSBjdXJyZW50VmFsdWUpICsgMTtcbiAgICAgICAgICAgIHJldHVybiBBcnJheShjb3VudClcbiAgICAgICAgICAgICAgICAuZmlsbCh1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgLm1hcCgoXywgaSkgPT4gaSArIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFycmF5VmFsdWVzO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0YWJsZS1zaXplLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwib25DZWxsSG92ZXIocm93LCBjb2x1bW4pXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ3JlYXRlVGFibGUocm93LCBjb2x1bW4pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2VsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaGlnaGxpZ2h0ZWRdPVwicm93IDw9IGN1cnJlbnRSb3cgJiYgY29sdW1uIDw9IGN1cnJlbnRDb2x1bW5cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtc2l6ZVwiPnt7IGN1cnJlbnRDb2x1bW4gfX0geCB7eyBjdXJyZW50Um93IH19PC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ReactiveFormsModule, Validators } from '@angular/forms';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
-
import { MatInputModule } from '@angular/material/input';
|
|
8
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../../editor/interaction/editor.service";
|
|
11
|
-
import * as i2 from "@angular/forms";
|
|
12
|
-
import * as i3 from "../editor-toolbar/shared/services/toolbar-core.service";
|
|
13
|
-
import * as i4 from "@angular/common";
|
|
14
|
-
import * as i5 from "@angular/material/button";
|
|
15
|
-
import * as i6 from "@angular/material/form-field";
|
|
16
|
-
import * as i7 from "@angular/material/icon";
|
|
17
|
-
import * as i8 from "@angular/material/input";
|
|
18
|
-
import * as i9 from "@ngx-translate/core";
|
|
19
|
-
export class InsertTableMobileComponent {
|
|
20
|
-
constructor(editorService, fb, toolbarCoreService) {
|
|
21
|
-
this.editorService = editorService;
|
|
22
|
-
this.fb = fb;
|
|
23
|
-
this.toolbarCoreService = toolbarCoreService;
|
|
24
|
-
this.maxRows = 5;
|
|
25
|
-
this.minRows = 1;
|
|
26
|
-
this.maxColumns = 10;
|
|
27
|
-
this.minColumns = 1;
|
|
28
|
-
this.rows = Array(this.maxRows)
|
|
29
|
-
.fill(undefined)
|
|
30
|
-
.map((_, i) => i + 1);
|
|
31
|
-
this.columns = Array(this.maxColumns)
|
|
32
|
-
.fill(undefined)
|
|
33
|
-
.map((_, i) => i + 1);
|
|
34
|
-
this.form = this.fb.group({
|
|
35
|
-
rows: [2, [Validators.required, Validators.min(this.minRows), Validators.max(this.maxRows)]],
|
|
36
|
-
columns: [2, [Validators.required, Validators.min(this.minColumns), Validators.max(this.maxColumns)]]
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
onClose() {
|
|
40
|
-
this.toolbarCoreService.reset();
|
|
41
|
-
}
|
|
42
|
-
onApply() {
|
|
43
|
-
this.editorService.insertTable({ rows: this.form.controls.rows.value, columns: this.form.controls.columns.value });
|
|
44
|
-
this.toolbarCoreService.reset();
|
|
45
|
-
}
|
|
46
|
-
onSetTable(rows, columns) {
|
|
47
|
-
this.form.controls.rows.setValue(rows);
|
|
48
|
-
this.form.controls.columns.setValue(columns);
|
|
49
|
-
}
|
|
50
|
-
onChangeInputRow() {
|
|
51
|
-
if (this.form.controls.rows.value < this.minRows) {
|
|
52
|
-
this.form.controls.rows.setValue(this.minRows);
|
|
53
|
-
}
|
|
54
|
-
if (this.form.controls.rows.value > this.maxRows) {
|
|
55
|
-
this.form.controls.rows.setValue(this.maxRows);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
onChangeInputColumn() {
|
|
59
|
-
if (this.form.controls.columns.value < this.minColumns) {
|
|
60
|
-
this.form.controls.columns.setValue(this.minColumns);
|
|
61
|
-
}
|
|
62
|
-
if (this.form.controls.columns.value > this.maxColumns) {
|
|
63
|
-
this.form.controls.columns.setValue(this.maxColumns);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
onChangeRows(value) {
|
|
67
|
-
this.changeCount(value, this.minRows, this.maxRows, this.form.controls.rows);
|
|
68
|
-
}
|
|
69
|
-
onChangeColumns(value) {
|
|
70
|
-
this.changeCount(value, this.minColumns, this.maxColumns, this.form.controls.columns);
|
|
71
|
-
}
|
|
72
|
-
changeCount(value, minValue, maxValue, control) {
|
|
73
|
-
const newValue = control.value + value;
|
|
74
|
-
if (newValue > maxValue || newValue < minValue) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
control.setValue(newValue);
|
|
78
|
-
}
|
|
79
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InsertTableMobileComponent, deps: [{ token: i1.EditorService }, { token: i2.FormBuilder }, { token: i3.ToolbarCoreService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
80
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InsertTableMobileComponent, isStandalone: true, selector: "app-nod-insert-table-mobile", ngImport: i0, template: "<div class=\"content\">\n <div class=\"title\">{{ 'NODER.LABEL.TABLE_OPTIONS' | translate }}</div>\n <div\n class=\"inputs\"\n [formGroup]=\"form\">\n <div class=\"rows\">\n <div class=\"input-title\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-table-rows\" />\n {{ 'NODER.LABEL.ROWS' | translate }}:\n </div>\n <mat-form-field appearance=\"outline\">\n <button\n mat-fab\n (click)=\"onChangeRows(-1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\" />\n </button>\n <input\n matInput\n required\n type=\"number\"\n [formControl]=\"form.controls.rows\"\n (change)=\"onChangeInputRow()\" />\n <button\n mat-fab\n (click)=\"onChangeRows(1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\" />\n </button>\n <mat-error>{{ 'NODER.LABEL.THE_ROW_IS_REQUIRED' | translate }}.</mat-error>\n </mat-form-field>\n </div>\n <div class=\"columns\">\n <div class=\"input-title\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-table-columns\" />\n {{ 'NODER.LABEL.COLUMNS' | translate }}:\n </div>\n <mat-form-field appearance=\"outline\">\n <button\n mat-fab\n (click)=\"onChangeColumns(-1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\" />\n </button>\n <input\n matInput\n required\n type=\"number\"\n [formControl]=\"form.controls.columns\"\n (change)=\"onChangeInputColumn()\" />\n <button\n mat-fab\n (click)=\"onChangeColumns(1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\" />\n </button>\n <mat-error>{{ 'NODER.LABEL.THE_COLUMN_IS_REQUIRED' | translate }}.</mat-error>\n </mat-form-field>\n </div>\n </div>\n <div class=\"quick-select\">\n <div class=\"quick-select-header\">\n <div class=\"separator\"></div>\n <div class=\"quick-select-title\">{{ 'NODER.LABEL.QUICK_SELECT' | translate }}</div>\n <div class=\"separator\"></div>\n </div>\n <div class=\"selection\">\n <ng-container *ngFor=\"let row of rows\">\n <div class=\"row\">\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"cell-container\"\n (click)=\"onSetTable(row, column)\">\n <div\n class=\"cell\"\n [class.highlighted]=\"row <= form.controls.rows.value && column <= form.controls.columns.value\"></div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n<div class=\"actions\">\n <button\n mat-mini-fab\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n </button>\n <button\n mat-mini-fab\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:100%;height:100%;padding:30px;justify-content:space-between;overflow:hidden}.title{font-size:16px;font-weight:500;padding-bottom:10px}.inputs{display:flex;justify-content:space-between;padding-top:10px;padding-bottom:0}.rows,.columns{display:flex;flex-direction:column;width:45%}.input-title{display:flex;align-items:center;font-size:14px;font-weight:400;padding-bottom:10px}.input-title .mat-icon{margin-right:10px}.quick-select{display:flex;flex-direction:column}.quick-select-header{display:flex;padding-bottom:20px}.quick-select-title{padding:0 10px;font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.separator{flex:1;align-self:center;border-bottom-width:1px;border-bottom-style:solid}.row{display:flex;flex-direction:row}.cell-container{width:10%;aspect-ratio:1/1;padding:2px}.cell{height:100%;width:100%;border-width:1px;border-style:solid}.mat-mdc-form-field ::ng-deep .mat-mdc-text-field-wrapper{padding:0}.mat-mdc-form-field ::ng-deep .mat-mdc-form-field-infix{display:flex;flex-direction:row;padding:0}.mat-mdc-form-field ::ng-deep .mdc-fab{width:48px;height:48px}.mat-mdc-input-element{text-align:center}.actions{text-align:end}.actions .mdc-fab:first-child{margin-right:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "component", type: i5.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
81
|
-
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InsertTableMobileComponent, decorators: [{
|
|
83
|
-
type: Component,
|
|
84
|
-
args: [{ standalone: true, imports: [CommonModule, MatButtonModule, MatFormFieldModule, MatIconModule, MatInputModule, ReactiveFormsModule, TranslateModule], selector: 'app-nod-insert-table-mobile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"content\">\n <div class=\"title\">{{ 'NODER.LABEL.TABLE_OPTIONS' | translate }}</div>\n <div\n class=\"inputs\"\n [formGroup]=\"form\">\n <div class=\"rows\">\n <div class=\"input-title\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-table-rows\" />\n {{ 'NODER.LABEL.ROWS' | translate }}:\n </div>\n <mat-form-field appearance=\"outline\">\n <button\n mat-fab\n (click)=\"onChangeRows(-1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\" />\n </button>\n <input\n matInput\n required\n type=\"number\"\n [formControl]=\"form.controls.rows\"\n (change)=\"onChangeInputRow()\" />\n <button\n mat-fab\n (click)=\"onChangeRows(1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\" />\n </button>\n <mat-error>{{ 'NODER.LABEL.THE_ROW_IS_REQUIRED' | translate }}.</mat-error>\n </mat-form-field>\n </div>\n <div class=\"columns\">\n <div class=\"input-title\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-table-columns\" />\n {{ 'NODER.LABEL.COLUMNS' | translate }}:\n </div>\n <mat-form-field appearance=\"outline\">\n <button\n mat-fab\n (click)=\"onChangeColumns(-1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\" />\n </button>\n <input\n matInput\n required\n type=\"number\"\n [formControl]=\"form.controls.columns\"\n (change)=\"onChangeInputColumn()\" />\n <button\n mat-fab\n (click)=\"onChangeColumns(1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\" />\n </button>\n <mat-error>{{ 'NODER.LABEL.THE_COLUMN_IS_REQUIRED' | translate }}.</mat-error>\n </mat-form-field>\n </div>\n </div>\n <div class=\"quick-select\">\n <div class=\"quick-select-header\">\n <div class=\"separator\"></div>\n <div class=\"quick-select-title\">{{ 'NODER.LABEL.QUICK_SELECT' | translate }}</div>\n <div class=\"separator\"></div>\n </div>\n <div class=\"selection\">\n <ng-container *ngFor=\"let row of rows\">\n <div class=\"row\">\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"cell-container\"\n (click)=\"onSetTable(row, column)\">\n <div\n class=\"cell\"\n [class.highlighted]=\"row <= form.controls.rows.value && column <= form.controls.columns.value\"></div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n<div class=\"actions\">\n <button\n mat-mini-fab\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n </button>\n <button\n mat-mini-fab\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:100%;height:100%;padding:30px;justify-content:space-between;overflow:hidden}.title{font-size:16px;font-weight:500;padding-bottom:10px}.inputs{display:flex;justify-content:space-between;padding-top:10px;padding-bottom:0}.rows,.columns{display:flex;flex-direction:column;width:45%}.input-title{display:flex;align-items:center;font-size:14px;font-weight:400;padding-bottom:10px}.input-title .mat-icon{margin-right:10px}.quick-select{display:flex;flex-direction:column}.quick-select-header{display:flex;padding-bottom:20px}.quick-select-title{padding:0 10px;font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.separator{flex:1;align-self:center;border-bottom-width:1px;border-bottom-style:solid}.row{display:flex;flex-direction:row}.cell-container{width:10%;aspect-ratio:1/1;padding:2px}.cell{height:100%;width:100%;border-width:1px;border-style:solid}.mat-mdc-form-field ::ng-deep .mat-mdc-text-field-wrapper{padding:0}.mat-mdc-form-field ::ng-deep .mat-mdc-form-field-infix{display:flex;flex-direction:row;padding:0}.mat-mdc-form-field ::ng-deep .mdc-fab{width:48px;height:48px}.mat-mdc-input-element{text-align:center}.actions{text-align:end}.actions .mdc-fab:first-child{margin-right:10px}\n"] }]
|
|
85
|
-
}], ctorParameters: () => [{ type: i1.EditorService }, { type: i2.FormBuilder }, { type: i3.ToolbarCoreService }] });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXRhYmxlLW1vYmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2luc2VydC10YWJsZS1tb2JpbGUvaW5zZXJ0LXRhYmxlLW1vYmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2luc2VydC10YWJsZS1tb2JpbGUvaW5zZXJ0LXRhYmxlLW1vYmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVDLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFhdEQsTUFBTSxPQUFPLDBCQUEwQjtJQW1CbkMsWUFBb0IsYUFBNEIsRUFBVSxFQUFlLEVBQVUsa0JBQXNDO1FBQXJHLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFsQmhILFlBQU8sR0FBRyxDQUFDLENBQUM7UUFFWixZ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LEVBQUUsZUFBZSxDQUFDLFlBQ3ZILDZCQUE2QixtQkFHdEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9lZGl0b3IvaW50ZXJhY3Rpb24vZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9vbGJhckNvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vZWRpdG9yLXRvb2xiYXIvc2hhcmVkL3NlcnZpY2VzL3Rvb2xiYXItY29yZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWluc2VydC10YWJsZS1tb2JpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnaW5zZXJ0LXRhYmxlLW1vYmlsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2luc2VydC10YWJsZS1tb2JpbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBJbnNlcnRUYWJsZU1vYmlsZUNvbXBvbmVudCB7XG4gICAgcmVhZG9ubHkgbWF4Um93cyA9IDU7XG5cbiAgICByZWFkb25seSBtaW5Sb3dzID0gMTtcblxuICAgIHJlYWRvbmx5IG1heENvbHVtbnMgPSAxMDtcblxuICAgIHJlYWRvbmx5IG1pbkNvbHVtbnMgPSAxO1xuXG4gICAgZm9ybTogRm9ybUdyb3VwPHsgcm93czogRm9ybUNvbnRyb2w8bnVtYmVyPjsgY29sdW1uczogRm9ybUNvbnRyb2w8bnVtYmVyPiB9PjtcblxuICAgIHJvd3MgPSBBcnJheSh0aGlzLm1heFJvd3MpXG4gICAgICAgIC5maWxsKHVuZGVmaW5lZClcbiAgICAgICAgLm1hcCgoXywgaSkgPT4gaSArIDEpO1xuXG4gICAgY29sdW1ucyA9IEFycmF5KHRoaXMubWF4Q29sdW1ucylcbiAgICAgICAgLmZpbGwodW5kZWZpbmVkKVxuICAgICAgICAubWFwKChfLCBpKSA9PiBpICsgMSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHRvb2xiYXJDb3JlU2VydmljZTogVG9vbGJhckNvcmVTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgcm93czogWzIsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbih0aGlzLm1pblJvd3MpLCBWYWxpZGF0b3JzLm1heCh0aGlzLm1heFJvd3MpXV0sXG4gICAgICAgICAgICBjb2x1bW5zOiBbMiwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluKHRoaXMubWluQ29sdW1ucyksIFZhbGlkYXRvcnMubWF4KHRoaXMubWF4Q29sdW1ucyldXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvb2xiYXJDb3JlU2VydmljZS5yZXNldCgpO1xuICAgIH1cblxuICAgIG9uQXBwbHkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5pbnNlcnRUYWJsZSh7IHJvd3M6IHRoaXMuZm9ybS5jb250cm9scy5yb3dzLnZhbHVlLCBjb2x1bW5zOiB0aGlzLmZvcm0uY29udHJvbHMuY29sdW1ucy52YWx1ZSB9KTtcbiAgICAgICAgdGhpcy50b29sYmFyQ29yZVNlcnZpY2UucmVzZXQoKTtcbiAgICB9XG5cbiAgICBvblNldFRhYmxlKHJvd3M6IG51bWJlciwgY29sdW1uczogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5yb3dzLnNldFZhbHVlKHJvd3MpO1xuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMuY29sdW1ucy5zZXRWYWx1ZShjb2x1bW5zKTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZUlucHV0Um93KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtLmNvbnRyb2xzLnJvd3MudmFsdWUgPCB0aGlzLm1pblJvd3MpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5yb3dzLnNldFZhbHVlKHRoaXMubWluUm93cyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZm9ybS5jb250cm9scy5yb3dzLnZhbHVlID4gdGhpcy5tYXhSb3dzKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMucm93cy5zZXRWYWx1ZSh0aGlzLm1heFJvd3MpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DaGFuZ2VJbnB1dENvbHVtbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybS5jb250cm9scy5jb2x1bW5zLnZhbHVlIDwgdGhpcy5taW5Db2x1bW5zKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMuY29sdW1ucy5zZXRWYWx1ZSh0aGlzLm1pbkNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmZvcm0uY29udHJvbHMuY29sdW1ucy52YWx1ZSA+IHRoaXMubWF4Q29sdW1ucykge1xuICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmNvbHVtbnMuc2V0VmFsdWUodGhpcy5tYXhDb2x1bW5zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2hhbmdlUm93cyh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlQ291bnQodmFsdWUsIHRoaXMubWluUm93cywgdGhpcy5tYXhSb3dzLCB0aGlzLmZvcm0uY29udHJvbHMucm93cyk7XG4gICAgfVxuXG4gICAgb25DaGFuZ2VDb2x1bW5zKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VDb3VudCh2YWx1ZSwgdGhpcy5taW5Db2x1bW5zLCB0aGlzLm1heENvbHVtbnMsIHRoaXMuZm9ybS5jb250cm9scy5jb2x1bW5zKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VDb3VudCh2YWx1ZTogbnVtYmVyLCBtaW5WYWx1ZTogbnVtYmVyLCBtYXhWYWx1ZTogbnVtYmVyLCBjb250cm9sOiBGb3JtQ29udHJvbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNvbnRyb2wudmFsdWUgKyB2YWx1ZTtcbiAgICAgICAgaWYgKG5ld1ZhbHVlID4gbWF4VmFsdWUgfHwgbmV3VmFsdWUgPCBtaW5WYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRyb2wuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgJ05PREVSLkxBQkVMLlRBQkxFX09QVElPTlMnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImlucHV0c1wiXG4gICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93c1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLXRhYmxlLXJvd3NcIiAvPlxuICAgICAgICAgICAgICAgIHt7ICdOT0RFUi5MQUJFTC5ST1dTJyB8IHRyYW5zbGF0ZSB9fTpcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXQtZmFiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoYW5nZVJvd3MoLTEpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLXJlbW92ZVwiIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5jb250cm9scy5yb3dzXCJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZUlucHV0Um93KClcIiAvPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LWZhYlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGFuZ2VSb3dzKDEpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLWFkZFwiIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvcj57eyAnTk9ERVIuTEFCRUwuVEhFX1JPV19JU19SRVFVSVJFRCcgfCB0cmFuc2xhdGUgfX0uPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC10aXRsZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi10YWJsZS1jb2x1bW5zXCIgLz5cbiAgICAgICAgICAgICAgICB7eyAnTk9ERVIuTEFCRUwuQ09MVU1OUycgfCB0cmFuc2xhdGUgfX06XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LWZhYlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGFuZ2VDb2x1bW5zKC0xKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1yZW1vdmVcIiAvPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm0uY29udHJvbHMuY29sdW1uc1wiXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2VJbnB1dENvbHVtbigpXCIgLz5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdC1mYWJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlQ29sdW1ucygxKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1hZGRcIiAvPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+e3sgJ05PREVSLkxBQkVMLlRIRV9DT0xVTU5fSVNfUkVRVUlSRUQnIHwgdHJhbnNsYXRlIH19LjwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInF1aWNrLXNlbGVjdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicXVpY2stc2VsZWN0LWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1aWNrLXNlbGVjdC10aXRsZVwiPnt7ICdOT0RFUi5MQUJFTC5RVUlDS19TRUxFQ1QnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0aW9uXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2Ygcm93c1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZXRUYWJsZShyb3csIGNvbHVtbilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2VsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oaWdobGlnaHRlZF09XCJyb3cgPD0gZm9ybS5jb250cm9scy5yb3dzLnZhbHVlICYmIGNvbHVtbiA8PSBmb3JtLmNvbnRyb2xzLmNvbHVtbnMudmFsdWVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1taW5pLWZhYlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgZm9udEljb249XCJpY29uLWNhbmNlbC10aGluXCIgLz5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1taW5pLWZhYlxuICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQXBwbHkoKVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1kb25lLXRoaW5cIiAvPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
5
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
7
|
-
import { Alignment } from '../../apart-components/editor-toolbar/shared/enums/alignment.enum';
|
|
8
|
-
import { ColorPickerComponent } from '../editor-toolbar/components/buttons/color-picker/color-picker.component';
|
|
9
|
-
import { DEFAULT_FONT_COLOR, DEFAULT_FONT_SIZE } from '../../editor/content/constants/editor.const';
|
|
10
|
-
import { FontComponent } from '../editor-toolbar/components/buttons/font/font.component';
|
|
11
|
-
import { FontSizeComponent } from '../editor-toolbar/components/buttons/font-size/font-size.component';
|
|
12
|
-
import { NumberingTemplates } from '../editor-toolbar/shared/constants/numbering-templates.const';
|
|
13
|
-
import { NumberingTemplateType } from '../../apart-components/editor-toolbar/shared/enums/numbering-template-type.enum';
|
|
14
|
-
import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
|
|
15
|
-
import { TextStyleModel } from '../../models/generated/text-style.model';
|
|
16
|
-
import { ToolbarStylesHelper } from '../editor-toolbar/shared/toolbar-styles.helper';
|
|
17
|
-
import * as i0 from "@angular/core";
|
|
18
|
-
import * as i1 from "../editor-toolbar/shared/services/custom-icon.service";
|
|
19
|
-
import * as i2 from "../../editor/interaction/editor.service";
|
|
20
|
-
import * as i3 from "../editor-toolbar/shared/services/toolbar-core.service";
|
|
21
|
-
import * as i4 from "@angular/material/button";
|
|
22
|
-
import * as i5 from "@angular/material/button-toggle";
|
|
23
|
-
import * as i6 from "@angular/material/icon";
|
|
24
|
-
import * as i7 from "@ngx-translate/core";
|
|
25
|
-
export class TextFormatMobileComponent {
|
|
26
|
-
constructor(customIconService, editorService, toolbarCoreService) {
|
|
27
|
-
this.customIconService = customIconService;
|
|
28
|
-
this.editorService = editorService;
|
|
29
|
-
this.toolbarCoreService = toolbarCoreService;
|
|
30
|
-
this.textColorPalette = [
|
|
31
|
-
DEFAULT_FONT_COLOR,
|
|
32
|
-
'#b60205',
|
|
33
|
-
'#d93f0b',
|
|
34
|
-
'#fbca04',
|
|
35
|
-
'#0e8a16',
|
|
36
|
-
'#006b75',
|
|
37
|
-
'#1d76db',
|
|
38
|
-
'#0052cc',
|
|
39
|
-
'#5319e7',
|
|
40
|
-
'#e99695',
|
|
41
|
-
'#f9d0c4',
|
|
42
|
-
'#fef2c0',
|
|
43
|
-
'#c2e0c6',
|
|
44
|
-
'#bfdadc',
|
|
45
|
-
'#c5def5',
|
|
46
|
-
'#bfd4f2',
|
|
47
|
-
'#d4c5f9'
|
|
48
|
-
];
|
|
49
|
-
this.highlightColorPalette = ['none', ...this.textColorPalette];
|
|
50
|
-
this.alignments = Alignment;
|
|
51
|
-
this.numberingTemplateType = NumberingTemplateType;
|
|
52
|
-
this.styles = this.editorService.styles;
|
|
53
|
-
this.customIconService.register();
|
|
54
|
-
}
|
|
55
|
-
ngOnInit() {
|
|
56
|
-
this.selectedNumberingTemplate = ToolbarStylesHelper.getNumberingTemplateType(this.styles.numberingLevelsStyles);
|
|
57
|
-
}
|
|
58
|
-
onClose() {
|
|
59
|
-
this.toolbarCoreService.reset();
|
|
60
|
-
}
|
|
61
|
-
onApply() {
|
|
62
|
-
const textStyles = new TextStyleModel(this.styles);
|
|
63
|
-
this.editorService.setTextStyles(textStyles);
|
|
64
|
-
const paragraphStyles = new ParagraphStyleModel({ alignment: this.styles.alignment });
|
|
65
|
-
this.editorService.setParagraphStyles(paragraphStyles);
|
|
66
|
-
if (this.selectedNumberingTemplate !== null) {
|
|
67
|
-
const templateLevels = NumberingTemplates.find(x => x.templateType === this.selectedNumberingTemplate).levels;
|
|
68
|
-
this.editorService.setNumberingTemplateType(templateLevels);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
this.editorService.removeNumberings();
|
|
72
|
-
}
|
|
73
|
-
this.toolbarCoreService.reset();
|
|
74
|
-
}
|
|
75
|
-
onApplyFontFamily(font) {
|
|
76
|
-
this.checkFontLoadedAndApplyStyle(new TextStyleModel({ fontFamily: font }));
|
|
77
|
-
}
|
|
78
|
-
onApplyFontSize(size) {
|
|
79
|
-
this.checkFontLoadedAndApplyStyle(new TextStyleModel({ fontSize: size }));
|
|
80
|
-
}
|
|
81
|
-
onToggleBold() {
|
|
82
|
-
this.checkFontLoadedAndApplyStyle(new TextStyleModel({ bold: !this.styles.bold }));
|
|
83
|
-
}
|
|
84
|
-
onToggleItalic() {
|
|
85
|
-
this.checkFontLoadedAndApplyStyle(new TextStyleModel({ italic: !this.styles.italic }));
|
|
86
|
-
}
|
|
87
|
-
onToggleUnderline() {
|
|
88
|
-
this.styles.underline = !this.styles.underline;
|
|
89
|
-
}
|
|
90
|
-
onSelectFontColor(color) {
|
|
91
|
-
this.styles.fontColor = color;
|
|
92
|
-
}
|
|
93
|
-
onSelectHighlightColor(color) {
|
|
94
|
-
this.styles.highlightColor = color;
|
|
95
|
-
}
|
|
96
|
-
onApplyAlignment(alignment) {
|
|
97
|
-
this.styles.alignment = alignment;
|
|
98
|
-
}
|
|
99
|
-
checkFontLoadedAndApplyStyle(style) {
|
|
100
|
-
const newStyles = { ...this.styles, ...style };
|
|
101
|
-
const italic = newStyles.italic ? 'italic ' : '';
|
|
102
|
-
const bold = newStyles.bold ? 'bold ' : '';
|
|
103
|
-
const fontStyles = `${italic}${bold}${newStyles.fontSize ?? DEFAULT_FONT_SIZE}pt ${newStyles.fontFamily}`;
|
|
104
|
-
if (document.fonts.check(fontStyles)) {
|
|
105
|
-
this.changeTextStyle(style);
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
document.fonts
|
|
109
|
-
.load(fontStyles)
|
|
110
|
-
.then(() => this.changeTextStyle(style))
|
|
111
|
-
.catch(() => {
|
|
112
|
-
// continue regardless of error
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
changeTextStyle(style) {
|
|
116
|
-
this.styles = { ...this.styles, ...style };
|
|
117
|
-
}
|
|
118
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextFormatMobileComponent, deps: [{ token: i1.CustomIconService }, { token: i2.EditorService }, { token: i3.ToolbarCoreService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
119
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TextFormatMobileComponent, isStandalone: true, selector: "app-nod-text-format-mobile", ngImport: i0, template: "<div class=\"content\">\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.FONT' | translate }}</div>\n <div class=\"font\">\n <app-nod-font\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n <app-nod-font-size\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n </div>\n </div>\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.TEXT_STYLE' | translate }}</div>\n <div class=\"text-style-container\">\n <mat-button-toggle\n [checked]=\"styles.bold\"\n (click)=\"onToggleBold()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-bold\" />\n </mat-button-toggle>\n <mat-button-toggle\n [checked]=\"styles.italic\"\n (click)=\"onToggleItalic()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-italic\" />\n </mat-button-toggle>\n <mat-button-toggle\n [checked]=\"styles.underline\"\n (click)=\"onToggleUnderline()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-underlined\" />\n </mat-button-toggle>\n <app-nod-color-picker\n id=\"icon-format-colortext\"\n class=\"text-color\"\n icon=\"icon-format-colortext\"\n [color]=\"styles.fontColor\"\n [palette]=\"textColorPalette\"\n (colorChange)=\"onSelectFontColor($event)\" />\n <app-nod-color-picker\n id=\"icon-link-highlighter\"\n class=\"highlight-color\"\n icon=\"icon-link-highlighter\"\n [color]=\"styles.highlightColor\"\n [palette]=\"highlightColorPalette\"\n (colorChange)=\"onSelectHighlightColor($event)\" />\n </div>\n </div>\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.ALIGNMENT' | translate }}</div>\n <mat-button-toggle-group\n name=\"format\"\n [hideMultipleSelectionIndicator]=\"true\"\n [hideSingleSelectionIndicator]=\"true\"\n [value]=\"styles.alignment\"\n (change)=\"onApplyAlignment($event.value)\">\n <mat-button-toggle [value]=\"alignments.Left\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-alignleft\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle [value]=\"alignments.Center\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-aligncenter\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle [value]=\"alignments.Right\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-alignright\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle\n class=\"hide\"\n [value]=\"alignments.Justify\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-align\"></mat-icon>\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.BULLETED_AND_NUMBERED_LIST' | translate }}</div>\n <div class=\"numbering-container\">\n <div class=\"numbering-line\">\n <div\n class=\"empty-numbering\"\n [class.selected]=\"selectedNumberingTemplate === null\"\n (click)=\"selectedNumberingTemplate = null\">\n {{ 'NODER.LABEL.NONE' | translate }}\n </div>\n <mat-icon\n svgIcon=\"marker-1\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList1\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList1\" />\n <mat-icon\n svgIcon=\"marker-2\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList2\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList2\" />\n <mat-icon\n svgIcon=\"marker-3\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList3\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList3\" />\n </div>\n <div class=\"numbering-line\">\n <mat-icon\n svgIcon=\"marker-4\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList4\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList4\" />\n <mat-icon\n svgIcon=\"marker-5\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList5\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList5\" />\n <mat-icon\n svgIcon=\"marker-6\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList6\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList6\" />\n <mat-icon\n svgIcon=\"number-1\"\n class=\"list-number\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList1\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.NumberList1\" />\n </div>\n </div>\n </div>\n</div>\n<div class=\"actions\">\n <button\n mat-mini-fab\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n </button>\n <button\n mat-mini-fab\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:100%;height:100%;padding:30px;justify-content:space-between;overflow:hidden}.content-container{padding-bottom:30px}.title{font-size:16px;font-weight:500;padding-bottom:10px}.font{display:flex;justify-content:space-between}.numbering-container{display:flex;flex-direction:column}.numbering-container .mat-icon{width:102px;height:120px;border-width:1px;border-style:solid}app-nod-font{width:65%}app-nod-font ::ng-deep .mat-mdc-button{height:48px;width:100%}app-nod-font ::ng-deep .mat-mdc-button .mdc-button__label{width:100%}app-nod-font ::ng-deep .mat-mdc-button .font-menu span{padding-left:5px}app-nod-font ::ng-deep .mat-mdc-button .mat-icon{margin:0}app-nod-font-size{display:flex;align-items:center;width:30%;border:1px solid;border-radius:4px;margin:0}app-nod-font-size ::ng-deep .mdc-button.mat-mdc-button{border:none}app-nod-font-size ::ng-deep input{flex:1}mat-button-toggle-group{display:flex;justify-content:space-between;border:none;box-shadow:none}mat-button-toggle-group .mat-button-toggle{width:102px;height:48px;border:none}.text-style-container{display:flex;justify-content:space-between}.text-style-container ::ng-deep .mdc-button.mat-mdc-button{border:none}.text-style-container ::ng-deep .mat-button-toggle,.text-style-container ::ng-deep .mat-mdc-button{width:80px;height:48px;margin:0;border:none}.empty-numbering{display:flex;justify-content:center;align-items:center;text-transform:uppercase;font-size:13;font-weight:400;border-width:1px;border-style:solid;width:102px;height:120px}.numbering-line{display:flex;flex-direction:row;justify-content:space-between;padding-bottom:10px}.actions{text-align:end}.actions .mdc-fab:first-child{margin-right:10px}.hide{display:none}\n"], dependencies: [{ kind: "component", type: ColorPickerComponent, selector: "app-nod-color-picker", inputs: ["color", "icon", "isDisabled", "palette"], outputs: ["colorChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: FontComponent, selector: "app-nod-font", inputs: ["isDisabled", "styles"], outputs: ["selectFont"] }, { kind: "component", type: FontSizeComponent, selector: "app-nod-font-size", inputs: ["isDisabled", "fontSize"], outputs: ["selectFontSize"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i5.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i5.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
120
|
-
}
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextFormatMobileComponent, decorators: [{
|
|
122
|
-
type: Component,
|
|
123
|
-
args: [{ standalone: true, imports: [
|
|
124
|
-
ColorPickerComponent,
|
|
125
|
-
CommonModule,
|
|
126
|
-
FontComponent,
|
|
127
|
-
FontSizeComponent,
|
|
128
|
-
MatButtonModule,
|
|
129
|
-
MatButtonToggleModule,
|
|
130
|
-
MatIconModule,
|
|
131
|
-
TranslateModule
|
|
132
|
-
], selector: 'app-nod-text-format-mobile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"content\">\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.FONT' | translate }}</div>\n <div class=\"font\">\n <app-nod-font\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n <app-nod-font-size\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n </div>\n </div>\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.TEXT_STYLE' | translate }}</div>\n <div class=\"text-style-container\">\n <mat-button-toggle\n [checked]=\"styles.bold\"\n (click)=\"onToggleBold()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-bold\" />\n </mat-button-toggle>\n <mat-button-toggle\n [checked]=\"styles.italic\"\n (click)=\"onToggleItalic()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-italic\" />\n </mat-button-toggle>\n <mat-button-toggle\n [checked]=\"styles.underline\"\n (click)=\"onToggleUnderline()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-underlined\" />\n </mat-button-toggle>\n <app-nod-color-picker\n id=\"icon-format-colortext\"\n class=\"text-color\"\n icon=\"icon-format-colortext\"\n [color]=\"styles.fontColor\"\n [palette]=\"textColorPalette\"\n (colorChange)=\"onSelectFontColor($event)\" />\n <app-nod-color-picker\n id=\"icon-link-highlighter\"\n class=\"highlight-color\"\n icon=\"icon-link-highlighter\"\n [color]=\"styles.highlightColor\"\n [palette]=\"highlightColorPalette\"\n (colorChange)=\"onSelectHighlightColor($event)\" />\n </div>\n </div>\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.ALIGNMENT' | translate }}</div>\n <mat-button-toggle-group\n name=\"format\"\n [hideMultipleSelectionIndicator]=\"true\"\n [hideSingleSelectionIndicator]=\"true\"\n [value]=\"styles.alignment\"\n (change)=\"onApplyAlignment($event.value)\">\n <mat-button-toggle [value]=\"alignments.Left\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-alignleft\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle [value]=\"alignments.Center\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-aligncenter\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle [value]=\"alignments.Right\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-alignright\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle\n class=\"hide\"\n [value]=\"alignments.Justify\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-align\"></mat-icon>\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.BULLETED_AND_NUMBERED_LIST' | translate }}</div>\n <div class=\"numbering-container\">\n <div class=\"numbering-line\">\n <div\n class=\"empty-numbering\"\n [class.selected]=\"selectedNumberingTemplate === null\"\n (click)=\"selectedNumberingTemplate = null\">\n {{ 'NODER.LABEL.NONE' | translate }}\n </div>\n <mat-icon\n svgIcon=\"marker-1\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList1\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList1\" />\n <mat-icon\n svgIcon=\"marker-2\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList2\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList2\" />\n <mat-icon\n svgIcon=\"marker-3\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList3\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList3\" />\n </div>\n <div class=\"numbering-line\">\n <mat-icon\n svgIcon=\"marker-4\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList4\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList4\" />\n <mat-icon\n svgIcon=\"marker-5\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList5\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList5\" />\n <mat-icon\n svgIcon=\"marker-6\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList6\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList6\" />\n <mat-icon\n svgIcon=\"number-1\"\n class=\"list-number\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList1\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.NumberList1\" />\n </div>\n </div>\n </div>\n</div>\n<div class=\"actions\">\n <button\n mat-mini-fab\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n </button>\n <button\n mat-mini-fab\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:100%;height:100%;padding:30px;justify-content:space-between;overflow:hidden}.content-container{padding-bottom:30px}.title{font-size:16px;font-weight:500;padding-bottom:10px}.font{display:flex;justify-content:space-between}.numbering-container{display:flex;flex-direction:column}.numbering-container .mat-icon{width:102px;height:120px;border-width:1px;border-style:solid}app-nod-font{width:65%}app-nod-font ::ng-deep .mat-mdc-button{height:48px;width:100%}app-nod-font ::ng-deep .mat-mdc-button .mdc-button__label{width:100%}app-nod-font ::ng-deep .mat-mdc-button .font-menu span{padding-left:5px}app-nod-font ::ng-deep .mat-mdc-button .mat-icon{margin:0}app-nod-font-size{display:flex;align-items:center;width:30%;border:1px solid;border-radius:4px;margin:0}app-nod-font-size ::ng-deep .mdc-button.mat-mdc-button{border:none}app-nod-font-size ::ng-deep input{flex:1}mat-button-toggle-group{display:flex;justify-content:space-between;border:none;box-shadow:none}mat-button-toggle-group .mat-button-toggle{width:102px;height:48px;border:none}.text-style-container{display:flex;justify-content:space-between}.text-style-container ::ng-deep .mdc-button.mat-mdc-button{border:none}.text-style-container ::ng-deep .mat-button-toggle,.text-style-container ::ng-deep .mat-mdc-button{width:80px;height:48px;margin:0;border:none}.empty-numbering{display:flex;justify-content:center;align-items:center;text-transform:uppercase;font-size:13;font-weight:400;border-width:1px;border-style:solid;width:102px;height:120px}.numbering-line{display:flex;flex-direction:row;justify-content:space-between;padding-bottom:10px}.actions{text-align:end}.actions .mdc-fab:first-child{margin-right:10px}.hide{display:none}\n"] }]
|
|
133
|
-
}], ctorParameters: () => [{ type: i1.CustomIconService }, { type: i2.EditorService }, { type: i3.ToolbarCoreService }] });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1mb3JtYXQtbW9iaWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvdGV4dC1mb3JtYXQtbW9iaWxlL3RleHQtZm9ybWF0LW1vYmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL3RleHQtZm9ybWF0LW1vYmlsZS90ZXh0LWZvcm1hdC1tb2JpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBRWhILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXBHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN6RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUV2RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUs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QUFDO1FBRTFHLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixPQUFPO1NBQ1Y7UUFFRCxRQUFRLENBQUMsS0FBSzthQUNULElBQUksQ0FBQyxVQUFVLENBQUM7YUFDaEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdkMsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNSLCtCQUErQjtRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBcUI7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQy9DLENBQUM7K0dBbkhRLHlCQUF5QjttR0FBekIseUJBQXlCLHNGQ3ZDdEMsNjhNQWlKQSwwd0REeEhRLG9CQUFvQiw4SUFDcEIsWUFBWSwrQkFDWixhQUFhLG9IQUNiLGlCQUFpQiw4SEFDakIsZUFBZSwySUFDZixxQkFBcUIsd2xCQUNyQixhQUFhLG1MQUNiLGVBQWU7OzRGQU9WLHlCQUF5QjtrQkFqQnJDLFNBQVM7aUNBQ00sSUFBSSxXQUNQO3dCQUNMLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsZUFBZTtxQkFDbEIsWUFDUyw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgQWxpZ25tZW50IH0gZnJvbSAnLi4vLi4vYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9zaGFyZWQvZW51bXMvYWxpZ25tZW50LmVudW0nO1xuaW1wb3J0IHsgQ29sb3JQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2J1dHRvbnMvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tSWNvblNlcnZpY2UgfSBmcm9tICcuLi9lZGl0b3ItdG9vbGJhci9zaGFyZWQvc2VydmljZXMvY3VzdG9tLWljb24uc2VydmljZSc7XG5pbXBvcnQgeyBERUZBVUxUX0ZPTlRfQ09MT1IsIERFRkFVTFRfRk9OVF9TSVpFIH0gZnJvbSAnLi4vLi4vZWRpdG9yL2NvbnRlbnQvY29uc3RhbnRzL2VkaXRvci5jb25zdCc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWRpdG9yL2ludGVyYWN0aW9uL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEZvbnRDb21wb25lbnQgfSBmcm9tICcuLi9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2J1dHRvbnMvZm9udC9mb250LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb250U2l6ZUNvbXBvbmVudCB9IGZyb20gJy4uL2VkaXRvci10b29sYmFyL2NvbXBvbmVudHMvYnV0dG9ucy9mb250LXNpemUvZm9udC1zaXplLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJVG9vbGJhclN0eWxlcyB9IGZyb20gJy4uLy4uL2VkaXRvci9jb250ZW50L2Rpc3BsYXktZGF0YS90b29sYmFyLXN0eWxlcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTnVtYmVyaW5nVGVtcGxhdGVzIH0gZnJvbSAnLi4vZWRpdG9yLXRvb2xiYXIvc2hhcmVkL2NvbnN0YW50cy9udW1iZXJpbmctdGVtcGxhdGVzLmNvbnN0JztcbmltcG9ydCB7IE51bWJlcmluZ1RlbXBsYXRlVHlwZSB9IGZyb20gJy4uLy4uL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvc2hhcmVkL2VudW1zL251bWJlcmluZy10ZW1wbGF0ZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IFRleHRTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90ZXh0LXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJDb3JlU2VydmljZSB9IGZyb20gJy4uL2VkaXRvci10b29sYmFyL3NoYXJlZC9zZXJ2aWNlcy90b29sYmFyLWNvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBUb29sYmFyU3R5bGVzSGVscGVyIH0gZnJvbSAnLi4vZWRpdG9yLXRvb2xiYXIvc2hhcmVkL3Rvb2xiYXItc3R5bGVzLmhlbHBlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb2xvclBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb250Q29tcG9uZW50LFxuICAgICAgICBGb250U2l6ZUNvbXBvbmVudCxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZVxuICAgIF0sXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLXRleHQtZm9ybWF0LW1vYmlsZScsXG4gICAgdGVtcGxhdGVVcmw6ICd0ZXh0LWZvcm1hdC1tb2JpbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWyd0ZXh0LWZvcm1hdC1tb2JpbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0Rm9ybWF0TW9iaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzdHlsZXMhOiBJVG9vbGJhclN0eWxlcztcblxuICAgIHRleHRDb2xvclBhbGV0dGUgPSBbXG4gICAgICAgIERFRkFVTFRfRk9OVF9DT0xPUixcbiAgICAgICAgJyNiNjAyMDUnLFxuICAgICAgICAnI2Q5M2YwYicsXG4gICAgICAgICcjZmJjYTA0JyxcbiAgICAgICAgJyMwZThhMTYnLFxuICAgICAgICAnIzAwNmI3NScsXG4gICAgICAgICcjMWQ3NmRiJyxcbiAgICAgICAgJyMwMDUyY2MnLFxuICAgICAgICAnIzUzMTllNycsXG4gICAgICAgICcjZTk5Njk1JyxcbiAgICAgICAgJyNmOWQwYzQnLFxuICAgICAgICAnI2ZlZjJjMCcsXG4gICAgICAgICcjYzJlMGM2JyxcbiAgICAgICAgJyNiZmRhZGMnLFxuICAgICAgICAnI2M1ZGVmNScsXG4gICAgICAgICcjYmZkNGYyJyxcbiAgICAgICAgJyNkNGM1ZjknXG4gICAgXTtcblxuICAgIGhpZ2hsaWdodENvbG9yUGFsZXR0ZSA9IFsnbm9uZScsIC4uLnRoaXMudGV4dENvbG9yUGFsZXR0ZV07XG5cbiAgICByZWFkb25seSBhbGlnbm1lbnRzID0gQWxpZ25tZW50O1xuXG4gICAgbnVtYmVyaW5nVGVtcGxhdGVUeXBlID0gTnVtYmVyaW5nVGVtcGxhdGVUeXBlO1xuXG4gICAgc2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlIHwgbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGN1c3RvbUljb25TZXJ2aWNlOiBDdXN0b21JY29uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRvb2xiYXJDb3JlU2VydmljZTogVG9vbGJhckNvcmVTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc3R5bGVzID0gdGhpcy5lZGl0b3JTZXJ2aWNlLnN0eWxlcztcbiAgICAgICAgdGhpcy5jdXN0b21JY29uU2VydmljZS5yZWdpc3RlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPSBUb29sYmFyU3R5bGVzSGVscGVyLmdldE51bWJlcmluZ1RlbXBsYXRlVHlwZSh0aGlzLnN0eWxlcy5udW1iZXJpbmdMZXZlbHNTdHlsZXMpO1xuICAgIH1cblxuICAgIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9vbGJhckNvcmVTZXJ2aWNlLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgb25BcHBseSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGV4dFN0eWxlcyA9IG5ldyBUZXh0U3R5bGVNb2RlbCh0aGlzLnN0eWxlcyk7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zZXRUZXh0U3R5bGVzKHRleHRTdHlsZXMpO1xuICAgICAgICBjb25zdCBwYXJhZ3JhcGhTdHlsZXMgPSBuZXcgUGFyYWdyYXBoU3R5bGVNb2RlbCh7IGFsaWdubWVudDogdGhpcy5zdHlsZXMuYWxpZ25tZW50IH0pO1xuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2V0UGFyYWdyYXBoU3R5bGVzKHBhcmFncmFwaFN0eWxlcyk7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXBsYXRlTGV2ZWxzID0gTnVtYmVyaW5nVGVtcGxhdGVzLmZpbmQoeCA9PiB4LnRlbXBsYXRlVHlwZSA9PT0gdGhpcy5zZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlKS5sZXZlbHM7XG4gICAgICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2V0TnVtYmVyaW5nVGVtcGxhdGVUeXBlKHRlbXBsYXRlTGV2ZWxzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5yZW1vdmVOdW1iZXJpbmdzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b29sYmFyQ29yZVNlcnZpY2UucmVzZXQoKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5Rm9udEZhbWlseShmb250OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKG5ldyBUZXh0U3R5bGVNb2RlbCh7IGZvbnRGYW1pbHk6IGZvbnQgfSkpO1xuICAgIH1cblxuICAgIG9uQXBwbHlGb250U2l6ZShzaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKG5ldyBUZXh0U3R5bGVNb2RlbCh7IGZvbnRTaXplOiBzaXplIH0pKTtcbiAgICB9XG5cbiAgICBvblRvZ2dsZUJvbGQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tGb250TG9hZGVkQW5kQXBwbHlTdHlsZShuZXcgVGV4dFN0eWxlTW9kZWwoeyBib2xkOiAhdGhpcy5zdHlsZXMuYm9sZCB9KSk7XG4gICAgfVxuXG4gICAgb25Ub2dnbGVJdGFsaWMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tGb250TG9hZGVkQW5kQXBwbHlTdHlsZShuZXcgVGV4dFN0eWxlTW9kZWwoeyBpdGFsaWM6ICF0aGlzLnN0eWxlcy5pdGFsaWMgfSkpO1xuICAgIH1cblxuICAgIG9uVG9nZ2xlVW5kZXJsaW5lKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0eWxlcy51bmRlcmxpbmUgPSAhdGhpcy5zdHlsZXMudW5kZXJsaW5lO1xuICAgIH1cblxuICAgIG9uU2VsZWN0Rm9udENvbG9yKGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdHlsZXMuZm9udENvbG9yID0gY29sb3I7XG4gICAgfVxuXG4gICAgb25TZWxlY3RIaWdobGlnaHRDb2xvcihjb2xvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3R5bGVzLmhpZ2hsaWdodENvbG9yID0gY29sb3I7XG4gICAgfVxuXG4gICAgb25BcHBseUFsaWdubWVudChhbGlnbm1lbnQ6IEFsaWdubWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0eWxlcy5hbGlnbm1lbnQgPSBhbGlnbm1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKHN0eWxlOiBUZXh0U3R5bGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdTdHlsZXMgPSB7IC4uLnRoaXMuc3R5bGVzLCAuLi5zdHlsZSB9O1xuICAgICAgICBjb25zdCBpdGFsaWMgPSBuZXdTdHlsZXMuaXRhbGljID8gJ2l0YWxpYyAnIDogJyc7XG4gICAgICAgIGNvbnN0IGJvbGQgPSBuZXdTdHlsZXMuYm9sZCA/ICdib2xkICcgOiAnJztcbiAgICAgICAgY29uc3QgZm9udFN0eWxlcyA9IGAke2l0YWxpY30ke2JvbGR9JHtuZXdTdHlsZXMuZm9udFNpemUgPz8gREVGQVVMVF9GT05UX1NJWkV9cHQgJHtuZXdTdHlsZXMuZm9udEZhbWlseX1gO1xuXG4gICAgICAgIGlmIChkb2N1bWVudC5mb250cy5jaGVjayhmb250U3R5bGVzKSkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VUZXh0U3R5bGUoc3R5bGUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZG9jdW1lbnQuZm9udHNcbiAgICAgICAgICAgIC5sb2FkKGZvbnRTdHlsZXMpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB0aGlzLmNoYW5nZVRleHRTdHlsZShzdHlsZSkpXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGNvbnRpbnVlIHJlZ2FyZGxlc3Mgb2YgZXJyb3JcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlVGV4dFN0eWxlKHN0eWxlOiBUZXh0U3R5bGVNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0eWxlcyA9IHsgLi4udGhpcy5zdHlsZXMsIC4uLnN0eWxlIH07XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgJ05PREVSLkxBQkVMLkZPTlQnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb250XCI+XG4gICAgICAgICAgICA8YXBwLW5vZC1mb250XG4gICAgICAgICAgICAgICAgW3N0eWxlc109XCJzdHlsZXNcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RGb250KT1cIm9uQXBwbHlGb250RmFtaWx5KCRldmVudClcIiAvPlxuICAgICAgICAgICAgPGFwcC1ub2QtZm9udC1zaXplXG4gICAgICAgICAgICAgICAgW2ZvbnRTaXplXT1cInN0eWxlcy5mb250U2l6ZVwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdEZvbnRTaXplKT1cIm9uQXBwbHlGb250U2l6ZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7ICdOT0RFUi5MQUJFTC5URVhUX1NUWUxFJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdHlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZVxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInN0eWxlcy5ib2xkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVCb2xkKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBmb250SWNvbj1cImljb24tZm9ybWF0LWJvbGRcIiAvPlxuICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZVxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInN0eWxlcy5pdGFsaWNcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZUl0YWxpYygpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLWZvcm1hdC1pdGFsaWNcIiAvPlxuICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZVxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInN0eWxlcy51bmRlcmxpbmVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZVVuZGVybGluZSgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLWZvcm1hdC11bmRlcmxpbmVkXCIgLz5cbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICA8YXBwLW5vZC1jb2xvci1waWNrZXJcbiAgICAgICAgICAgICAgICBpZD1cImljb24tZm9ybWF0LWNvbG9ydGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWNvbG9yXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiaWNvbi1mb3JtYXQtY29sb3J0ZXh0XCJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwic3R5bGVzLmZvbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgW3BhbGV0dGVdPVwidGV4dENvbG9yUGFsZXR0ZVwiXG4gICAgICAgICAgICAgICAgKGNvbG9yQ2hhbmdlKT1cIm9uU2VsZWN0Rm9udENvbG9yKCRldmVudClcIiAvPlxuICAgICAgICAgICAgPGFwcC1ub2QtY29sb3ItcGlja2VyXG4gICAgICAgICAgICAgICAgaWQ9XCJpY29uLWxpbmstaGlnaGxpZ2h0ZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaGlnaGxpZ2h0LWNvbG9yXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiaWNvbi1saW5rLWhpZ2hsaWdodGVyXCJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwic3R5bGVzLmhpZ2hsaWdodENvbG9yXCJcbiAgICAgICAgICAgICAgICBbcGFsZXR0ZV09XCJoaWdobGlnaHRDb2xvclBhbGV0dGVcIlxuICAgICAgICAgICAgICAgIChjb2xvckNoYW5nZSk9XCJvblNlbGVjdEhpZ2hsaWdodENvbG9yKCRldmVudClcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgJ05PREVSLkxBQkVMLkFMSUdOTUVOVCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwXG4gICAgICAgICAgICBuYW1lPVwiZm9ybWF0XCJcbiAgICAgICAgICAgIFtoaWRlTXVsdGlwbGVTZWxlY3Rpb25JbmRpY2F0b3JdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvcl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJzdHlsZXMuYWxpZ25tZW50XCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25BcHBseUFsaWdubWVudCgkZXZlbnQudmFsdWUpXCI+XG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cImFsaWdubWVudHMuTGVmdFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1mb3JtYXQtYWxpZ25sZWZ0XCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cImFsaWdubWVudHMuQ2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLWZvcm1hdC1hbGlnbmNlbnRlclwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJhbGlnbm1lbnRzLlJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLWZvcm1hdC1hbGlnbnJpZ2h0XCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGVcbiAgICAgICAgICAgICAgICBjbGFzcz1cImhpZGVcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJhbGlnbm1lbnRzLkp1c3RpZnlcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBmb250SWNvbj1cImljb24tZm9ybWF0LWFsaWduXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7ICdOT0RFUi5MQUJFTC5CVUxMRVRFRF9BTkRfTlVNQkVSRURfTElTVCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm51bWJlcmluZy1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJudW1iZXJpbmctbGluZVwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlbXB0eS1udW1iZXJpbmdcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9PT0gbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID0gbnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyAnTk9ERVIuTEFCRUwuTk9ORScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgc3ZnSWNvbj1cIm1hcmtlci0xXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPT09IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0MVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID0gbnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QxXCIgLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgc3ZnSWNvbj1cIm1hcmtlci0yXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPT09IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0MlwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID0gbnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QyXCIgLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgc3ZnSWNvbj1cIm1hcmtlci0zXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPT09IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0M1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID0gbnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QzXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm51bWJlcmluZy1saW5lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIHN2Z0ljb249XCJtYXJrZXItNFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID09PSBudW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NFwiIC8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIHN2Z0ljb249XCJtYXJrZXItNVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID09PSBudW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NVwiIC8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIHN2Z0ljb249XCJtYXJrZXItNlwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID09PSBudW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDZcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NlwiIC8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIHN2Z0ljb249XCJudW1iZXItMVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGlzdC1udW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9PT0gbnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3QxXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPSBudW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDFcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1pbmktZmFiXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tY2FuY2VsLXRoaW5cIiAvPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1pbmktZmFiXG4gICAgICAgIChjbGljayk9XCJvbkFwcGx5KClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tZG9uZS10aGluXCIgLz5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|