@acorex/components 19.15.0-next.6 → 19.15.0-next.7
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/button/lib/button-item-list.component.d.ts +2 -2
- package/conversation/lib/conversation-input/conversation-input.component.d.ts +2 -0
- package/decorators/lib/components/close-button/close-button.component.d.ts +2 -2
- package/dropdown-button/lib/dropdown-button.component.d.ts +2 -2
- package/fesm2022/acorex-components-action-sheet.mjs +15 -13
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +15 -9
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +9 -8
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +10 -10
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +13 -12
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +9 -9
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +13 -13
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +13 -13
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +13 -12
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +18 -18
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +18 -14
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +10 -8
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +9 -9
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +9 -9
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +14 -12
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +7 -7
- package/fesm2022/acorex-components-color-palette.mjs +36 -26
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +37 -36
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +80 -63
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +57 -53
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +74 -36
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +59 -39
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +7 -7
- package/fesm2022/acorex-components-datetime-input.mjs +7 -7
- package/fesm2022/acorex-components-datetime-picker.mjs +7 -7
- package/fesm2022/acorex-components-decorators.mjs +43 -34
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +21 -13
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +17 -17
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +12 -10
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +19 -17
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs +39 -31
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs +30 -20
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +20 -18
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +13 -12
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +43 -45
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +15 -9
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +9 -8
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +13 -12
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +15 -9
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +7 -7
- package/fesm2022/acorex-components-loading-dialog.mjs +12 -12
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +19 -19
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +12 -11
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +42 -41
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +41 -17
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-F9PZYNJ9.mjs → acorex-components-modal-acorex-components-modal-CJ3M9U7p.mjs} +24 -23
- package/fesm2022/acorex-components-modal-acorex-components-modal-CJ3M9U7p.mjs.map +1 -0
- package/fesm2022/acorex-components-modal-modal-content.component-Ef5XWxUb.mjs +216 -0
- package/fesm2022/acorex-components-modal-modal-content.component-Ef5XWxUb.mjs.map +1 -0
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +9 -9
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +18 -12
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +7 -7
- package/fesm2022/acorex-components-otp.mjs +20 -8
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-paint.mjs +31 -33
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +28 -18
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +9 -8
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +7 -7
- package/fesm2022/acorex-components-picker.mjs +18 -16
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +15 -9
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +18 -12
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +9 -9
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +10 -8
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +9 -9
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +10 -8
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +16 -16
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +10 -8
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +10 -8
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +28 -27
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +9 -9
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +9 -9
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +340 -279
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs +4 -4
- package/fesm2022/acorex-components-search-box.mjs +7 -7
- package/fesm2022/acorex-components-select-box.mjs +10 -10
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +7 -7
- package/fesm2022/acorex-components-side-menu.mjs +16 -16
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +9 -9
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +10 -8
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +17 -16
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +16 -16
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +14 -11
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +16 -15
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +7 -7
- package/fesm2022/acorex-components-tag.mjs +9 -9
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +7 -7
- package/fesm2022/acorex-components-text-box.mjs +10 -10
- package/fesm2022/acorex-components-time-duration.mjs +8 -10
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +13 -12
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +18 -12
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +9 -8
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +12 -12
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +20 -13
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +27 -27
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +9 -8
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +39 -41
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/package.json +9 -9
- package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts +5 -5
- package/scheduler/lib/scheduler.class.d.ts +36 -31
- package/scheduler/lib/scheduler.component.d.ts +55 -42
- package/scheduler/lib/scheduler.service.d.ts +15 -14
- package/scheduler/lib/views/agenda/scheduler-agenda-view.component.d.ts +14 -12
- package/scheduler/lib/views/day/scheduler-day-view.component.d.ts +19 -17
- package/scheduler/lib/views/month/scheduler-month-view.component.d.ts +17 -15
- package/scheduler/lib/views/timeline-day/scheduler-timeline-day-view.component.d.ts +17 -15
- package/scheduler/lib/views/timeline-month/scheduler-timeline-month-view.component.d.ts +15 -13
- package/scheduler/lib/views/timeline-multi-day/scheduler-timeline-multi-day-view.component.d.ts +15 -14
- package/scheduler/lib/views/week/scheduler-week-view.component.d.ts +19 -17
- package/tree-view/lib/tree-view.class.d.ts +1 -0
- package/tree-view/lib/tree-view.component.d.ts +4 -2
- package/fesm2022/acorex-components-modal-acorex-components-modal-F9PZYNJ9.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-modal-content.component-ktH_8bGp.mjs +0 -216
- package/fesm2022/acorex-components-modal-modal-content.component-ktH_8bGp.mjs.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-wysiwyg.mjs","sources":["../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg.service.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg.module.ts","../../../../packages/components/wysiwyg/src/acorex-components-wysiwyg.ts"],"sourcesContent":["import { AXWysiwyg } from '@acorex/cdk/wysiwyg';\nimport { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class AXWysiwygService {\n wysiwyg = signal<AXWysiwyg | null>(null);\n isEditorClean = signal(true);\n currentSelectedElemArray = signal<string[]>([]);\n currentSelectedElemList = signal<string>('');\n currentSelectedElemAlign = signal<string>('');\n}\n","import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport { AXWysiwyg } from '@acorex/cdk/wysiwyg';\nimport { isBrowser } from '@acorex/core/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n NgZone,\n OnDestroy,\n ViewEncapsulation,\n afterNextRender,\n effect,\n forwardRef,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { QuillDeltaToHtmlConverter } from 'quill-delta-to-html';\nimport { AXWysiwygService } from '../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-container',\n templateUrl: './wysiwyg-container.component.html',\n styleUrl: './wysiwyg-container.component.scss',\n inputs: ['look'],\n outputs: ['onValueChanged'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n AXWysiwygService,\n { provide: AXComponent, useExisting: AXWysiwygContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXWysiwygContainerComponent },\n { provide: AXClearableComponent, useExisting: AXWysiwygContainerComponent },\n { provide: AXValuableComponent, useExisting: AXWysiwygContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXWysiwygContainerComponent),\n multi: true,\n },\n ],\n})\nexport class AXWysiwygContainerComponent\n extends classes(MXInputBaseValueComponent<string>, MXLookComponent)\n implements OnDestroy\n{\n /** @ignore */\n protected service = inject(AXWysiwygService);\n\n /** @ignore */\n private zone = inject(NgZone);\n\n /** @ignore */\n protected quillChangeTriggered = signal(false);\n\n /** @ignore */\n protected ngModelChangeTriggered = signal(false);\n\n /**\n * Specifies the placeholder text.\n *\n */\n placeHolder = input<string>();\n\n protected isQuillLoaded = signal(false);\n\n #init = afterNextRender(() => {\n const view = this.getHostElement().querySelector('ax-wysiwyg-view') as HTMLElement;\n\n this.zone.runOutsideAngular(async () => {\n if (isBrowser()) {\n const newWysiwyg = new AXWysiwyg();\n\n await newWysiwyg.init(view);\n\n this.service.wysiwyg.set(newWysiwyg);\n this.isQuillLoaded.set(true);\n }\n });\n });\n\n #effect1 = effect(() => {\n if (!this.isQuillLoaded()) return;\n\n if (this.placeHolder()) {\n this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', this.placeHolder());\n } else {\n this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', 'Write Your Message ...');\n }\n });\n\n #effect2 = effect(() => {\n if (this.isQuillLoaded() && this.value) {\n this.service.wysiwyg().quillObj().root.innerHTML = this.value;\n }\n });\n\n #effect3 = effect(() => {\n if (this.isQuillLoaded()) {\n this.service.wysiwyg().quillObj().on('text-change', this.changeHandler.bind(this));\n this.service\n .wysiwyg()\n .quillObj()\n .on('selection-change', (range, oldRange) => {\n if (range && !oldRange) {\n this.emitOnFocusEvent();\n } else if (!range && oldRange) {\n this.emitOnBlurEvent();\n }\n });\n this.service.wysiwyg()?.quillObj().enable();\n }\n });\n\n /** @ignore */\n protected changeHandler() {\n if (this.ngModelChangeTriggered()) return;\n this.quillChangeTriggered.set(true);\n\n const value = this.service.wysiwyg()?.quillObj().root.innerHTML;\n if (value === '<p><br></p>' || !value) {\n this.commitValue(null);\n this.quillChangeTriggered.set(false);\n if (this.service.isEditorClean()) return;\n this.service.isEditorClean.set(true);\n } else {\n const delta = this.service.wysiwyg()?.quillObj().editor.delta.ops;\n const cfg = { inlineStyles: true };\n const converter = new QuillDeltaToHtmlConverter(delta, cfg);\n const html = converter.convert();\n this.commitValue(html, true);\n this.quillChangeTriggered.set(false);\n if (!this.service.isEditorClean()) return;\n this.service.isEditorClean.set(false);\n }\n }\n\n protected override internalValueChanged(value: any): void {\n if (!this.isQuillLoaded()) return;\n if (this.quillChangeTriggered()) return;\n\n this.ngModelChangeTriggered.set(true);\n this.service.wysiwyg().quillObj().root.innerHTML = value;\n this.ngModelChangeTriggered.set(false);\n }\n\n /** @ignore */\n override ngOnDestroy(): void {\n this.service.wysiwyg()?.quillObj().off('text-change', this.changeHandler);\n }\n\n override focus() {\n this.service.wysiwyg().focus();\n }\n\n override blur() {\n this.service.wysiwyg().blur();\n }\n}\n","<div class=\"ax-editor-container ax-{{ look }}\">\n <ng-content></ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n","import { AXPlacement } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXPopoverCloseTrigger, AXPopoverComponent, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, effect, inject, signal } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-alignment',\n templateUrl: './wysiwyg-alignment.component.html',\n styleUrl: './wysiwyg-alignment.component.scss',\n imports: [AXButtonComponent, AXDecoratorIconComponent, AXPopoverComponent],\n})\nexport class AXWysiwygAlignmentComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected alignState = signal('');\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (!this.service.wysiwyg()) return;\n switch (this.service.currentSelectedElemAlign()) {\n case 'ql-align-center':\n this.alignState.set('center');\n this.service.wysiwyg().align('center');\n break;\n case 'ql-align-right':\n this.alignState.set('right');\n this.service.wysiwyg().align('right');\n break;\n default:\n this.alignState.set('left');\n this.service.wysiwyg().align('left');\n }\n });\n }\n\n /** @ignore */\n protected alignStateHandler(e: any) {\n this.alignState.set(e);\n this.service.wysiwyg().align(e);\n }\n}\n","<ax-button look=\"blank\" #alignPop>\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n</ax-button>\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane ax-alignment-container\">\n <ax-button\n (click)=\"alignStateHandler('left')\"\n look=\"blank\"\n [selected]=\"alignState() === 'left' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"alignStateHandler('center')\"\n look=\"blank\"\n [selected]=\"alignState() === 'center' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-center\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"alignStateHandler('right')\"\n look=\"blank\"\n [selected]=\"alignState() === 'right' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-right\"></ax-icon>\n </ax-button>\n </div>\n</ax-popover>\n","import { AXPlacement } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport {\n AXColorPaletteInputComponent,\n AXColorPalettePickerComponent,\n AXColorPalettePreviewComponent,\n AXColorPalleteComponent,\n} from '@acorex/components/color-palette';\nimport { AXDecoratorColorIndicatorComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXPopoverCloseTrigger, AXPopoverComponent, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, ViewEncapsulation, effect, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-colors',\n templateUrl: './wysiwyg-colors.component.html',\n styleUrl: './wysiwyg-colors.component.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXButtonComponent,\n AXDecoratorIconComponent,\n AXDecoratorColorIndicatorComponent,\n AXPopoverComponent,\n AXColorPalleteComponent,\n FormsModule,\n AXColorPalettePreviewComponent,\n AXColorPalettePickerComponent,\n AXColorPaletteInputComponent,\n ],\n})\nexport class AXWysiwygColorsComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected selectedColor = signal('rgb(151, 148, 148)');\n\n /** @ignore */\n protected selectedHighlightColor = signal('rgba(223, 223, 24, 0.5)');\n\n /** @ignore */\n protected userInteractColor = signal(false);\n\n /** @ignore */\n protected userInteractHighligh = signal(false);\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (this.service.isEditorClean()) {\n this.selectedHighlightColor.set('rgba(223, 223, 24, 0.5)');\n this.selectedColor.set('rgb(151, 148, 148)');\n }\n });\n }\n\n /** @ignore */\n protected changeColorHandler(e: string) {\n if (!this.userInteractColor()) return;\n this.selectedColor.set(e);\n this.service.wysiwyg().color(e);\n }\n\n /** @ignore */\n protected changeHighlightColorHandler(e: string) {\n if (!this.userInteractHighligh()) return;\n this.selectedHighlightColor.set(e);\n this.service.wysiwyg().background(e);\n }\n\n /** @ignore */\n protected initialHighlightHandler() {\n if (this.userInteractHighligh()) return;\n this.userInteractHighligh.set(true);\n this.service.wysiwyg().background('rgba(223, 223, 24, 0.5)');\n }\n\n /** @ignore */\n protected initialColorHandler() {\n if (this.userInteractColor()) return;\n this.userInteractColor.set(true);\n this.service.wysiwyg().color('rgb(151, 148, 148)');\n }\n}\n","<div class=\"ax-color-picker-wysiwyg-container\">\n <div (click)=\"initialColorHandler()\">\n <ax-button #colorBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n </ax-button>\n <ax-color-indicator [previewColor]=\"selectedColor()\"></ax-color-indicator>\n </div>\n\n <div (click)=\"initialHighlightHandler()\">\n <ax-button #highlightBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n <ax-color-indicator [previewColor]=\"selectedHighlightColor()\"></ax-color-indicator>\n </div>\n</div>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"highlightBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeHighlightColorHandler($event)\" [ngModel]=\"selectedHighlightColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { Component, effect, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXWysiwygContainerComponent } from '../../wysiwyg-container/wysiwyg-container.component';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-font-style',\n templateUrl: './wysiwyg-font-style.component.html',\n styleUrl: './wysiwyg-font-style.component.scss',\n imports: [AXButtonComponent, AXDecoratorIconComponent, AXSelectBoxComponent, FormsModule],\n})\nexport class AXWysiwygFontStyleComponent {\n /** @ignore */\n parent = inject(AXWysiwygContainerComponent);\n\n /** @ignore */\n protected boldState = signal(false);\n\n /** @ignore */\n protected italicState = signal(false);\n\n /** @ignore */\n protected underLineState = signal(false);\n\n /** @ignore */\n protected strikeLineState = signal(false);\n\n /** @ignore */\n protected selectedFont = signal('medium');\n\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (!this.service.wysiwyg()) return;\n this.service.currentSelectedElemArray().forEach((item) => {\n switch (item) {\n case 'U':\n this.service.wysiwyg().underLine(true);\n this.underLineState.set(true);\n break;\n case 'S':\n this.service.wysiwyg().strike(true);\n this.strikeLineState.set(true);\n break;\n case 'EM':\n this.service.wysiwyg().italic(true);\n this.italicState.set(true);\n break;\n case 'STRONG':\n this.service.wysiwyg().bold(true);\n this.boldState.set(true);\n break;\n\n default:\n if (this.boldState()) this.service.wysiwyg().bold(true);\n if (this.italicState()) this.service.wysiwyg().italic(true);\n if (this.strikeLineState()) this.service.wysiwyg().strike(true);\n if (this.underLineState()) this.service.wysiwyg().underLine(true);\n }\n });\n });\n }\n\n /** @ignore */\n protected bold() {\n if (this.boldState()) {\n this.service.wysiwyg().bold(false);\n this.boldState.set(false);\n } else {\n this.service.wysiwyg().bold(true);\n this.boldState.set(true);\n }\n }\n\n /** @ignore */\n protected italic() {\n if (this.italicState()) {\n this.service.wysiwyg().italic(false);\n this.italicState.set(false);\n } else {\n this.service.wysiwyg().italic(true);\n this.italicState.set(true);\n }\n }\n\n /** @ignore */\n protected underLine() {\n if (this.underLineState()) {\n this.service.wysiwyg().underLine(false);\n this.underLineState.set(false);\n } else {\n this.service.wysiwyg().underLine(true);\n this.underLineState.set(true);\n }\n }\n\n /** @ignore */\n protected strike() {\n if (this.strikeLineState()) {\n this.service.wysiwyg().strike(false);\n this.strikeLineState.set(false);\n } else {\n this.service.wysiwyg().strike(true);\n this.strikeLineState.set(true);\n }\n }\n\n /** @ignore */\n protected fontSizeHandler(e: 'medium' | 'small' | 'large' | 'huge') {\n const range = this.service.wysiwyg()?.quillObj().getSelection();\n if (!range?.length) return;\n\n if (e === 'medium') {\n this.service.wysiwyg().fontSize(false, range);\n this.selectedFont.set('medium');\n } else {\n this.service.wysiwyg().fontSize(e, range);\n this.selectedFont.set(e);\n }\n }\n}\n","<div class=\"ax-wysiwyg-font-style-container\">\n <ax-button (click)=\"bold()\" look=\"blank\" [selected]=\"boldState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-bold\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"italic()\" look=\"blank\" [selected]=\"italicState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-italic\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"underLine()\" look=\"blank\" [selected]=\"underLineState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-under-line\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"strike()\" look=\"blank\" [selected]=\"strikeLineState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-strike\"></ax-icon>\n </ax-button>\n\n <ax-select-box\n [look]=\"this.parent.look\"\n (ngModelChange)=\"fontSizeHandler($event)\"\n [ngModel]=\"selectedFont()\"\n [dataSource]=\"['small', 'medium', 'large', 'huge']\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n</div>\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-history',\n templateUrl: './wysiwyg-history.component.html',\n styleUrl: './wysiwyg-history.component.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXDecoratorIconComponent],\n})\nexport class AXWysiwygHistoryComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected undo() {\n this.service.wysiwyg().undo();\n }\n\n /** @ignore */\n protected redo() {\n this.service.wysiwyg().redo();\n }\n}\n","<ax-button (click)=\"undo()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-button (click)=\"redo()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-redo\"></ax-icon>\n</ax-button>\n","import { AXPlacement } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXPopoverCloseTrigger, AXPopoverComponent, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-insert',\n templateUrl: './wysiwyg-insert.component.html',\n styleUrl: './wysiwyg-insert.component.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXButtonComponent,\n AXDecoratorIconComponent,\n AXPopoverComponent,\n AXTextBoxComponent,\n FormsModule,\n AXDecoratorGenericComponent,\n ],\n})\nexport class AXWysiwygInsertComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n textBoxOptions = {\n text: '',\n placeholder: 'Enter yor url ...',\n size: 'ax-sm',\n };\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n protected submitLink() {\n this.service.wysiwyg().addImage(this.textBoxOptions.text);\n }\n}\n","<ax-button #linkBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-image\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"linkBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane ax-insert-container\">\n <ax-text-box\n class=\"{{ textBoxOptions.size }}\"\n [(ngModel)]=\"textBoxOptions.text\"\n [placeholder]=\"textBoxOptions.placeholder\"\n >\n <ax-suffix>\n <ax-button (click)=\"submitLink()\" color=\"secondary\" text=\"Add\"> </ax-button>\n </ax-suffix>\n </ax-text-box>\n </div>\n</ax-popover>\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-list',\n templateUrl: './wysiwyg-list.component.html',\n styleUrl: './wysiwyg-list.component.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXDecoratorIconComponent],\n})\nexport class AXWysiwygListComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected listState = signal('');\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (!this.service.wysiwyg()) return;\n switch (this.service.currentSelectedElemList()) {\n case 'ordered':\n this.service.wysiwyg().list('ordered');\n this.listState.set('ordered');\n break;\n case 'bullet':\n this.service.wysiwyg().list('bullet');\n this.listState.set('bullet');\n break;\n default:\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n });\n }\n\n /** @ignore */\n protected orderList() {\n if (!this.listState() || this.listState() === 'bullet') {\n this.service.wysiwyg().list('ordered');\n this.listState.set('ordered');\n } else {\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n }\n\n /** @ignore */\n protected unOrderList() {\n if (!this.listState() || this.listState() === 'ordered') {\n this.service.wysiwyg().list('bullet');\n this.listState.set('bullet');\n } else {\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n }\n}\n","<ax-button (click)=\"orderList()\" look=\"blank\" [selected]=\"listState() === 'ordered' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-order-list\"></ax-icon>\n</ax-button>\n\n<ax-button (click)=\"unOrderList()\" look=\"blank\" [selected]=\"listState() === 'bullet' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-un-order-list\"></ax-icon>\n</ax-button>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXWysiwygService } from '../wysiwyg.service';\n\n/**\n * @category Components\n * A component for viewing WYSIWYG content.\n */\n@Component({\n selector: 'ax-wysiwyg-view',\n templateUrl: './wysiwyg-view.component.html',\n styleUrl: './wysiwyg-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXWysiwygViewComponent {\n classes = input<string>('', { alias: 'class' });\n\n /** @ignore */\n protected wysiwygService = inject(AXWysiwygService);\n\n @HostBinding('class')\n get __hostClass(): string {\n return `${this.classes()}`;\n }\n\n @HostListener('keydown.Backspace', ['$event'])\n protected onKeydownHandler(e: any) {\n if (e.target.firstChild.nodeName === 'P') {\n this.wysiwygService.currentSelectedElemList.set('');\n }\n }\n\n @HostListener('click', ['$event'])\n protected editorStateHandler(e: any) {\n this.wysiwygService.currentSelectedElemAlign.set(e.target.classList.value);\n this.wysiwygService.currentSelectedElemList.set(e.target.dataset.list);\n this.wysiwygService.currentSelectedElemArray.set([\n e.target.nodeName,\n e.target.parentElement.nodeName,\n e.target.parentElement.parentElement.nodeName,\n e.target.parentElement.parentElement.parentElement.nodeName,\n e.target.classList.value,\n ]);\n }\n}\n","\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXWysiwygContainerComponent } from './wysiwyg/wysiwyg-container/wysiwyg-container.component';\n\nimport { AXColorPaletteModule } from '@acorex/components/color-palette';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXWysiwygAlignmentComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component';\nimport { AXWysiwygColorsComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component';\nimport { AXWysiwygFontStyleComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component';\nimport { AXWysiwygHistoryComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component';\nimport { AXWysiwygInsertComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component';\nimport { AXWysiwygListComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component';\nimport { AXWysiwygViewComponent } from './wysiwyg/wysiwyg-view/wysiwyg-view.component';\n\nconst COMPONENT = [\n AXWysiwygContainerComponent,\n AXWysiwygViewComponent,\n AXWysiwygAlignmentComponent,\n AXWysiwygColorsComponent,\n AXWysiwygFontStyleComponent,\n AXWysiwygHistoryComponent,\n AXWysiwygInsertComponent,\n AXWysiwygListComponent,\n];\n\nconst MODULES = [\n AXButtonModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n FormsModule,\n AXColorPaletteModule,\n AXPopoverModule,\n AXTextBoxModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXWysiwygModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-wysiwyg.mjs","sources":["../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg.service.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg.module.ts","../../../../packages/components/wysiwyg/src/acorex-components-wysiwyg.ts"],"sourcesContent":["import { AXWysiwyg } from '@acorex/cdk/wysiwyg';\nimport { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class AXWysiwygService {\n wysiwyg = signal<AXWysiwyg | null>(null);\n isEditorClean = signal(true);\n currentSelectedElemArray = signal<string[]>([]);\n currentSelectedElemList = signal<string>('');\n currentSelectedElemAlign = signal<string>('');\n}\n","import {\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport { AXWysiwyg } from '@acorex/cdk/wysiwyg';\nimport { isBrowser } from '@acorex/core/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n NgZone,\n OnDestroy,\n ViewEncapsulation,\n afterNextRender,\n effect,\n forwardRef,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { QuillDeltaToHtmlConverter } from 'quill-delta-to-html';\nimport { AXWysiwygService } from '../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-container',\n templateUrl: './wysiwyg-container.component.html',\n styleUrl: './wysiwyg-container.component.scss',\n inputs: ['look'],\n outputs: ['onValueChanged'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n AXWysiwygService,\n { provide: AXComponent, useExisting: AXWysiwygContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXWysiwygContainerComponent },\n { provide: AXValuableComponent, useExisting: AXWysiwygContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXWysiwygContainerComponent),\n multi: true,\n },\n ],\n})\nexport class AXWysiwygContainerComponent\n extends classes(MXInputBaseValueComponent<string>, MXLookComponent)\n implements OnDestroy\n{\n /** @ignore */\n protected service = inject(AXWysiwygService);\n\n /** @ignore */\n private zone = inject(NgZone);\n\n /** @ignore */\n protected quillChangeTriggered = signal(false);\n\n /** @ignore */\n protected ngModelChangeTriggered = signal(false);\n\n /**\n * Specifies the placeholder text.\n *\n */\n placeHolder = input<string>();\n\n protected isQuillLoaded = signal(false);\n\n #init = afterNextRender(() => {\n const view = this.getHostElement().querySelector('ax-wysiwyg-view') as HTMLElement;\n\n this.zone.runOutsideAngular(async () => {\n if (isBrowser()) {\n const newWysiwyg = new AXWysiwyg();\n\n await newWysiwyg.init(view);\n\n this.service.wysiwyg.set(newWysiwyg);\n this.isQuillLoaded.set(true);\n }\n });\n });\n\n #effect1 = effect(() => {\n if (!this.isQuillLoaded()) return;\n\n if (this.placeHolder()) {\n this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', this.placeHolder());\n } else {\n this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', 'Write Your Message ...');\n }\n });\n\n #effect2 = effect(() => {\n if (this.isQuillLoaded() && this.value) {\n this.service.wysiwyg().quillObj().root.innerHTML = this.value;\n }\n });\n\n #effect3 = effect(() => {\n if (this.isQuillLoaded()) {\n this.service.wysiwyg().quillObj().on('text-change', this.changeHandler.bind(this));\n this.service\n .wysiwyg()\n .quillObj()\n .on('selection-change', (range, oldRange) => {\n if (range && !oldRange) {\n this.emitOnFocusEvent();\n } else if (!range && oldRange) {\n this.emitOnBlurEvent();\n }\n });\n this.service.wysiwyg()?.quillObj().enable();\n }\n });\n\n /** @ignore */\n protected changeHandler() {\n if (this.ngModelChangeTriggered()) return;\n this.quillChangeTriggered.set(true);\n\n const value = this.service.wysiwyg()?.quillObj().root.innerHTML;\n if (value === '<p><br></p>' || !value) {\n this.commitValue(null);\n this.quillChangeTriggered.set(false);\n if (this.service.isEditorClean()) return;\n this.service.isEditorClean.set(true);\n } else {\n const delta = this.service.wysiwyg()?.quillObj().editor.delta.ops;\n const cfg = { inlineStyles: true };\n const converter = new QuillDeltaToHtmlConverter(delta, cfg);\n const html = converter.convert();\n this.commitValue(html, true);\n this.quillChangeTriggered.set(false);\n if (!this.service.isEditorClean()) return;\n this.service.isEditorClean.set(false);\n }\n }\n\n protected override internalValueChanged(value: any): void {\n if (!this.isQuillLoaded()) return;\n if (this.quillChangeTriggered()) return;\n\n this.ngModelChangeTriggered.set(true);\n this.service.wysiwyg().quillObj().root.innerHTML = value;\n this.ngModelChangeTriggered.set(false);\n }\n\n /** @ignore */\n override ngOnDestroy(): void {\n this.service.wysiwyg()?.quillObj().off('text-change', this.changeHandler);\n }\n\n override focus() {\n this.service.wysiwyg().focus();\n }\n\n override blur() {\n this.service.wysiwyg().blur();\n }\n}\n","<div class=\"ax-editor-container ax-{{ look }}\">\n <ng-content></ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n","import { AXComponent, AXPlacement } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXPopoverCloseTrigger, AXPopoverComponent, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, effect, inject, signal } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-alignment',\n templateUrl: './wysiwyg-alignment.component.html',\n styleUrl: './wysiwyg-alignment.component.scss',\n imports: [AXButtonComponent, AXDecoratorIconComponent, AXPopoverComponent],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygAlignmentComponent }],\n})\nexport class AXWysiwygAlignmentComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected alignState = signal('');\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (!this.service.wysiwyg()) return;\n switch (this.service.currentSelectedElemAlign()) {\n case 'ql-align-center':\n this.alignState.set('center');\n this.service.wysiwyg().align('center');\n break;\n case 'ql-align-right':\n this.alignState.set('right');\n this.service.wysiwyg().align('right');\n break;\n default:\n this.alignState.set('left');\n this.service.wysiwyg().align('left');\n }\n });\n }\n\n /** @ignore */\n protected alignStateHandler(e: any) {\n this.alignState.set(e);\n this.service.wysiwyg().align(e);\n }\n}\n","<ax-button look=\"blank\" #alignPop>\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n</ax-button>\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane ax-alignment-container\">\n <ax-button\n (click)=\"alignStateHandler('left')\"\n look=\"blank\"\n [selected]=\"alignState() === 'left' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"alignStateHandler('center')\"\n look=\"blank\"\n [selected]=\"alignState() === 'center' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-center\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"alignStateHandler('right')\"\n look=\"blank\"\n [selected]=\"alignState() === 'right' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-right\"></ax-icon>\n </ax-button>\n </div>\n</ax-popover>\n","import { AXComponent, AXPlacement } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport {\n AXColorPaletteInputComponent,\n AXColorPalettePickerComponent,\n AXColorPalettePreviewComponent,\n AXColorPalleteComponent,\n} from '@acorex/components/color-palette';\nimport { AXDecoratorColorIndicatorComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXPopoverCloseTrigger, AXPopoverComponent, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, ViewEncapsulation, effect, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-colors',\n templateUrl: './wysiwyg-colors.component.html',\n styleUrl: './wysiwyg-colors.component.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXButtonComponent,\n AXDecoratorIconComponent,\n AXDecoratorColorIndicatorComponent,\n AXPopoverComponent,\n AXColorPalleteComponent,\n FormsModule,\n AXColorPalettePreviewComponent,\n AXColorPalettePickerComponent,\n AXColorPaletteInputComponent,\n ],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygColorsComponent }],\n})\nexport class AXWysiwygColorsComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected selectedColor = signal('rgb(151, 148, 148)');\n\n /** @ignore */\n protected selectedHighlightColor = signal('rgba(223, 223, 24, 0.5)');\n\n /** @ignore */\n protected userInteractColor = signal(false);\n\n /** @ignore */\n protected userInteractHighligh = signal(false);\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (this.service.isEditorClean()) {\n this.selectedHighlightColor.set('rgba(223, 223, 24, 0.5)');\n this.selectedColor.set('rgb(151, 148, 148)');\n }\n });\n }\n\n /** @ignore */\n protected changeColorHandler(e: string) {\n if (!this.userInteractColor()) return;\n this.selectedColor.set(e);\n this.service.wysiwyg().color(e);\n }\n\n /** @ignore */\n protected changeHighlightColorHandler(e: string) {\n if (!this.userInteractHighligh()) return;\n this.selectedHighlightColor.set(e);\n this.service.wysiwyg().background(e);\n }\n\n /** @ignore */\n protected initialHighlightHandler() {\n if (this.userInteractHighligh()) return;\n this.userInteractHighligh.set(true);\n this.service.wysiwyg().background('rgba(223, 223, 24, 0.5)');\n }\n\n /** @ignore */\n protected initialColorHandler() {\n if (this.userInteractColor()) return;\n this.userInteractColor.set(true);\n this.service.wysiwyg().color('rgb(151, 148, 148)');\n }\n}\n","<div class=\"ax-color-picker-wysiwyg-container\">\n <div (click)=\"initialColorHandler()\">\n <ax-button #colorBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n </ax-button>\n <ax-color-indicator [previewColor]=\"selectedColor()\"></ax-color-indicator>\n </div>\n\n <div (click)=\"initialHighlightHandler()\">\n <ax-button #highlightBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n <ax-color-indicator [previewColor]=\"selectedHighlightColor()\"></ax-color-indicator>\n </div>\n</div>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"highlightBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeHighlightColorHandler($event)\" [ngModel]=\"selectedHighlightColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { Component, effect, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXWysiwygContainerComponent } from '../../wysiwyg-container/wysiwyg-container.component';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-font-style',\n templateUrl: './wysiwyg-font-style.component.html',\n styleUrl: './wysiwyg-font-style.component.scss',\n imports: [AXButtonComponent, AXDecoratorIconComponent, AXSelectBoxComponent, FormsModule],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygFontStyleComponent }],\n})\nexport class AXWysiwygFontStyleComponent {\n /** @ignore */\n parent = inject(AXWysiwygContainerComponent);\n\n /** @ignore */\n protected boldState = signal(false);\n\n /** @ignore */\n protected italicState = signal(false);\n\n /** @ignore */\n protected underLineState = signal(false);\n\n /** @ignore */\n protected strikeLineState = signal(false);\n\n /** @ignore */\n protected selectedFont = signal('medium');\n\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (!this.service.wysiwyg()) return;\n this.service.currentSelectedElemArray().forEach((item) => {\n switch (item) {\n case 'U':\n this.service.wysiwyg().underLine(true);\n this.underLineState.set(true);\n break;\n case 'S':\n this.service.wysiwyg().strike(true);\n this.strikeLineState.set(true);\n break;\n case 'EM':\n this.service.wysiwyg().italic(true);\n this.italicState.set(true);\n break;\n case 'STRONG':\n this.service.wysiwyg().bold(true);\n this.boldState.set(true);\n break;\n\n default:\n if (this.boldState()) this.service.wysiwyg().bold(true);\n if (this.italicState()) this.service.wysiwyg().italic(true);\n if (this.strikeLineState()) this.service.wysiwyg().strike(true);\n if (this.underLineState()) this.service.wysiwyg().underLine(true);\n }\n });\n });\n }\n\n /** @ignore */\n protected bold() {\n if (this.boldState()) {\n this.service.wysiwyg().bold(false);\n this.boldState.set(false);\n } else {\n this.service.wysiwyg().bold(true);\n this.boldState.set(true);\n }\n }\n\n /** @ignore */\n protected italic() {\n if (this.italicState()) {\n this.service.wysiwyg().italic(false);\n this.italicState.set(false);\n } else {\n this.service.wysiwyg().italic(true);\n this.italicState.set(true);\n }\n }\n\n /** @ignore */\n protected underLine() {\n if (this.underLineState()) {\n this.service.wysiwyg().underLine(false);\n this.underLineState.set(false);\n } else {\n this.service.wysiwyg().underLine(true);\n this.underLineState.set(true);\n }\n }\n\n /** @ignore */\n protected strike() {\n if (this.strikeLineState()) {\n this.service.wysiwyg().strike(false);\n this.strikeLineState.set(false);\n } else {\n this.service.wysiwyg().strike(true);\n this.strikeLineState.set(true);\n }\n }\n\n /** @ignore */\n protected fontSizeHandler(e: 'medium' | 'small' | 'large' | 'huge') {\n const range = this.service.wysiwyg()?.quillObj().getSelection();\n if (!range?.length) return;\n\n if (e === 'medium') {\n this.service.wysiwyg().fontSize(false, range);\n this.selectedFont.set('medium');\n } else {\n this.service.wysiwyg().fontSize(e, range);\n this.selectedFont.set(e);\n }\n }\n}\n","<div class=\"ax-wysiwyg-font-style-container\">\n <ax-button (click)=\"bold()\" look=\"blank\" [selected]=\"boldState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-bold\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"italic()\" look=\"blank\" [selected]=\"italicState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-italic\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"underLine()\" look=\"blank\" [selected]=\"underLineState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-under-line\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"strike()\" look=\"blank\" [selected]=\"strikeLineState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-strike\"></ax-icon>\n </ax-button>\n\n <ax-select-box\n [look]=\"this.parent.look\"\n (ngModelChange)=\"fontSizeHandler($event)\"\n [ngModel]=\"selectedFont()\"\n [dataSource]=\"['small', 'medium', 'large', 'huge']\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-history',\n templateUrl: './wysiwyg-history.component.html',\n styleUrl: './wysiwyg-history.component.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXDecoratorIconComponent],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygHistoryComponent }],\n})\nexport class AXWysiwygHistoryComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected undo() {\n this.service.wysiwyg().undo();\n }\n\n /** @ignore */\n protected redo() {\n this.service.wysiwyg().redo();\n }\n}\n","<ax-button (click)=\"undo()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-button (click)=\"redo()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-redo\"></ax-icon>\n</ax-button>\n","import { AXComponent, AXPlacement } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXPopoverCloseTrigger, AXPopoverComponent, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-insert',\n templateUrl: './wysiwyg-insert.component.html',\n styleUrl: './wysiwyg-insert.component.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXButtonComponent,\n AXDecoratorIconComponent,\n AXPopoverComponent,\n AXTextBoxComponent,\n FormsModule,\n AXDecoratorGenericComponent,\n ],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygInsertComponent }],\n})\nexport class AXWysiwygInsertComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n textBoxOptions = {\n text: '',\n placeholder: 'Enter yor url ...',\n size: 'ax-sm',\n };\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n protected submitLink() {\n this.service.wysiwyg().addImage(this.textBoxOptions.text);\n }\n}\n","<ax-button #linkBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-image\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"linkBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane ax-insert-container\">\n <ax-text-box\n class=\"{{ textBoxOptions.size }}\"\n [(ngModel)]=\"textBoxOptions.text\"\n [placeholder]=\"textBoxOptions.placeholder\"\n >\n <ax-suffix>\n <ax-button (click)=\"submitLink()\" color=\"secondary\" text=\"Add\"> </ax-button>\n </ax-suffix>\n </ax-text-box>\n </div>\n</ax-popover>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-list',\n templateUrl: './wysiwyg-list.component.html',\n styleUrl: './wysiwyg-list.component.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXDecoratorIconComponent],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygListComponent }],\n})\nexport class AXWysiwygListComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected listState = signal('');\n\n /** @ignore */\n constructor() {\n effect(() => {\n if (!this.service.wysiwyg()) return;\n switch (this.service.currentSelectedElemList()) {\n case 'ordered':\n this.service.wysiwyg().list('ordered');\n this.listState.set('ordered');\n break;\n case 'bullet':\n this.service.wysiwyg().list('bullet');\n this.listState.set('bullet');\n break;\n default:\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n });\n }\n\n /** @ignore */\n protected orderList() {\n if (!this.listState() || this.listState() === 'bullet') {\n this.service.wysiwyg().list('ordered');\n this.listState.set('ordered');\n } else {\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n }\n\n /** @ignore */\n protected unOrderList() {\n if (!this.listState() || this.listState() === 'ordered') {\n this.service.wysiwyg().list('bullet');\n this.listState.set('bullet');\n } else {\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n }\n}\n","<ax-button (click)=\"orderList()\" look=\"blank\" [selected]=\"listState() === 'ordered' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-order-list\"></ax-icon>\n</ax-button>\n\n<ax-button (click)=\"unOrderList()\" look=\"blank\" [selected]=\"listState() === 'bullet' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-un-order-list\"></ax-icon>\n</ax-button>\n","import { AXComponent } from '@acorex/cdk/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXWysiwygService } from '../wysiwyg.service';\n\n/**\n * @category Components\n * A component for viewing WYSIWYG content.\n */\n@Component({\n selector: 'ax-wysiwyg-view',\n templateUrl: './wysiwyg-view.component.html',\n styleUrl: './wysiwyg-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygViewComponent }],\n})\nexport class AXWysiwygViewComponent {\n classes = input<string>('', { alias: 'class' });\n\n /** @ignore */\n protected wysiwygService = inject(AXWysiwygService);\n\n @HostBinding('class')\n get __hostClass(): string {\n return `${this.classes()}`;\n }\n\n @HostListener('keydown.Backspace', ['$event'])\n protected onKeydownHandler(e: any) {\n if (e.target.firstChild.nodeName === 'P') {\n this.wysiwygService.currentSelectedElemList.set('');\n }\n }\n\n @HostListener('click', ['$event'])\n protected editorStateHandler(e: any) {\n this.wysiwygService.currentSelectedElemAlign.set(e.target.classList.value);\n this.wysiwygService.currentSelectedElemList.set(e.target.dataset.list);\n this.wysiwygService.currentSelectedElemArray.set([\n e.target.nodeName,\n e.target.parentElement.nodeName,\n e.target.parentElement.parentElement.nodeName,\n e.target.parentElement.parentElement.parentElement.nodeName,\n e.target.classList.value,\n ]);\n }\n}\n","\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXWysiwygContainerComponent } from './wysiwyg/wysiwyg-container/wysiwyg-container.component';\n\nimport { AXColorPaletteModule } from '@acorex/components/color-palette';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXWysiwygAlignmentComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component';\nimport { AXWysiwygColorsComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component';\nimport { AXWysiwygFontStyleComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component';\nimport { AXWysiwygHistoryComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component';\nimport { AXWysiwygInsertComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component';\nimport { AXWysiwygListComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component';\nimport { AXWysiwygViewComponent } from './wysiwyg/wysiwyg-view/wysiwyg-view.component';\n\nconst COMPONENT = [\n AXWysiwygContainerComponent,\n AXWysiwygViewComponent,\n AXWysiwygAlignmentComponent,\n AXWysiwygColorsComponent,\n AXWysiwygFontStyleComponent,\n AXWysiwygHistoryComponent,\n AXWysiwygInsertComponent,\n AXWysiwygListComponent,\n];\n\nconst MODULES = [\n AXButtonModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n FormsModule,\n AXColorPaletteModule,\n AXPopoverModule,\n AXTextBoxModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXWysiwygModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@acorex/components",
|
3
|
-
"version": "19.15.0-next.
|
3
|
+
"version": "19.15.0-next.7",
|
4
4
|
"peerDependencies": {
|
5
5
|
"@angular/common": ">=19.0.0",
|
6
6
|
"@angular/core": ">=19.0.0",
|
@@ -33,14 +33,14 @@
|
|
33
33
|
"types": "./alert/index.d.ts",
|
34
34
|
"default": "./fesm2022/acorex-components-alert.mjs"
|
35
35
|
},
|
36
|
-
"./audio-wave": {
|
37
|
-
"types": "./audio-wave/index.d.ts",
|
38
|
-
"default": "./fesm2022/acorex-components-audio-wave.mjs"
|
39
|
-
},
|
40
36
|
"./autocomplete": {
|
41
37
|
"types": "./autocomplete/index.d.ts",
|
42
38
|
"default": "./fesm2022/acorex-components-autocomplete.mjs"
|
43
39
|
},
|
40
|
+
"./audio-wave": {
|
41
|
+
"types": "./audio-wave/index.d.ts",
|
42
|
+
"default": "./fesm2022/acorex-components-audio-wave.mjs"
|
43
|
+
},
|
44
44
|
"./avatar": {
|
45
45
|
"types": "./avatar/index.d.ts",
|
46
46
|
"default": "./fesm2022/acorex-components-avatar.mjs"
|
@@ -121,10 +121,6 @@
|
|
121
121
|
"types": "./datetime-input/index.d.ts",
|
122
122
|
"default": "./fesm2022/acorex-components-datetime-input.mjs"
|
123
123
|
},
|
124
|
-
"./datetime-picker": {
|
125
|
-
"types": "./datetime-picker/index.d.ts",
|
126
|
-
"default": "./fesm2022/acorex-components-datetime-picker.mjs"
|
127
|
-
},
|
128
124
|
"./decorators": {
|
129
125
|
"types": "./decorators/index.d.ts",
|
130
126
|
"default": "./fesm2022/acorex-components-decorators.mjs"
|
@@ -137,6 +133,10 @@
|
|
137
133
|
"types": "./drawer/index.d.ts",
|
138
134
|
"default": "./fesm2022/acorex-components-drawer.mjs"
|
139
135
|
},
|
136
|
+
"./datetime-picker": {
|
137
|
+
"types": "./datetime-picker/index.d.ts",
|
138
|
+
"default": "./fesm2022/acorex-components-datetime-picker.mjs"
|
139
|
+
},
|
140
140
|
"./dropdown": {
|
141
141
|
"types": "./dropdown/index.d.ts",
|
142
142
|
"default": "./fesm2022/acorex-components-dropdown.mjs"
|
package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts
CHANGED
@@ -13,23 +13,23 @@ export declare class AXPasswordStrengthValidationComponent {
|
|
13
13
|
readonly showUseLowerCase: import("@angular/core").InputSignal<boolean>;
|
14
14
|
readonly showUseNumber: import("@angular/core").InputSignal<boolean>;
|
15
15
|
readonly showUseSpecialCharacter: import("@angular/core").InputSignal<boolean>;
|
16
|
-
|
16
|
+
isLengthGraterThan8: import("@angular/core").WritableSignal<{
|
17
17
|
regex: RegExp;
|
18
18
|
state: boolean;
|
19
19
|
}>;
|
20
|
-
|
20
|
+
isUseUpperCase: import("@angular/core").WritableSignal<{
|
21
21
|
regex: RegExp;
|
22
22
|
state: boolean;
|
23
23
|
}>;
|
24
|
-
|
24
|
+
isUseLowerCase: import("@angular/core").WritableSignal<{
|
25
25
|
regex: RegExp;
|
26
26
|
state: boolean;
|
27
27
|
}>;
|
28
|
-
|
28
|
+
isUseNumber: import("@angular/core").WritableSignal<{
|
29
29
|
regex: RegExp;
|
30
30
|
state: boolean;
|
31
31
|
}>;
|
32
|
-
|
32
|
+
isUseSpecialCharacter: import("@angular/core").WritableSignal<{
|
33
33
|
regex: RegExp;
|
34
34
|
state: boolean;
|
35
35
|
}>;
|
@@ -1,70 +1,75 @@
|
|
1
|
-
import {
|
1
|
+
import { AXRange } from '@acorex/cdk/common';
|
2
2
|
import { AXDateTime } from '@acorex/core/date-time';
|
3
|
-
export type AXSchedulerView = 'day' | 'week' | 'month' | '
|
4
|
-
export type AXDayOfWeekName = '
|
3
|
+
export type AXSchedulerView = 'day' | 'week' | 'month' | 'timeline-day' | 'timeline-multi-day' | 'timeline-month' | 'agenda';
|
4
|
+
export type AXDayOfWeekName = 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday';
|
5
5
|
export type AXSchedulerBlockIdentifier = {
|
6
6
|
dayIndex: number;
|
7
7
|
blockIndex: number;
|
8
8
|
};
|
9
|
-
export type
|
10
|
-
|
9
|
+
export type AXSchedulerAppointment = {
|
10
|
+
id: any;
|
11
|
+
endDate: Date;
|
11
12
|
title?: string;
|
13
|
+
startDate: Date;
|
12
14
|
allDay?: boolean;
|
13
|
-
singleDay: boolean;
|
14
15
|
readonly?: boolean;
|
15
16
|
textColor?: string;
|
16
|
-
endDate: AXDateTime;
|
17
17
|
description?: string;
|
18
|
-
startDate: AXDateTime;
|
19
18
|
backgroundColor?: string;
|
20
19
|
};
|
21
|
-
|
20
|
+
/**
|
21
|
+
* Only used for internal scheduler
|
22
|
+
*/
|
23
|
+
export type AXSchedulerInternalAppointment = {
|
24
|
+
id: any;
|
25
|
+
title: string;
|
26
|
+
allDay: boolean;
|
27
|
+
readonly: boolean;
|
28
|
+
textColor: string;
|
29
|
+
description: string;
|
30
|
+
endDate: AXDateTime;
|
31
|
+
startDate: AXDateTime;
|
32
|
+
backgroundColor: string;
|
33
|
+
};
|
34
|
+
export type AXSchedulerAppointmentSegment = AXSchedulerInternalAppointment & {
|
22
35
|
isContinuationFromPreviousDay: boolean;
|
23
36
|
isContinuationToNextDay: boolean;
|
24
37
|
originalStartDate: AXDateTime;
|
25
38
|
originalEndDate: AXDateTime;
|
26
|
-
originalAppointmentRef?:
|
39
|
+
originalAppointmentRef?: AXSchedulerInternalAppointment;
|
27
40
|
};
|
28
41
|
export type AXSchedulerDayAppointmentLayout = {
|
29
42
|
columnIndex: number;
|
30
43
|
effectiveTotalColumns: number;
|
31
44
|
};
|
32
45
|
export type AXSchedulerBlockOccupancyMap = Map<string, any>;
|
33
|
-
export type AXSchedulerAppointmentsByStartBlock = Record<number, Record<number,
|
34
|
-
export type AXSchedulerActiveAppointmentsInBlock = Record<number, Record<number,
|
46
|
+
export type AXSchedulerAppointmentsByStartBlock = Record<number, Record<number, AXSchedulerAppointmentSegment[]>>;
|
47
|
+
export type AXSchedulerActiveAppointmentsInBlock = Record<number, Record<number, AXSchedulerAppointmentSegment[]>>;
|
35
48
|
export type AXSchedulerOverflowBadge = {
|
36
49
|
key: any;
|
37
50
|
count: number;
|
38
51
|
badgeTop: string;
|
39
52
|
badgeLeft: string;
|
40
53
|
};
|
41
|
-
export type AXSchedulerSlotEvent<T = MouseEvent> = {
|
42
|
-
event: T;
|
43
|
-
slot: {
|
44
|
-
endDate: AXDateTime;
|
45
|
-
startDate: AXDateTime;
|
46
|
-
view: AXSchedulerView;
|
47
|
-
};
|
48
|
-
};
|
49
|
-
export type AXSchedulerAppointmentEvent<T = MouseEvent> = {
|
50
|
-
event: T;
|
51
|
-
appointment: AXSchedulerAppointmentType;
|
52
|
-
};
|
53
54
|
export type AXSchedulerAllDaySlotData = {
|
54
55
|
day: AXDateTime;
|
55
|
-
appointments:
|
56
|
-
};
|
57
|
-
export type AXSchedulerSlotDropEvent = AXSchedulerSlotEvent<AXDropZoneDropEvent> & {
|
58
|
-
appointment: AXSchedulerAppointmentType;
|
56
|
+
appointments: AXSchedulerInternalAppointment[];
|
59
57
|
};
|
60
58
|
export type AXSchedulerAppointmentLayout = {
|
61
|
-
appointment:
|
59
|
+
appointment: AXSchedulerAppointmentSegment;
|
62
60
|
layoutLeft: string;
|
63
61
|
layoutWidth: string;
|
64
62
|
layoutTop: string;
|
65
63
|
layoutHeight: string;
|
66
64
|
};
|
67
|
-
export type
|
68
|
-
appointments:
|
65
|
+
export type AXSchedulerMultiDayViewAppointment = {
|
66
|
+
appointments: AXSchedulerInternalAppointment[];
|
69
67
|
date: AXDateTime;
|
70
68
|
};
|
69
|
+
export type AXSchedulerDateRange = AXRange<Date>;
|
70
|
+
export type AXSchedulerAppointmentDataSourceFilter = {
|
71
|
+
range: AXSchedulerDateRange;
|
72
|
+
};
|
73
|
+
export type AXSchedulerAppointmentLoader = (filter?: AXSchedulerAppointmentDataSourceFilter) => AXSchedulerAppointment[];
|
74
|
+
export type AXSchedulerAppointmentLoaderAsync = (filter?: AXSchedulerAppointmentDataSourceFilter) => Promise<AXSchedulerAppointment[]>;
|
75
|
+
export type AXSchedulerAppointmentDataSource = AXSchedulerAppointment[] | AXSchedulerAppointmentLoader | AXSchedulerAppointmentLoaderAsync;
|
@@ -1,9 +1,29 @@
|
|
1
|
-
import {
|
1
|
+
import { AXValueChangedEvent, NXComponent, NXEvent, NXNativeEvent } from '@acorex/cdk/common';
|
2
|
+
import { AXDropZoneDropEvent } from '@acorex/cdk/drag-drop';
|
2
3
|
import { AXDateTime } from '@acorex/core/date-time';
|
3
4
|
import { OnInit } from '@angular/core';
|
4
|
-
import { AXDayOfWeekName,
|
5
|
+
import { AXDayOfWeekName, AXSchedulerAppointment, AXSchedulerAppointmentDataSource, AXSchedulerDateRange, AXSchedulerInternalAppointment, AXSchedulerView } from './scheduler.class';
|
5
6
|
import * as i0 from "@angular/core";
|
6
|
-
export
|
7
|
+
export interface AXSchedulerAppointmentMouseEvent extends NXNativeEvent<AXSchedulerComponent, MouseEvent> {
|
8
|
+
appointment: AXSchedulerAppointment;
|
9
|
+
}
|
10
|
+
export interface AXSchedulerSlotMouseEvent extends NXNativeEvent<AXSchedulerComponent, MouseEvent> {
|
11
|
+
slot: {
|
12
|
+
endDate: AXDateTime;
|
13
|
+
startDate: AXDateTime;
|
14
|
+
view: AXSchedulerView;
|
15
|
+
};
|
16
|
+
}
|
17
|
+
export interface AXSchedulerSlotDropEvent extends NXEvent<AXSchedulerComponent> {
|
18
|
+
dropEvent: AXDropZoneDropEvent;
|
19
|
+
appointment: AXSchedulerAppointment;
|
20
|
+
slot: {
|
21
|
+
endDate: AXDateTime;
|
22
|
+
startDate: AXDateTime;
|
23
|
+
view: AXSchedulerView;
|
24
|
+
};
|
25
|
+
}
|
26
|
+
export declare class AXSchedulerComponent extends NXComponent implements OnInit {
|
7
27
|
#private;
|
8
28
|
private platformId;
|
9
29
|
private unsubscriber;
|
@@ -13,66 +33,59 @@ export declare class AXSchedulerComponent extends MXBaseComponent implements OnI
|
|
13
33
|
private schedulerService;
|
14
34
|
private translationService;
|
15
35
|
private viewModeSelectbox;
|
16
|
-
displayViews
|
36
|
+
private displayViews;
|
17
37
|
calendar: import("@angular/core").InputSignal<string>;
|
18
|
-
calendarType: import("@angular/core").WritableSignal<string>;
|
38
|
+
protected calendarType: import("@angular/core").WritableSignal<string>;
|
19
39
|
startingDate: import("@angular/core").InputSignal<Date>;
|
20
|
-
currentDate: import("@angular/core").WritableSignal<AXDateTime>;
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
40
|
+
protected currentDate: import("@angular/core").WritableSignal<AXDateTime>;
|
41
|
+
private _appointments;
|
42
|
+
appointments: import("@angular/core").Signal<AXSchedulerAppointment[]>;
|
43
|
+
protected rtl: import("@angular/core").WritableSignal<boolean>;
|
44
|
+
protected isFullScreen: import("@angular/core").WritableSignal<boolean>;
|
45
|
+
protected viewsDataSource: import("@angular/core").WritableSignal<{
|
25
46
|
id: string;
|
26
47
|
text: string;
|
27
48
|
}[]>;
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
49
|
+
private prevDate;
|
50
|
+
endDayHour: import("@angular/core").InputSignal<number>;
|
51
|
+
startDayHour: import("@angular/core").InputSignal<number>;
|
52
|
+
hasHeader: import("@angular/core").InputSignal<boolean>;
|
32
53
|
readonly: import("@angular/core").InputSignal<boolean>;
|
33
54
|
draggable: import("@angular/core").InputSignal<boolean>;
|
34
|
-
titleField: import("@angular/core").InputSignal<string>;
|
35
|
-
allDayField: import("@angular/core").InputSignal<string>;
|
36
55
|
allowFullScreen: import("@angular/core").InputSignal<boolean>;
|
37
|
-
endDateField: import("@angular/core").InputSignal<string>;
|
38
56
|
multiDayViewDaysCount: import("@angular/core").InputSignal<number>;
|
39
|
-
|
40
|
-
startDateField: import("@angular/core").InputSignal<string>;
|
41
|
-
textColorField: import("@angular/core").InputSignal<string>;
|
42
|
-
descriptionField: import("@angular/core").InputSignal<string>;
|
43
|
-
backgroundColorField: import("@angular/core").InputSignal<string>;
|
44
|
-
dataSource: import("@angular/core").InputSignal<any[] | AXDataSource<any>>;
|
57
|
+
dataSource: import("@angular/core").InputSignal<AXSchedulerAppointmentDataSource>;
|
45
58
|
firstDayOfWeek: import("@angular/core").InputSignal<AXDayOfWeekName>;
|
46
59
|
views: import("@angular/core").InputSignal<AXSchedulerView[]>;
|
47
60
|
selectedView: import("@angular/core").ModelSignal<AXSchedulerView>;
|
48
|
-
|
49
|
-
|
50
|
-
|
61
|
+
onRangeChanged: import("@angular/core").OutputEmitterRef<AXSchedulerDateRange>;
|
62
|
+
onSlotClicked: import("@angular/core").OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
63
|
+
onSlotDblClicked: import("@angular/core").OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
64
|
+
onSlotRightClick: import("@angular/core").OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
51
65
|
onAppointmentDrop: import("@angular/core").OutputEmitterRef<AXSchedulerSlotDropEvent>;
|
52
|
-
onAppointmentClicked: import("@angular/core").OutputEmitterRef<
|
53
|
-
onAppointmentDblClicked: import("@angular/core").OutputEmitterRef<
|
54
|
-
onAppointmentRightClick: import("@angular/core").OutputEmitterRef<
|
55
|
-
protected handleSlotClickInternal(eventData:
|
56
|
-
protected handleSlotDblClickInternal(eventData:
|
57
|
-
protected handleSlotRightClickInternal(eventData:
|
58
|
-
protected handleAppointmentClickInternal(eventData:
|
59
|
-
protected handleAppointmentDblClickInternal(eventData:
|
60
|
-
protected handleAppointmentRightClickInternal(eventData:
|
66
|
+
onAppointmentClicked: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
67
|
+
onAppointmentDblClicked: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
68
|
+
onAppointmentRightClick: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
69
|
+
protected handleSlotClickInternal(eventData: AXSchedulerSlotMouseEvent): void;
|
70
|
+
protected handleSlotDblClickInternal(eventData: AXSchedulerSlotMouseEvent): void;
|
71
|
+
protected handleSlotRightClickInternal(eventData: AXSchedulerSlotMouseEvent): void;
|
72
|
+
protected handleAppointmentClickInternal(eventData: AXSchedulerAppointmentMouseEvent): void;
|
73
|
+
protected handleAppointmentDblClickInternal(eventData: AXSchedulerAppointmentMouseEvent): void;
|
74
|
+
protected handleAppointmentRightClickInternal(eventData: AXSchedulerAppointmentMouseEvent): void;
|
61
75
|
protected handleAppointmentDropInternal(eventData: AXSchedulerSlotDropEvent): void;
|
62
76
|
ngOnInit(): void;
|
63
|
-
fillDataSource
|
77
|
+
private fillDataSource;
|
64
78
|
private getGridDateRange;
|
65
|
-
appointmentsList: import("@angular/core").Signal<AXDataSource<any>>;
|
66
|
-
private dataSourceItemsSignal;
|
67
79
|
currentDateText: import("@angular/core").Signal<string>;
|
68
80
|
calendarDepth: import("@angular/core").Signal<"day" | "month">;
|
69
|
-
mappedAppointments: import("@angular/core").Signal<
|
70
|
-
|
81
|
+
mappedAppointments: import("@angular/core").Signal<AXSchedulerInternalAppointment[]>;
|
82
|
+
range: import("@angular/core").Signal<AXSchedulerDateRange>;
|
83
|
+
viewAppointments: import("@angular/core").Signal<AXSchedulerInternalAppointment[]>;
|
71
84
|
viewChanged(e: AXValueChangedEvent<AXSchedulerView>): void;
|
72
85
|
nextClick(): void;
|
73
86
|
prevClick(): void;
|
74
|
-
calendarDateChanged(e:
|
87
|
+
calendarDateChanged(e: AXValueChangedEvent<Date>): void;
|
75
88
|
handleFullScreen(): void;
|
76
89
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXSchedulerComponent, never>;
|
77
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXSchedulerComponent, "ax-scheduler", never, { "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "startingDate": { "alias": "startingDate"; "required": false; "isSignal": true; }; "
|
90
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXSchedulerComponent, "ax-scheduler", never, { "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "startingDate": { "alias": "startingDate"; "required": false; "isSignal": true; }; "endDayHour": { "alias": "endDayHour"; "required": false; "isSignal": true; }; "startDayHour": { "alias": "startDayHour"; "required": false; "isSignal": true; }; "hasHeader": { "alias": "hasHeader"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "allowFullScreen": { "alias": "allowFullScreen"; "required": false; "isSignal": true; }; "multiDayViewDaysCount": { "alias": "multiDayViewDaysCount"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "views": { "alias": "views"; "required": false; "isSignal": true; }; "selectedView": { "alias": "selectedView"; "required": false; "isSignal": true; }; }, { "selectedView": "selectedViewChange"; "onRangeChanged": "onRangeChanged"; "onSlotClicked": "onSlotClicked"; "onSlotDblClicked": "onSlotDblClicked"; "onSlotRightClick": "onSlotRightClick"; "onAppointmentDrop": "onAppointmentDrop"; "onAppointmentClicked": "onAppointmentClicked"; "onAppointmentDblClicked": "onAppointmentDblClicked"; "onAppointmentRightClick": "onAppointmentRightClick"; }, never, never, true, never>;
|
78
91
|
}
|