@ng-nest/ui 20.2.2 → 20.2.4

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.
Files changed (49) hide show
  1. package/bubble/index.d.ts +7 -5
  2. package/color-picker/index.d.ts +16 -3
  3. package/core/index.d.ts +1 -0
  4. package/fesm2022/ng-nest-ui-auto-complete.mjs +3 -3
  5. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  6. package/fesm2022/ng-nest-ui-base-form.mjs +1 -1
  7. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  8. package/fesm2022/ng-nest-ui-bubble.mjs +27 -15
  9. package/fesm2022/ng-nest-ui-bubble.mjs.map +1 -1
  10. package/fesm2022/ng-nest-ui-cascade.mjs +3 -3
  11. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  12. package/fesm2022/ng-nest-ui-color-picker.mjs +39 -19
  13. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  14. package/fesm2022/ng-nest-ui-core.mjs +2 -1
  15. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  16. package/fesm2022/ng-nest-ui-date-picker.mjs +6 -6
  17. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  18. package/fesm2022/ng-nest-ui-dialog.mjs +9 -7
  19. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  20. package/fesm2022/ng-nest-ui-drawer.mjs +2 -2
  21. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  22. package/fesm2022/ng-nest-ui-dropdown.mjs +5 -7
  23. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  24. package/fesm2022/ng-nest-ui-input.mjs +2 -2
  25. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  26. package/fesm2022/ng-nest-ui-message-box.mjs +0 -1
  27. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  28. package/fesm2022/ng-nest-ui-pagination.mjs +22 -14
  29. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  30. package/fesm2022/ng-nest-ui-scrollable.mjs +5 -3
  31. package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -1
  32. package/fesm2022/ng-nest-ui-select.mjs +15 -13
  33. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  34. package/fesm2022/ng-nest-ui-sender.mjs +2 -2
  35. package/fesm2022/ng-nest-ui-sender.mjs.map +1 -1
  36. package/fesm2022/ng-nest-ui-tag.mjs +3 -3
  37. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  38. package/fesm2022/ng-nest-ui-textarea.mjs +6 -3
  39. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-time-picker.mjs +3 -3
  41. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-tooltip.mjs +2 -2
  43. package/fesm2022/ng-nest-ui-tree-select.mjs +3 -3
  44. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  45. package/fesm2022/ng-nest-ui-tree.mjs +2 -2
  46. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  47. package/package.json +35 -35
  48. package/pagination/index.d.ts +4 -4
  49. package/scrollable/index.d.ts +3 -1
@@ -515,9 +515,11 @@ class XDialogRef {
515
515
  this.overlayRef.dispose();
516
516
  this.afterClose.next(result);
517
517
  });
518
- this.overlayRef.detach();
519
- this.unsubject.next();
520
- this.unsubject.complete();
518
+ setTimeout(() => {
519
+ this.overlayRef.detach();
520
+ this.unsubject.next();
521
+ this.unsubject.complete();
522
+ });
521
523
  }
522
524
  onFullscreen() {
523
525
  let { dialogBox, dialogRef, overlayElement, distance, hostElement, defaultMaximize } = this.containerInstance;
@@ -604,7 +606,7 @@ class XDialogCloseDirective {
604
606
  this.dialogRef && this.dialogRef.close();
605
607
  }
606
608
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: XDialogCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
607
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.5", type: XDialogCloseDirective, isStandalone: true, selector: "[x-dialog-close]", host: { listeners: { "click": "onCloseClick($event)" } }, ngImport: i0 }); }
609
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.5", type: XDialogCloseDirective, isStandalone: true, selector: "[x-dialog-close]", host: { listeners: { "click": "onCloseClick()" } }, ngImport: i0 }); }
608
610
  }
609
611
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: XDialogCloseDirective, decorators: [{
610
612
  type: Directive,
@@ -613,7 +615,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImpor
613
615
  }]
614
616
  }], propDecorators: { onCloseClick: [{
615
617
  type: HostListener,
616
- args: ['click', ['$event']]
618
+ args: ['click']
617
619
  }] } });
618
620
  class XDialogTitleDirective {
619
621
  constructor() {
@@ -696,7 +698,7 @@ class XDialogFullscreenDirective {
696
698
  this.dialogRef && this.dialogRef.onFullscreen();
697
699
  }
698
700
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: XDialogFullscreenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
699
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.5", type: XDialogFullscreenDirective, isStandalone: true, selector: "[x-dialog-fullscreen], x-dialog-fullscreen", host: { listeners: { "click": "onFullscreenClick($event)" } }, ngImport: i0 }); }
701
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.5", type: XDialogFullscreenDirective, isStandalone: true, selector: "[x-dialog-fullscreen], x-dialog-fullscreen", host: { listeners: { "click": "onFullscreenClick()" } }, ngImport: i0 }); }
700
702
  }
701
703
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: XDialogFullscreenDirective, decorators: [{
702
704
  type: Directive,
@@ -705,7 +707,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImpor
705
707
  }]
706
708
  }], propDecorators: { onFullscreenClick: [{
707
709
  type: HostListener,
708
- args: ['click', ['$event']]
710
+ args: ['click']
709
711
  }] } });
710
712
 
711
713
  class XDialogPortalComponent extends BasePortalOutlet {
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-dialog.mjs","sources":["../../../../lib/ng-nest/ui/dialog/dialog.property.ts","../../../../lib/ng-nest/ui/dialog/dialog.component.ts","../../../../lib/ng-nest/ui/dialog/dialog.component.html","../../../../lib/ng-nest/ui/dialog/dialog-container.component.ts","../../../../lib/ng-nest/ui/dialog/dialog-container.component.html","../../../../lib/ng-nest/ui/dialog/dialog-ref.ts","../../../../lib/ng-nest/ui/dialog/dialog-portal.directives.ts","../../../../lib/ng-nest/ui/dialog/dialog-portal.component.ts","../../../../lib/ng-nest/ui/dialog/dialog-portal.component.html","../../../../lib/ng-nest/ui/dialog/dialog.module.ts","../../../../lib/ng-nest/ui/dialog/dialog.service.ts","../../../../lib/ng-nest/ui/dialog/ng-nest-ui-dialog.ts"],"sourcesContent":["import { Component, ViewContainerRef, InjectionToken, input, model, output } from '@angular/core';\r\nimport { XProperty, XPropertyFunction, XToCssPixelValue, XToBoolean, XToNumber } from '@ng-nest/ui/core';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XDialogComponent } from './dialog.component';\r\nimport { XDialogPortalComponent } from './dialog-portal.component';\r\nimport type { XStatus, XPlace, XTemplate, XEffect, XBoolean, XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Dialog\r\n * @selector x-dialog\r\n * @decorator component\r\n */\r\nexport const XDialogPrefix = 'x-dialog';\r\nexport const X_DIALOG_CONFIG_NAME = 'dialog';\r\nexport const XDialogContainer = 'x-dialog-overlay';\r\nexport const X_DIALOG_DATA = new InjectionToken<any>('XDialogData');\r\n\r\n/**\r\n * Dialog Property\r\n */\r\n@Component({ selector: `${XDialogPrefix}-property`, template: '' })\r\nexport class XDialogProperty extends XPropertyFunction(X_DIALOG_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n readonly title = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n readonly visible = model<boolean>(false);\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n readonly placement = input<XPlace>(this.config?.placement ?? 'center');\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n readonly offset = input<string, XNumber>(this.config?.offset ?? '1rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n readonly type = input<XDialogType>('info');\r\n /**\r\n * @zh_CN 隐藏关闭按钮\r\n * @en_US Hide close button\r\n */\r\n readonly hideClose = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 使用文本关闭按钮\r\n * @en_US Use the text to close button\r\n */\r\n readonly closeText = input<string>();\r\n /**\r\n * @zh_CN 调整弹框的大小(弃用)\r\n * @en_US Adjust the size of the box, Abandoned\r\n * @deprecated abandoned\r\n */\r\n readonly resizable = input<boolean, XBoolean>(this.config?.resizable ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 开启 resizable 调整大小,偏移屏幕左边(弃用)\r\n * @en_US Open the resizable resize, offset screen left, Abandoned\r\n * @deprecated abandoned\r\n */\r\n readonly offsetLeft = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 开启 resizable 调整大小,偏移屏幕顶部(弃用)\r\n * @en_US Open the resizable resize, offset screen top, Abandoned\r\n * @deprecated abandoned\r\n */\r\n readonly offsetTop = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n readonly width = input<string, XNumber>(this.config?.width ?? '32rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n readonly height = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 最小宽度\r\n * @en_US Min width\r\n */\r\n readonly minWidth = input<string, XNumber>(this.config?.minWidth ?? '18rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 最小高度\r\n * @en_US Min height\r\n */\r\n readonly minHeight = input<string, XNumber>(this.config?.minHeight ?? '8rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 样式主题\r\n * @en_US Style theme\r\n */\r\n readonly effect = input<XEffect>(this.config?.effect ?? 'white');\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n readonly footer = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n readonly showCancel = input<boolean, XBoolean>(this.config?.showCancel ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n * @default '取消'\r\n */\r\n readonly cancelText = input<string>(this.config?.cancelText ?? '');\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n readonly showConfirm = input<boolean, XBoolean>(this.config?.showConfirm ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n * @default '确认'\r\n */\r\n readonly confirmText = input<string>(this.config?.confirmText ?? '');\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n readonly backdropClose = input<boolean, XBoolean>(this.config?.backdropClose ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n readonly hasBackdrop = input<boolean, XBoolean>(this.config?.hasBackdrop ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 是否支持键盘 esc 关闭\r\n * @en_US Whether to support keyboard esc to close\r\n */\r\n readonly keyboard = input<boolean, XBoolean>(this.config?.keyboard ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n readonly className = input<string>(this.config?.className ?? '');\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n readonly buttonsCenter = input<boolean, XBoolean>(this.config?.buttonsCenter ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n readonly draggable = input<boolean, XBoolean>(this.config?.draggable ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 最大化弹出框按钮,当启用 resizable 时也会显示\r\n * @en_US Maximize the bullet box button, Will also display when resizable is enabled\r\n */\r\n readonly maximize = input<boolean, XBoolean>(this.config?.maximize ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n readonly beforeClose = input<(action: XDialogAction) => void>();\r\n /**\r\n * @zh_CN 取消按钮的事件\r\n * @en_US Cancel button event\r\n */\r\n readonly cancel = output();\r\n /**\r\n * @zh_CN 确认按钮的事件\r\n * @en_US Confirm button event\r\n */\r\n readonly confirm = output();\r\n /**\r\n * @zh_CN 确认按钮的事件\r\n * @en_US Confirm button event\r\n */\r\n readonly close = output();\r\n /**\r\n * @zh_CN 弹出完成动画加载\r\n * @en_US Pop up complete animation loading\r\n */\r\n readonly showDone = output<any>();\r\n /**\r\n * @zh_CN 关闭完成动画\r\n * @en_US Close complete animation\r\n */\r\n readonly closeDone = output<any>();\r\n}\r\n\r\n/**\r\n * Dialog Container\r\n * @selector x-dialog-container\r\n * @decorator component\r\n */\r\nexport const XDialogContainerPrefix = 'x-dialog-container';\r\nexport const X_DIALOG_CONTAINER = new InjectionToken('X_DIALOG_CONTAINER');\r\n\r\n/**\r\n * Dialog Container Property\r\n */\r\n@Component({ selector: `${XDialogContainerPrefix}-property`, template: '' })\r\nexport class XDialogContainerProperty extends XProperty {}\r\n\r\n/**\r\n * Dialog option by service\r\n */\r\nexport interface XDialogRefOption {\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n * @default 'center'\r\n * @withConfig true\r\n */\r\n placement?: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n * @default '1rem'\r\n * @withConfig true\r\n */\r\n offset?: string;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n * @default '32rem'\r\n * @withConfig true\r\n */\r\n width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n height?: string;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n className?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n * @default true\r\n * @withConfig true\r\n */\r\n backdropClose?: boolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n * @default true\r\n * @withConfig true\r\n */\r\n hasBackdrop?: boolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n * @default false\r\n * @withConfig true\r\n */\r\n draggable?: boolean;\r\n /**\r\n * @zh_CN 调整弹框的大小(弃用)\r\n * @en_US Adjust the size of the box, Abandoned\r\n * @default false\r\n * @withConfig true\r\n * @deprecated abandoned\r\n */\r\n resizable?: boolean;\r\n /**\r\n * @zh_CN 最小宽度\r\n * @en_US Min width\r\n * @default '18rem'\r\n * @withConfig true\r\n */\r\n minWidth?: string;\r\n /**\r\n * @zh_CN 最小高度\r\n * @en_US Min height\r\n * @default '8rem'\r\n * @withConfig true\r\n */\r\n minHeight?: string;\r\n /**\r\n * @zh_CN 是否支持键盘 esc 关闭\r\n * @en_US Whether to support keyboard esc to close\r\n * @default true\r\n * @withConfig true\r\n */\r\n keyboard?: boolean;\r\n /**\r\n * @zh_CN 数据,通过 \"@Inject(X_DIALOG_DATA)\" 来接收数据\r\n * @en_US Data. Receive data by \"@Inject(X_DIALOG_DATA)\"\r\n */\r\n data?: any;\r\n /**\r\n * @zh_CN 视图容器实例可以包含其他视图容器。\r\n * @en_US A view container instance can contain other view containers.\r\n */\r\n viewContainerRef?: ViewContainerRef;\r\n}\r\n\r\n/**\r\n * @zh_CN 弹框动画状态\r\n * @en_US Dialog animation status\r\n */\r\nexport type XDialogAnimationState = XPlace | 'void';\r\n\r\n/**\r\n * @zh_CN 弹框动画事件\r\n * @en_US Dialog animation Event\r\n */\r\nexport interface XDialogAnimationEvent {\r\n animationName: string;\r\n action: 'start' | 'end';\r\n}\r\n\r\n/**\r\n * @zh_CN 关闭的回调函数类型\r\n * @en_US Closed callback function type\r\n */\r\nexport interface XDialogCallback {\r\n (action: XDialogAction, message?: string): void;\r\n}\r\n\r\n/**\r\n * @zh_CN 触发关闭的类型\r\n * @en_US Type of trigger closure\r\n */\r\nexport type XDialogAction = 'confirm' | 'cancel' | 'close';\r\n\r\n/**\r\n * @zh_CN 创建的弹框对象\r\n * @en_US Dialog object created\r\n */\r\nexport interface XDialogOverlayRef extends XPortalOverlayRef<XDialogComponent> {}\r\n\r\n/**\r\n * @zh_CN 创建的弹框对象,通过服务\r\n * @en_US Dialog object created by service\r\n */\r\nexport interface XDialogPortalOverlayRef extends XPortalOverlayRef<XDialogPortalComponent> {}\r\n\r\n/**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\nexport type XDialogType = XStatus;\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n TemplateRef,\r\n ViewContainerRef,\r\n HostBinding,\r\n inject,\r\n OnInit,\r\n signal,\r\n computed,\r\n AfterViewInit,\r\n viewChild,\r\n effect,\r\n DestroyRef,\r\n DOCUMENT\r\n} from '@angular/core';\r\nimport { XIsFunction, XConfigService } from '@ng-nest/ui/core';\r\nimport {\r\n XDialogPrefix,\r\n XDialogOverlayRef,\r\n XDialogProperty,\r\n XDialogContainer,\r\n XDialogAction,\r\n X_DIALOG_CONTAINER\r\n} from './dialog.property';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { Subscription, Subject, fromEvent } from 'rxjs';\r\nimport { BlockScrollStrategy, Overlay } from '@angular/cdk/overlay';\r\nimport { XI18nDialog, XI18nService, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { CdkDragEnd } from '@angular/cdk/drag-drop';\r\nimport { XDialogContainerComponent } from './dialog-container.component';\r\nimport { XAlertComponent } from '@ng-nest/ui/alert';\r\nimport { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgStyle, NgTemplateOutlet } from '@angular/common';\r\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: `${XDialogPrefix}`,\r\n imports: [NgStyle, NgTemplateOutlet, XAlertComponent, XButtonComponent, XButtonsComponent, XOutletDirective],\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XDialogComponent extends XDialogProperty implements OnInit, AfterViewInit {\r\n private static dialogOverlayRefs: XDialogOverlayRef[] = [];\r\n\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private protalService = inject(XPortalService);\r\n private overlay = inject(Overlay);\r\n private i18n = inject(XI18nService);\r\n private unSubject = new Subject<void>();\r\n private document = inject(DOCUMENT);\r\n @HostBinding('class.x-dialog-visible') get getVisible() {\r\n return this.visible();\r\n }\r\n\r\n @HostBinding('class') clsName = `${XDialogPrefix}-${this.placement()}`;\r\n\r\n dialogTpl = viewChild.required<TemplateRef<void>>('dialogTpl');\r\n dialogRef!: XDialogOverlayRef;\r\n backdropClick$!: Subscription;\r\n keyboard$!: Subscription;\r\n scrollStrategy!: BlockScrollStrategy;\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.dialog as XI18nDialog)), { initialValue: zh_CN.dialog });\r\n overlayElement = signal<HTMLElement | null>(null);\r\n dialogContent?: HTMLElement;\r\n initHeight? = 0;\r\n initContentHeight? = 0;\r\n isMaximize = signal(false);\r\n isDefaultMaximize = signal(false);\r\n dialogBox: { [key: string]: any } = {};\r\n distance = { x: 0, y: 0 };\r\n viewInit = signal(false);\r\n action: XDialogAction | null = null;\r\n containerInit = false;\r\n draggableSignal = signal(false);\r\n maximizeSignal = signal(false);\r\n\r\n getCancelText = computed(() => {\r\n return this.cancelText() || this.locale().cancelText;\r\n });\r\n\r\n getConfirmText = computed(() => {\r\n return this.confirmText() || this.locale().confirmText;\r\n });\r\n\r\n getStyle = computed(() => {\r\n console.log(this.protalService.setContainerStyle(this.placement(), this.offset()));\r\n return this.container\r\n ? {\r\n ...this.protalService.setContainerStyle(this.placement(), this.offset()),\r\n width: this.width(),\r\n height: this.height(),\r\n minWidth: this.minWidth(),\r\n minHeight: this.minHeight()\r\n }\r\n : {};\r\n });\r\n container = inject<XDialogContainerComponent>(X_DIALOG_CONTAINER, { optional: true });\r\n configService = inject(XConfigService);\r\n\r\n styleOffsetLeft = signal(0);\r\n styleOffsetTop = signal(0);\r\n\r\n visibleChanged = toObservable(this.visible);\r\n draggableChanged = toObservable(this.draggable);\r\n\r\n destroy = signal(false);\r\n\r\n private destroyRef = inject(DestroyRef);\r\n\r\n constructor() {\r\n super();\r\n this.visibleChanged.pipe(takeUntil(this.unSubject)).subscribe(() => {\r\n this.setVisible();\r\n });\r\n effect(() => {\r\n this.draggableSignal.set(this.draggable());\r\n this.maximizeSignal.set(this.maximize());\r\n this.dialogBox['draggable'] = this.draggableSignal();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.scrollStrategy = this.protalService.overlay.scrollStrategies.block();\r\n this.destroyRef.onDestroy(() => {\r\n this.destroy.set(true);\r\n this.backdropClick$?.unsubscribe();\r\n this.keyboard$?.unsubscribe();\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.viewInit.set(true);\r\n }\r\n\r\n setVisible() {\r\n if (!this.viewInit()) return;\r\n if (this.visible()) {\r\n this.create();\r\n } else {\r\n this.onClose('close', false);\r\n }\r\n }\r\n\r\n create() {\r\n if (this.container) {\r\n this.containerInit = true;\r\n return;\r\n }\r\n this.dialogRef = this.protalService.attach({\r\n content: this.dialogTpl(),\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n panelClass: [XDialogContainer, this.className()],\r\n hasBackdrop: this.hasBackdrop(),\r\n scrollStrategy: this.overlay.scrollStrategies.block(),\r\n width: this.width(),\r\n height: this.height(),\r\n minWidth: this.minWidth(),\r\n minHeight: this.minHeight(),\r\n positionStrategy: this.protalService.setPlace(this.placement(), this.offset())\r\n }\r\n });\r\n const { overlayElement } = this.dialogRef.overlayRef!;\r\n this.overlayElement.set(overlayElement);\r\n this.setWidthHeight();\r\n Object.assign(this.dialogBox, {\r\n width: this.width(),\r\n height: this.height(),\r\n minWidth: this.minWidth(),\r\n minHeight: this.minHeight()\r\n });\r\n XDialogComponent.dialogOverlayRefs.push(this.dialogRef);\r\n if (this.hasBackdrop() && this.backdropClose() && this.dialogRef?.overlayRef) {\r\n this.backdropClick$ = this.dialogRef.overlayRef.backdropClick().subscribe(() => {\r\n this.onClose('close');\r\n this.keyboard$?.unsubscribe();\r\n });\r\n }\r\n if (this.keyboard()) {\r\n this.keyboard$ = fromEvent<KeyboardEvent>(this.document, 'keydown').subscribe((event: KeyboardEvent) => {\r\n if (event.key === 'Escape' || event.keyCode === 27) {\r\n if (XDialogComponent.dialogOverlayRefs[XDialogComponent.dialogOverlayRefs.length - 1] === this.dialogRef) {\r\n this.onClose('close');\r\n this.keyboard$?.unsubscribe();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n setWidthHeight() {\r\n const ws = ['100%', '100vw'];\r\n const hs = ['100%', '100vh'];\r\n if (ws.includes(this.width()) && hs.includes(this.height())) {\r\n this.isDefaultMaximize.set(true);\r\n this.draggableSignal.set(false);\r\n this.maximizeSignal.set(false);\r\n }\r\n }\r\n\r\n portalAttached() {\r\n return this.dialogRef?.overlayRef?.hasAttached();\r\n }\r\n\r\n onClose(action: XDialogAction, execFunction = true) {\r\n if (!this.portalAttached() && !this.container) return;\r\n if (this.container && !this.containerInit) return;\r\n if (XIsFunction(this.beforeClose()) && execFunction) {\r\n this.beforeClose()?.(action);\r\n this.action = action;\r\n } else {\r\n this.visible.set(false);\r\n if (this.portalAttached()) {\r\n this.dialogRef?.overlayRef?.detach();\r\n this.backdropClick$?.unsubscribe();\r\n }\r\n if ([action, this.action].includes('confirm')) {\r\n this.confirm.emit();\r\n }\r\n if ([action, this.action].includes('cancel')) {\r\n this.cancel.emit();\r\n }\r\n this.containerInit = false;\r\n this.action = null;\r\n this.close.emit();\r\n }\r\n }\r\n\r\n onDragEnded($event: CdkDragEnd) {\r\n this.distance = { x: this.distance.x + $event.distance.x, y: this.distance.y + $event.distance.y };\r\n }\r\n\r\n onSize() {\r\n if (!this.dialogRef) return;\r\n this.isMaximize.update((x) => !x);\r\n if (this.isMaximize()) {\r\n this.onMaximize();\r\n } else {\r\n this.onMinimize();\r\n }\r\n }\r\n\r\n onMaximize() {\r\n this.dialogRef.overlayRef?.updateSize({\r\n width: '100%',\r\n height: '100%',\r\n minWidth: '100%',\r\n minHeight: '100%'\r\n });\r\n this.dialogBox['minWidth'] = '100%';\r\n this.dialogBox['minHeight'] = '100%';\r\n this.dialogBox['draggable'] = false;\r\n this.dialogBox['resizable'] = false;\r\n if (this.draggableSignal()) {\r\n this.dialogBox['distance'] = { x: 0, y: 0 };\r\n }\r\n }\r\n\r\n onMinimize() {\r\n this.dialogBox['minWidth'] = this.minWidth();\r\n this.dialogBox['minHeight'] = this.minHeight();\r\n this.dialogBox['draggable'] = this.draggableSignal();\r\n this.dialogRef.overlayRef?.updateSize({\r\n width: this.dialogBox['width'],\r\n height: this.dialogBox['height'],\r\n minWidth: this.dialogBox['minWidth'],\r\n minHeight: this.dialogBox['minHeight']\r\n });\r\n if (this.draggableSignal()) {\r\n this.dialogBox['distance'] = { ...this.distance };\r\n }\r\n }\r\n\r\n moveDone($event: AnimationEvent) {\r\n if ($event.animationName.endsWith('-leave')) {\r\n !this.destroy() && this.closeDone.emit($event);\r\n this.isMaximize.set(false);\r\n this.dialogBox = {\r\n draggable: this.draggableSignal()\r\n };\r\n this.distance = { x: 0, y: 0 };\r\n this.dialogRef?.overlayRef?.dispose();\r\n } else {\r\n !this.destroy() && this.showDone.emit($event);\r\n }\r\n }\r\n}\r\n","<ng-template #dialogTpl>\r\n @if (visible()) {\r\n @if (container && hasBackdrop()) {\r\n <div\r\n class=\"x-dialog-backdrop\"\r\n animate.enter=\"x-opacity-enter\"\r\n animate.leave=\"x-opacity-leave\"\r\n (click)=\"onClose('close')\"\r\n ></div>\r\n }\r\n <div\r\n class=\"x-dialog\"\r\n [animate.enter]=\"`x-move-${placement()}-enter`\"\r\n [animate.leave]=\"`x-move-${placement()}-leave`\"\r\n (animationend)=\"moveDone($event)\"\r\n [class.x-dialog-maximize]=\"isMaximize()\"\r\n [class.x-dialog-default-maximize]=\"isDefaultMaximize()\"\r\n [ngStyle]=\"getStyle()\"\r\n >\r\n <x-alert\r\n [draggable]=\"draggableSignal() && dialogBox['draggable']\"\r\n [dragFreeDragPosition]=\"dialogBox['distance']\"\r\n [minWidth]=\"dialogBox['minWidth']\"\r\n [minHeight]=\"dialogBox['minHeight']\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n [title]=\"title()\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type()\"\r\n [effect]=\"effect()\"\r\n [hideClose]=\"hideClose()\"\r\n [closeText]=\"closeText()\"\r\n [operationTpl]=\"operationTpl\"\r\n (close)=\"onClose('close')\"\r\n (dragEnded)=\"onDragEnded($event)\"\r\n [showIcon]=\"false\"\r\n [duration]=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter()\">\r\n <ng-container *xOutlet=\"footer()\">\r\n @if (showCancel() || showConfirm()) {\r\n <x-buttons space=\"0.5rem\">\r\n @if (showCancel()) {\r\n <x-button class=\"x-dialog-cancel\" (click)=\"onClose('cancel')\" flat plain>{{ getCancelText() }}</x-button>\r\n }\r\n @if (showConfirm()) {\r\n <x-button class=\"x-dialog-confirm\" type=\"primary\" flat (click)=\"onClose('confirm')\">{{\r\n getConfirmText()\r\n }}</x-button>\r\n }\r\n </x-buttons>\r\n }\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #operationTpl>\r\n @if (maximizeSignal()) {\r\n <x-button\r\n size=\"small\"\r\n flat\r\n [icon]=\"isMaximize() ? 'fto-minimize' : 'fto-maximize'\"\r\n [onlyIcon]=\"true\"\r\n (click)=\"onSize()\"\r\n class=\"x-dialog-maximize\"\r\n ></x-button>\r\n }\r\n</ng-template>\r\n\r\n@if (container) {\r\n <ng-container *ngTemplateOutlet=\"dialogTpl\"></ng-container>\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\r\nimport { XDialogContainerProperty, X_DIALOG_CONTAINER } from './dialog.property';\r\n\r\n@Component({\r\n selector: 'x-dialog-container',\r\n templateUrl: './dialog-container.component.html',\r\n styleUrls: ['./dialog-container.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: X_DIALOG_CONTAINER,\r\n useExisting: XDialogContainerComponent\r\n }\r\n ]\r\n})\r\nexport class XDialogContainerComponent extends XDialogContainerProperty {\r\n @HostBinding('class.x-dialog-container') _has = true;\r\n}\r\n","<ng-content></ng-content>\r\n","import { OverlayRef } from '@angular/cdk/overlay';\r\nimport { Renderer2 } from '@angular/core';\r\nimport { Subject, filter, take } from 'rxjs';\r\nimport { XPortalResizablePrefix, XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDialogPortalComponent } from './dialog-portal.component';\r\nimport { XDialogRefOption } from './dialog.property';\r\nimport { CdkDragHandle } from '@angular/cdk/drag-drop';\r\nimport { XDialogDragHandleDirective } from './dialog-portal.directives';\r\n\r\n// TODO: add more function\r\nexport class XDialogRef<C> {\r\n componentInstance!: C;\r\n option!: XDialogRefOption;\r\n fullscreen = false;\r\n dragHandleRefs: (XDialogDragHandleDirective | CdkDragHandle)[] = [];\r\n afterClose = new Subject<any>();\r\n unsubject = new Subject<void>();\r\n private _isFristFullscreen = true;\r\n\r\n constructor(\r\n public overlayRef: OverlayRef,\r\n public containerInstance: XDialogPortalComponent,\r\n public renderer: Renderer2,\r\n public portalService: XPortalService\r\n ) {}\r\n\r\n close(result?: any) {\r\n this.containerInstance.animationChanged\r\n .pipe(\r\n filter((event) => event.animationName.endsWith('-leave') && event.action === 'end'),\r\n take(1)\r\n )\r\n .subscribe(() => {\r\n this.overlayRef.dispose();\r\n this.afterClose.next(result);\r\n });\r\n\r\n this.overlayRef.detach();\r\n\r\n this.unsubject.next();\r\n this.unsubject.complete();\r\n }\r\n\r\n onFullscreen() {\r\n let { dialogBox, dialogRef, overlayElement, distance, hostElement, defaultMaximize } = this.containerInstance;\r\n if (!dialogRef.fullscreen) {\r\n dialogRef.overlayRef.updateSize({\r\n width: '100%',\r\n height: '100%',\r\n minWidth: '100%',\r\n minHeight: '100%'\r\n });\r\n dialogRef.fullscreen = true;\r\n dialogBox['minWidth'] = '100%';\r\n dialogBox['minHeight'] = '100%';\r\n dialogBox['draggable'] = false;\r\n dialogBox['resizable'] = false;\r\n if (this.option.resizable) {\r\n this.renderer.setStyle(overlayElement, 'margin', '0 0 0 0');\r\n }\r\n if (this.option.draggable) {\r\n dialogBox['distance'] = { x: 0, y: 0 };\r\n }\r\n this.renderer.addClass(overlayElement, 'x-dialog-portal-fullscreen');\r\n } else {\r\n dialogBox['minWidth'] = this.option.minWidth;\r\n dialogBox['minHeight'] = this.option.minHeight;\r\n if (this._isFristFullscreen && defaultMaximize) {\r\n this.option.draggable = dialogBox['draggable'];\r\n this.option.resizable = dialogBox['resizable'];\r\n } else {\r\n dialogBox['draggable'] = this.option.draggable;\r\n dialogBox['resizable'] = this.option.resizable;\r\n }\r\n\r\n dialogRef.overlayRef?.updateSize({\r\n width: dialogBox['width'],\r\n height: dialogBox['height'],\r\n minWidth: dialogBox['minWidth'],\r\n minHeight: dialogBox['minHeight']\r\n });\r\n dialogRef.fullscreen = false;\r\n if (this.option.draggable) {\r\n dialogBox['distance'] = { ...distance };\r\n }\r\n if (this.option.resizable) {\r\n if (dialogBox['marginTop']) {\r\n this.renderer.setStyle(overlayElement, 'margin-top', `${dialogBox['marginTop']}`);\r\n }\r\n if (dialogBox['marginLeft']) {\r\n this.renderer.setStyle(overlayElement, 'margin-left', `${dialogBox['marginLeft']}`);\r\n }\r\n if (dialogBox['marginRight']) {\r\n this.renderer.setStyle(overlayElement, 'margin-right', `${dialogBox['marginRight']}`);\r\n }\r\n if (dialogBox['marginBottom']) {\r\n this.renderer.setStyle(overlayElement, 'margin-bottom', `${dialogBox['marginBottom']}`);\r\n }\r\n }\r\n this.renderer.removeClass(overlayElement, 'x-dialog-portal-fullscreen');\r\n if (this._isFristFullscreen && defaultMaximize) {\r\n dialogRef.overlayRef?.updatePositionStrategy(\r\n this.portalService.setPlace(this.option.placement, this.option.offset!)\r\n );\r\n this.renderer.addClass(hostElement, XPortalResizablePrefix);\r\n setTimeout(() => {\r\n Object.assign(dialogBox, this.portalService.setResizable(overlayElement!, this.option.placement));\r\n this.containerInstance.offsetLeft = overlayElement!.offsetLeft;\r\n this.containerInstance.offsetTop = overlayElement!.offsetTop;\r\n const dialogDraggable = overlayElement?.querySelector('.x-dialog-portal')!;\r\n this.containerInstance.initHeight = dialogDraggable.clientHeight;\r\n this.containerInstance.dialogContent = overlayElement?.querySelector('.x-dialog-portal-content')!;\r\n this.containerInstance.initContentHeight = this.containerInstance.dialogContent?.clientHeight;\r\n this.containerInstance.dialogBox = dialogBox;\r\n });\r\n }\r\n }\r\n this._isFristFullscreen = false;\r\n }\r\n}\r\n","import { Directive, HostBinding, HostListener, inject } from '@angular/core';\r\nimport { XDialogRef } from './dialog-ref';\r\nimport { CdkDragHandle } from '@angular/cdk/drag-drop';\r\n\r\n@Directive({\r\n selector: `[x-dialog-close]`\r\n})\r\nexport class XDialogCloseDirective {\r\n @HostListener('click', ['$event']) onCloseClick() {\r\n this.dialogRef && this.dialogRef.close();\r\n }\r\n dialogRef = inject(XDialogRef<any>, { optional: true });\r\n}\r\n\r\n@Directive({\r\n selector: `[x-dialog-title], x-dialog-title`\r\n})\r\nexport class XDialogTitleDirective {\r\n @HostBinding('class.x-dialog-portal-title') _has = true;\r\n}\r\n\r\n@Directive({\r\n selector: `[x-dialog-content], x-dialog-content`\r\n})\r\nexport class XDialogContentDirective {\r\n @HostBinding('class.x-dialog-portal-content') _has = true;\r\n}\r\n\r\n@Directive({\r\n selector: `[x-dialog-actions], x-dialog-actions`\r\n})\r\nexport class XDialogActionsDirective {\r\n @HostBinding('class.x-dialog-portal-actions') _has = true;\r\n}\r\n\r\n@Directive({\r\n selector: `[x-dialog-drag-handle], x-dialog-drag-handle`,\r\n hostDirectives: [\r\n {\r\n directive: CdkDragHandle,\r\n inputs: ['cdkDragHandleDisabled: xDialogDragHandleDisabled']\r\n }\r\n ]\r\n})\r\nexport class XDialogDragHandleDirective {\r\n @HostBinding('class.x-dialog-portal-drag-handle') get getDraggable() {\r\n return !this.dialogRef?.fullscreen && this.dialogRef?.option.draggable;\r\n }\r\n dialogRef = inject(XDialogRef<any>, { optional: true });\r\n}\r\n\r\n@Directive({\r\n selector: `[x-dialog-fullscreen], x-dialog-fullscreen`\r\n})\r\nexport class XDialogFullscreenDirective {\r\n @HostListener('click', ['$event']) onFullscreenClick() {\r\n this.dialogRef && this.dialogRef.onFullscreen();\r\n }\r\n dialogRef = inject(XDialogRef<any>, { optional: true });\r\n}\r\n","import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, PortalModule, TemplatePortal } from '@angular/cdk/portal';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Renderer2,\r\n ViewEncapsulation,\r\n contentChildren,\r\n inject,\r\n model,\r\n viewChild\r\n} from '@angular/core';\r\nimport { XDialogAnimationEvent, XDialogAnimationState, XDialogRefOption } from './dialog.property';\r\nimport { CdkDrag, CdkDragEnd, DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XDialogRef } from './dialog-ref';\r\nimport { XDialogDragHandleDirective } from './dialog-portal.directives';\r\n\r\n@Component({\r\n selector: 'x-dialog-portal',\r\n imports: [DragDropModule, PortalModule],\r\n templateUrl: './dialog-portal.component.html',\r\n styleUrls: ['./dialog-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XDialogPortalComponent extends BasePortalOutlet {\r\n placement = model.required<XDialogAnimationState>();\r\n @HostBinding('animate.enter') public get enimateEnter() {\r\n return `x-move-${this.placement()}-enter`;\r\n }\r\n @HostBinding('animate.leave') public get enimateLeave() {\r\n return `x-move-${this.placement()}-leave`;\r\n }\r\n @HostListener('animationend', ['$event']) done(event: AnimationEvent) {\r\n this.animationChanged.next({ action: 'end', animationName: event.animationName });\r\n }\r\n @HostListener('animationstart', ['$event']) start(event: AnimationEvent) {\r\n this.animationChanged.next({ action: 'start', animationName: event.animationName });\r\n }\r\n renderer = inject(Renderer2);\r\n changeDetectorRef = inject(ChangeDetectorRef);\r\n portalOutlet = viewChild.required(CdkPortalOutlet);\r\n dragRef = viewChild.required(CdkDrag);\r\n handles = contentChildren(XDialogDragHandleDirective, { descendants: true });\r\n animationChanged = new EventEmitter<XDialogAnimationEvent>();\r\n option!: XDialogRefOption;\r\n dialogRef!: XDialogRef<any>;\r\n\r\n offsetLeft = 0;\r\n offsetTop = 0;\r\n minWidth = '0rem';\r\n minHeight = '0rem';\r\n initHeight = 0;\r\n initContentHeight = 0;\r\n dialogContent?: HTMLElement;\r\n defaultMaximize = false;\r\n overlayElement?: HTMLElement;\r\n hostElement?: HTMLElement;\r\n distance = { x: 0, y: 0 };\r\n\r\n dialogBox: { [key: string]: any } = {};\r\n\r\n ngOnInit() {\r\n this.dialogBox['draggable'] = this.defaultMaximize ? this.dialogBox['draggable'] : this.option.draggable;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.portalOutlet().setDisposeFn(() => {});\r\n }\r\n\r\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\r\n if (this.portalOutlet().hasAttached()) {\r\n throw Error('dialog portal has attached');\r\n }\r\n return this.portalOutlet().attachComponentPortal(portal);\r\n }\r\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\r\n if (this.portalOutlet().hasAttached()) {\r\n throw Error('dialog portal has attached');\r\n }\r\n return this.portalOutlet().attachTemplatePortal(portal);\r\n }\r\n\r\n onDragEnded(event: CdkDragEnd) {\r\n this.distance = {\r\n x: this.distance.x + event.distance.x,\r\n y: this.distance.y + event.distance.y\r\n };\r\n }\r\n}\r\n","<div\r\n class=\"x-dialog-portal\"\r\n #dragRef\r\n cdkDrag\r\n [cdkDragBoundary]=\"'.cdk-overlay-container'\"\r\n [cdkDragDisabled]=\"!option.draggable && !dialogBox['draggable']\"\r\n [cdkDragRootElement]=\"'.cdk-overlay-pane'\"\r\n [cdkDragFreeDragPosition]=\"dialogBox['distance']\"\r\n (cdkDragEnded)=\"onDragEnded($event)\"\r\n [style.minWidth]=\"dialogBox['minWidth']\"\r\n [style.minHeight]=\"dialogBox['minHeight']\"\r\n [style.maxWidth]=\"dialogBox['maxWidth']\"\r\n [style.maxHeight]=\"dialogBox['maxHeight']\"\r\n>\r\n <ng-template cdkPortalOutlet></ng-template>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XDialogComponent } from './dialog.component';\r\nimport {\r\n XDialogActionsDirective,\r\n XDialogCloseDirective,\r\n XDialogContentDirective,\r\n XDialogDragHandleDirective,\r\n XDialogFullscreenDirective,\r\n XDialogTitleDirective\r\n} from './dialog-portal.directives';\r\nimport { XDialogContainerComponent } from './dialog-container.component';\r\n\r\n@NgModule({\r\n exports: [\r\n XDialogComponent,\r\n XDialogContainerComponent,\r\n XDialogCloseDirective,\r\n XDialogTitleDirective,\r\n XDialogContentDirective,\r\n XDialogActionsDirective,\r\n XDialogDragHandleDirective,\r\n XDialogFullscreenDirective\r\n ],\r\n imports: [\r\n XDialogComponent,\r\n XDialogContainerComponent,\r\n XDialogCloseDirective,\r\n XDialogTitleDirective,\r\n XDialogContentDirective,\r\n XDialogActionsDirective,\r\n XDialogDragHandleDirective,\r\n XDialogFullscreenDirective\r\n ]\r\n})\r\nexport class XDialogModule {}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\r\nimport { DOCUMENT, Injectable, RendererFactory2, TemplateRef, inject } from '@angular/core';\r\nimport { XFillDefault, XConfigService, XDialogConfig } from '@ng-nest/ui/core';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDialogPortalComponent } from './dialog-portal.component';\r\nimport { XDialogRef } from './dialog-ref';\r\nimport { XDialogRefOption, X_DIALOG_CONFIG_NAME, X_DIALOG_DATA } from './dialog.property';\r\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class XDialogService {\r\n default: XDialogRefOption = {\r\n placement: 'center',\r\n offset: '1rem',\r\n width: '32rem',\r\n minWidth: '18rem',\r\n minHeight: '8rem',\r\n backdropClose: true,\r\n hasBackdrop: true,\r\n keyboard: true,\r\n draggable: false\r\n };\r\n configDefault?: XDialogConfig;\r\n\r\n private portalService = inject(XPortalService);\r\n private configService = inject(XConfigService);\r\n private overlay = inject(Overlay);\r\n private rendererFactory = inject(RendererFactory2);\r\n private document = inject(DOCUMENT);\r\n private renderer = this.rendererFactory.createRenderer(null, null);\r\n private dialogRefs: XDialogRef<any>[] = [];\r\n\r\n constructor() {\r\n this.configDefault = this.configService.getConfigForComponent(X_DIALOG_CONFIG_NAME);\r\n Object.assign(this.default, this.configDefault);\r\n }\r\n\r\n create<T>(content: TemplateRef<any> | ComponentType<T>, option: XDialogRefOption = {}): XDialogRef<T> {\r\n XFillDefault(option, this.default);\r\n const portal = this.portalService.attach<XDialogPortalComponent>({\r\n content: XDialogPortalComponent,\r\n viewContainerRef: option.viewContainerRef,\r\n overlayConfig: {\r\n hasBackdrop: option.hasBackdrop,\r\n panelClass: option.className,\r\n scrollStrategy: this.overlay.scrollStrategies.block(),\r\n width: option.width,\r\n height: option.height,\r\n minWidth: option.minWidth,\r\n minHeight: option.minHeight,\r\n positionStrategy: this.portalService.setPlace(option.placement, option.offset!)\r\n }\r\n });\r\n\r\n const { overlayRef, componentRef } = portal || {};\r\n const { instance } = componentRef! || {};\r\n const { hostElement, overlayElement } = overlayRef || {};\r\n const dialogRef = new XDialogRef<T>(overlayRef!, instance, this.renderer, this.portalService);\r\n let dialogBox = {\r\n draggable: option.draggable\r\n };\r\n let defaultMaximize = this.setMaximize(option);\r\n Object.assign(dialogBox, {\r\n width: defaultMaximize ? this.default.width : option.width,\r\n height: defaultMaximize ? null : option.height,\r\n minWidth: option.minWidth,\r\n minHeight: option.minHeight\r\n });\r\n componentRef?.setInput('placement', option.placement);\r\n instance.option = option;\r\n instance.dialogRef = dialogRef;\r\n instance.defaultMaximize = defaultMaximize;\r\n instance.dialogBox = dialogBox;\r\n instance.hostElement = hostElement;\r\n instance.overlayElement = overlayElement;\r\n dialogRef.option = option;\r\n dialogRef.fullscreen = defaultMaximize;\r\n dialogRef.unsubject = new Subject<void>();\r\n if (defaultMaximize) {\r\n this.renderer.addClass(overlayElement, 'x-dialog-portal-fullscreen');\r\n }\r\n if (content instanceof TemplateRef) {\r\n instance.attachTemplatePortal(\r\n new TemplatePortal(content, option.viewContainerRef!, { $implicit: option.data, dialogRef: dialogRef })\r\n );\r\n } else {\r\n const injector = this.portalService.createInjector([\r\n { provide: X_DIALOG_DATA, useValue: option.data },\r\n { provide: XDialogRef, useValue: dialogRef }\r\n ]);\r\n const comRef = instance.attachComponentPortal(new ComponentPortal(content, option.viewContainerRef, injector));\r\n dialogRef.componentInstance = comRef.instance;\r\n }\r\n\r\n this.dialogRefs.push(dialogRef);\r\n\r\n const close = () => {\r\n dialogRef.close();\r\n this.dialogRefs.splice(this.dialogRefs.indexOf(dialogRef), 1);\r\n };\r\n\r\n if (option.hasBackdrop && option.backdropClose && overlayRef) {\r\n overlayRef\r\n .backdropClick()\r\n .pipe(takeUntil(dialogRef.unsubject))\r\n .subscribe(() => {\r\n close();\r\n });\r\n }\r\n\r\n if (option.keyboard) {\r\n fromEvent<KeyboardEvent>(this.document, 'keydown')\r\n .pipe(takeUntil(dialogRef.unsubject))\r\n .subscribe((event: KeyboardEvent) => {\r\n if (event.key === 'Escape' || event.keyCode === 27) {\r\n if (this.dialogRefs[this.dialogRefs.length - 1] === dialogRef) {\r\n close();\r\n }\r\n }\r\n });\r\n }\r\n\r\n return dialogRef;\r\n }\r\n\r\n private setMaximize(option: XDialogRefOption = {}) {\r\n const ws = ['100%', '100vw'];\r\n const hs = ['100%', '100vh'];\r\n if (ws.includes(option.width as string) && hs.includes(option.height as string)) {\r\n option.resizable = false;\r\n option.draggable = false;\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["takeUntil"],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-dialog.mjs","sources":["../../../../lib/ng-nest/ui/dialog/dialog.property.ts","../../../../lib/ng-nest/ui/dialog/dialog.component.ts","../../../../lib/ng-nest/ui/dialog/dialog.component.html","../../../../lib/ng-nest/ui/dialog/dialog-container.component.ts","../../../../lib/ng-nest/ui/dialog/dialog-container.component.html","../../../../lib/ng-nest/ui/dialog/dialog-ref.ts","../../../../lib/ng-nest/ui/dialog/dialog-portal.directives.ts","../../../../lib/ng-nest/ui/dialog/dialog-portal.component.ts","../../../../lib/ng-nest/ui/dialog/dialog-portal.component.html","../../../../lib/ng-nest/ui/dialog/dialog.module.ts","../../../../lib/ng-nest/ui/dialog/dialog.service.ts","../../../../lib/ng-nest/ui/dialog/ng-nest-ui-dialog.ts"],"sourcesContent":["import { Component, ViewContainerRef, InjectionToken, input, model, output } from '@angular/core';\r\nimport { XProperty, XPropertyFunction, XToCssPixelValue, XToBoolean, XToNumber } from '@ng-nest/ui/core';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XDialogComponent } from './dialog.component';\r\nimport { XDialogPortalComponent } from './dialog-portal.component';\r\nimport type { XStatus, XPlace, XTemplate, XEffect, XBoolean, XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Dialog\r\n * @selector x-dialog\r\n * @decorator component\r\n */\r\nexport const XDialogPrefix = 'x-dialog';\r\nexport const X_DIALOG_CONFIG_NAME = 'dialog';\r\nexport const XDialogContainer = 'x-dialog-overlay';\r\nexport const X_DIALOG_DATA = new InjectionToken<any>('XDialogData');\r\n\r\n/**\r\n * Dialog Property\r\n */\r\n@Component({ selector: `${XDialogPrefix}-property`, template: '' })\r\nexport class XDialogProperty extends XPropertyFunction(X_DIALOG_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n readonly title = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n readonly visible = model<boolean>(false);\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n readonly placement = input<XPlace>(this.config?.placement ?? 'center');\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n readonly offset = input<string, XNumber>(this.config?.offset ?? '1rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n readonly type = input<XDialogType>('info');\r\n /**\r\n * @zh_CN 隐藏关闭按钮\r\n * @en_US Hide close button\r\n */\r\n readonly hideClose = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 使用文本关闭按钮\r\n * @en_US Use the text to close button\r\n */\r\n readonly closeText = input<string>();\r\n /**\r\n * @zh_CN 调整弹框的大小(弃用)\r\n * @en_US Adjust the size of the box, Abandoned\r\n * @deprecated abandoned\r\n */\r\n readonly resizable = input<boolean, XBoolean>(this.config?.resizable ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 开启 resizable 调整大小,偏移屏幕左边(弃用)\r\n * @en_US Open the resizable resize, offset screen left, Abandoned\r\n * @deprecated abandoned\r\n */\r\n readonly offsetLeft = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 开启 resizable 调整大小,偏移屏幕顶部(弃用)\r\n * @en_US Open the resizable resize, offset screen top, Abandoned\r\n * @deprecated abandoned\r\n */\r\n readonly offsetTop = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n readonly width = input<string, XNumber>(this.config?.width ?? '32rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n readonly height = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 最小宽度\r\n * @en_US Min width\r\n */\r\n readonly minWidth = input<string, XNumber>(this.config?.minWidth ?? '18rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 最小高度\r\n * @en_US Min height\r\n */\r\n readonly minHeight = input<string, XNumber>(this.config?.minHeight ?? '8rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 样式主题\r\n * @en_US Style theme\r\n */\r\n readonly effect = input<XEffect>(this.config?.effect ?? 'white');\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n readonly footer = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n readonly showCancel = input<boolean, XBoolean>(this.config?.showCancel ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n * @default '取消'\r\n */\r\n readonly cancelText = input<string>(this.config?.cancelText ?? '');\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n readonly showConfirm = input<boolean, XBoolean>(this.config?.showConfirm ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n * @default '确认'\r\n */\r\n readonly confirmText = input<string>(this.config?.confirmText ?? '');\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n readonly backdropClose = input<boolean, XBoolean>(this.config?.backdropClose ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n readonly hasBackdrop = input<boolean, XBoolean>(this.config?.hasBackdrop ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 是否支持键盘 esc 关闭\r\n * @en_US Whether to support keyboard esc to close\r\n */\r\n readonly keyboard = input<boolean, XBoolean>(this.config?.keyboard ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n readonly className = input<string>(this.config?.className ?? '');\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n readonly buttonsCenter = input<boolean, XBoolean>(this.config?.buttonsCenter ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n readonly draggable = input<boolean, XBoolean>(this.config?.draggable ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 最大化弹出框按钮,当启用 resizable 时也会显示\r\n * @en_US Maximize the bullet box button, Will also display when resizable is enabled\r\n */\r\n readonly maximize = input<boolean, XBoolean>(this.config?.maximize ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n readonly beforeClose = input<(action: XDialogAction) => void>();\r\n /**\r\n * @zh_CN 取消按钮的事件\r\n * @en_US Cancel button event\r\n */\r\n readonly cancel = output();\r\n /**\r\n * @zh_CN 确认按钮的事件\r\n * @en_US Confirm button event\r\n */\r\n readonly confirm = output();\r\n /**\r\n * @zh_CN 确认按钮的事件\r\n * @en_US Confirm button event\r\n */\r\n readonly close = output();\r\n /**\r\n * @zh_CN 弹出完成动画加载\r\n * @en_US Pop up complete animation loading\r\n */\r\n readonly showDone = output<any>();\r\n /**\r\n * @zh_CN 关闭完成动画\r\n * @en_US Close complete animation\r\n */\r\n readonly closeDone = output<any>();\r\n}\r\n\r\n/**\r\n * Dialog Container\r\n * @selector x-dialog-container\r\n * @decorator component\r\n */\r\nexport const XDialogContainerPrefix = 'x-dialog-container';\r\nexport const X_DIALOG_CONTAINER = new InjectionToken('X_DIALOG_CONTAINER');\r\n\r\n/**\r\n * Dialog Container Property\r\n */\r\n@Component({ selector: `${XDialogContainerPrefix}-property`, template: '' })\r\nexport class XDialogContainerProperty extends XProperty {}\r\n\r\n/**\r\n * Dialog option by service\r\n */\r\nexport interface XDialogRefOption {\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n * @default 'center'\r\n * @withConfig true\r\n */\r\n placement?: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n * @default '1rem'\r\n * @withConfig true\r\n */\r\n offset?: string;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n * @default '32rem'\r\n * @withConfig true\r\n */\r\n width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n height?: string;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n className?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n * @default true\r\n * @withConfig true\r\n */\r\n backdropClose?: boolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n * @default true\r\n * @withConfig true\r\n */\r\n hasBackdrop?: boolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n * @default false\r\n * @withConfig true\r\n */\r\n draggable?: boolean;\r\n /**\r\n * @zh_CN 调整弹框的大小(弃用)\r\n * @en_US Adjust the size of the box, Abandoned\r\n * @default false\r\n * @withConfig true\r\n * @deprecated abandoned\r\n */\r\n resizable?: boolean;\r\n /**\r\n * @zh_CN 最小宽度\r\n * @en_US Min width\r\n * @default '18rem'\r\n * @withConfig true\r\n */\r\n minWidth?: string;\r\n /**\r\n * @zh_CN 最小高度\r\n * @en_US Min height\r\n * @default '8rem'\r\n * @withConfig true\r\n */\r\n minHeight?: string;\r\n /**\r\n * @zh_CN 是否支持键盘 esc 关闭\r\n * @en_US Whether to support keyboard esc to close\r\n * @default true\r\n * @withConfig true\r\n */\r\n keyboard?: boolean;\r\n /**\r\n * @zh_CN 数据,通过 \"@Inject(X_DIALOG_DATA)\" 来接收数据\r\n * @en_US Data. Receive data by \"@Inject(X_DIALOG_DATA)\"\r\n */\r\n data?: any;\r\n /**\r\n * @zh_CN 视图容器实例可以包含其他视图容器。\r\n * @en_US A view container instance can contain other view containers.\r\n */\r\n viewContainerRef?: ViewContainerRef;\r\n}\r\n\r\n/**\r\n * @zh_CN 弹框动画状态\r\n * @en_US Dialog animation status\r\n */\r\nexport type XDialogAnimationState = XPlace | 'void';\r\n\r\n/**\r\n * @zh_CN 弹框动画事件\r\n * @en_US Dialog animation Event\r\n */\r\nexport interface XDialogAnimationEvent {\r\n animationName: string;\r\n action: 'start' | 'end';\r\n}\r\n\r\n/**\r\n * @zh_CN 关闭的回调函数类型\r\n * @en_US Closed callback function type\r\n */\r\nexport interface XDialogCallback {\r\n (action: XDialogAction, message?: string): void;\r\n}\r\n\r\n/**\r\n * @zh_CN 触发关闭的类型\r\n * @en_US Type of trigger closure\r\n */\r\nexport type XDialogAction = 'confirm' | 'cancel' | 'close';\r\n\r\n/**\r\n * @zh_CN 创建的弹框对象\r\n * @en_US Dialog object created\r\n */\r\nexport interface XDialogOverlayRef extends XPortalOverlayRef<XDialogComponent> {}\r\n\r\n/**\r\n * @zh_CN 创建的弹框对象,通过服务\r\n * @en_US Dialog object created by service\r\n */\r\nexport interface XDialogPortalOverlayRef extends XPortalOverlayRef<XDialogPortalComponent> {}\r\n\r\n/**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\nexport type XDialogType = XStatus;\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n TemplateRef,\r\n ViewContainerRef,\r\n HostBinding,\r\n inject,\r\n OnInit,\r\n signal,\r\n computed,\r\n AfterViewInit,\r\n viewChild,\r\n effect,\r\n DestroyRef,\r\n DOCUMENT\r\n} from '@angular/core';\r\nimport { XIsFunction, XConfigService } from '@ng-nest/ui/core';\r\nimport {\r\n XDialogPrefix,\r\n XDialogOverlayRef,\r\n XDialogProperty,\r\n XDialogContainer,\r\n XDialogAction,\r\n X_DIALOG_CONTAINER\r\n} from './dialog.property';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { Subscription, Subject, fromEvent } from 'rxjs';\r\nimport { BlockScrollStrategy, Overlay } from '@angular/cdk/overlay';\r\nimport { XI18nDialog, XI18nService, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { CdkDragEnd } from '@angular/cdk/drag-drop';\r\nimport { XDialogContainerComponent } from './dialog-container.component';\r\nimport { XAlertComponent } from '@ng-nest/ui/alert';\r\nimport { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgStyle, NgTemplateOutlet } from '@angular/common';\r\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: `${XDialogPrefix}`,\r\n imports: [NgStyle, NgTemplateOutlet, XAlertComponent, XButtonComponent, XButtonsComponent, XOutletDirective],\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XDialogComponent extends XDialogProperty implements OnInit, AfterViewInit {\r\n private static dialogOverlayRefs: XDialogOverlayRef[] = [];\r\n\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private protalService = inject(XPortalService);\r\n private overlay = inject(Overlay);\r\n private i18n = inject(XI18nService);\r\n private unSubject = new Subject<void>();\r\n private document = inject(DOCUMENT);\r\n @HostBinding('class.x-dialog-visible') get getVisible() {\r\n return this.visible();\r\n }\r\n\r\n @HostBinding('class') clsName = `${XDialogPrefix}-${this.placement()}`;\r\n\r\n dialogTpl = viewChild.required<TemplateRef<void>>('dialogTpl');\r\n dialogRef!: XDialogOverlayRef;\r\n backdropClick$!: Subscription;\r\n keyboard$!: Subscription;\r\n scrollStrategy!: BlockScrollStrategy;\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.dialog as XI18nDialog)), { initialValue: zh_CN.dialog });\r\n overlayElement = signal<HTMLElement | null>(null);\r\n dialogContent?: HTMLElement;\r\n initHeight? = 0;\r\n initContentHeight? = 0;\r\n isMaximize = signal(false);\r\n isDefaultMaximize = signal(false);\r\n dialogBox: { [key: string]: any } = {};\r\n distance = { x: 0, y: 0 };\r\n viewInit = signal(false);\r\n action: XDialogAction | null = null;\r\n containerInit = false;\r\n draggableSignal = signal(false);\r\n maximizeSignal = signal(false);\r\n\r\n getCancelText = computed(() => {\r\n return this.cancelText() || this.locale().cancelText;\r\n });\r\n\r\n getConfirmText = computed(() => {\r\n return this.confirmText() || this.locale().confirmText;\r\n });\r\n\r\n getStyle = computed(() => {\r\n console.log(this.protalService.setContainerStyle(this.placement(), this.offset()));\r\n return this.container\r\n ? {\r\n ...this.protalService.setContainerStyle(this.placement(), this.offset()),\r\n width: this.width(),\r\n height: this.height(),\r\n minWidth: this.minWidth(),\r\n minHeight: this.minHeight()\r\n }\r\n : {};\r\n });\r\n container = inject<XDialogContainerComponent>(X_DIALOG_CONTAINER, { optional: true });\r\n configService = inject(XConfigService);\r\n\r\n styleOffsetLeft = signal(0);\r\n styleOffsetTop = signal(0);\r\n\r\n visibleChanged = toObservable(this.visible);\r\n draggableChanged = toObservable(this.draggable);\r\n\r\n destroy = signal(false);\r\n\r\n private destroyRef = inject(DestroyRef);\r\n\r\n constructor() {\r\n super();\r\n this.visibleChanged.pipe(takeUntil(this.unSubject)).subscribe(() => {\r\n this.setVisible();\r\n });\r\n effect(() => {\r\n this.draggableSignal.set(this.draggable());\r\n this.maximizeSignal.set(this.maximize());\r\n this.dialogBox['draggable'] = this.draggableSignal();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.scrollStrategy = this.protalService.overlay.scrollStrategies.block();\r\n this.destroyRef.onDestroy(() => {\r\n this.destroy.set(true);\r\n this.backdropClick$?.unsubscribe();\r\n this.keyboard$?.unsubscribe();\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.viewInit.set(true);\r\n }\r\n\r\n setVisible() {\r\n if (!this.viewInit()) return;\r\n if (this.visible()) {\r\n this.create();\r\n } else {\r\n this.onClose('close', false);\r\n }\r\n }\r\n\r\n create() {\r\n if (this.container) {\r\n this.containerInit = true;\r\n return;\r\n }\r\n this.dialogRef = this.protalService.attach({\r\n content: this.dialogTpl(),\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n panelClass: [XDialogContainer, this.className()],\r\n hasBackdrop: this.hasBackdrop(),\r\n scrollStrategy: this.overlay.scrollStrategies.block(),\r\n width: this.width(),\r\n height: this.height(),\r\n minWidth: this.minWidth(),\r\n minHeight: this.minHeight(),\r\n positionStrategy: this.protalService.setPlace(this.placement(), this.offset())\r\n }\r\n });\r\n const { overlayElement } = this.dialogRef.overlayRef!;\r\n this.overlayElement.set(overlayElement);\r\n this.setWidthHeight();\r\n Object.assign(this.dialogBox, {\r\n width: this.width(),\r\n height: this.height(),\r\n minWidth: this.minWidth(),\r\n minHeight: this.minHeight()\r\n });\r\n XDialogComponent.dialogOverlayRefs.push(this.dialogRef);\r\n if (this.hasBackdrop() && this.backdropClose() && this.dialogRef?.overlayRef) {\r\n this.backdropClick$ = this.dialogRef.overlayRef.backdropClick().subscribe(() => {\r\n this.onClose('close');\r\n this.keyboard$?.unsubscribe();\r\n });\r\n }\r\n if (this.keyboard()) {\r\n this.keyboard$ = fromEvent<KeyboardEvent>(this.document, 'keydown').subscribe((event: KeyboardEvent) => {\r\n if (event.key === 'Escape' || event.keyCode === 27) {\r\n if (XDialogComponent.dialogOverlayRefs[XDialogComponent.dialogOverlayRefs.length - 1] === this.dialogRef) {\r\n this.onClose('close');\r\n this.keyboard$?.unsubscribe();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n setWidthHeight() {\r\n const ws = ['100%', '100vw'];\r\n const hs = ['100%', '100vh'];\r\n if (ws.includes(this.width()) && hs.includes(this.height())) {\r\n this.isDefaultMaximize.set(true);\r\n this.draggableSignal.set(false);\r\n this.maximizeSignal.set(false);\r\n }\r\n }\r\n\r\n portalAttached() {\r\n return this.dialogRef?.overlayRef?.hasAttached();\r\n }\r\n\r\n onClose(action: XDialogAction, execFunction = true) {\r\n if (!this.portalAttached() && !this.container) return;\r\n if (this.container && !this.containerInit) return;\r\n if (XIsFunction(this.beforeClose()) && execFunction) {\r\n this.beforeClose()?.(action);\r\n this.action = action;\r\n } else {\r\n this.visible.set(false);\r\n if (this.portalAttached()) {\r\n this.dialogRef?.overlayRef?.detach();\r\n this.backdropClick$?.unsubscribe();\r\n }\r\n if ([action, this.action].includes('confirm')) {\r\n this.confirm.emit();\r\n }\r\n if ([action, this.action].includes('cancel')) {\r\n this.cancel.emit();\r\n }\r\n this.containerInit = false;\r\n this.action = null;\r\n this.close.emit();\r\n }\r\n }\r\n\r\n onDragEnded($event: CdkDragEnd) {\r\n this.distance = { x: this.distance.x + $event.distance.x, y: this.distance.y + $event.distance.y };\r\n }\r\n\r\n onSize() {\r\n if (!this.dialogRef) return;\r\n this.isMaximize.update((x) => !x);\r\n if (this.isMaximize()) {\r\n this.onMaximize();\r\n } else {\r\n this.onMinimize();\r\n }\r\n }\r\n\r\n onMaximize() {\r\n this.dialogRef.overlayRef?.updateSize({\r\n width: '100%',\r\n height: '100%',\r\n minWidth: '100%',\r\n minHeight: '100%'\r\n });\r\n this.dialogBox['minWidth'] = '100%';\r\n this.dialogBox['minHeight'] = '100%';\r\n this.dialogBox['draggable'] = false;\r\n this.dialogBox['resizable'] = false;\r\n if (this.draggableSignal()) {\r\n this.dialogBox['distance'] = { x: 0, y: 0 };\r\n }\r\n }\r\n\r\n onMinimize() {\r\n this.dialogBox['minWidth'] = this.minWidth();\r\n this.dialogBox['minHeight'] = this.minHeight();\r\n this.dialogBox['draggable'] = this.draggableSignal();\r\n this.dialogRef.overlayRef?.updateSize({\r\n width: this.dialogBox['width'],\r\n height: this.dialogBox['height'],\r\n minWidth: this.dialogBox['minWidth'],\r\n minHeight: this.dialogBox['minHeight']\r\n });\r\n if (this.draggableSignal()) {\r\n this.dialogBox['distance'] = { ...this.distance };\r\n }\r\n }\r\n\r\n moveDone($event: AnimationEvent) {\r\n if ($event.animationName.endsWith('-leave')) {\r\n !this.destroy() && this.closeDone.emit($event);\r\n this.isMaximize.set(false);\r\n this.dialogBox = {\r\n draggable: this.draggableSignal()\r\n };\r\n this.distance = { x: 0, y: 0 };\r\n this.dialogRef?.overlayRef?.dispose();\r\n } else {\r\n !this.destroy() && this.showDone.emit($event);\r\n }\r\n }\r\n}\r\n","<ng-template #dialogTpl>\r\n @if (visible()) {\r\n @if (container && hasBackdrop()) {\r\n <div\r\n class=\"x-dialog-backdrop\"\r\n animate.enter=\"x-opacity-enter\"\r\n animate.leave=\"x-opacity-leave\"\r\n (click)=\"onClose('close')\"\r\n ></div>\r\n }\r\n <div\r\n class=\"x-dialog\"\r\n [animate.enter]=\"`x-move-${placement()}-enter`\"\r\n [animate.leave]=\"`x-move-${placement()}-leave`\"\r\n (animationend)=\"moveDone($event)\"\r\n [class.x-dialog-maximize]=\"isMaximize()\"\r\n [class.x-dialog-default-maximize]=\"isDefaultMaximize()\"\r\n [ngStyle]=\"getStyle()\"\r\n >\r\n <x-alert\r\n [draggable]=\"draggableSignal() && dialogBox['draggable']\"\r\n [dragFreeDragPosition]=\"dialogBox['distance']\"\r\n [minWidth]=\"dialogBox['minWidth']\"\r\n [minHeight]=\"dialogBox['minHeight']\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n [title]=\"title()\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type()\"\r\n [effect]=\"effect()\"\r\n [hideClose]=\"hideClose()\"\r\n [closeText]=\"closeText()\"\r\n [operationTpl]=\"operationTpl\"\r\n (close)=\"onClose('close')\"\r\n (dragEnded)=\"onDragEnded($event)\"\r\n [showIcon]=\"false\"\r\n [duration]=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter()\">\r\n <ng-container *xOutlet=\"footer()\">\r\n @if (showCancel() || showConfirm()) {\r\n <x-buttons space=\"0.5rem\">\r\n @if (showCancel()) {\r\n <x-button class=\"x-dialog-cancel\" (click)=\"onClose('cancel')\" flat plain>{{ getCancelText() }}</x-button>\r\n }\r\n @if (showConfirm()) {\r\n <x-button class=\"x-dialog-confirm\" type=\"primary\" flat (click)=\"onClose('confirm')\">{{\r\n getConfirmText()\r\n }}</x-button>\r\n }\r\n </x-buttons>\r\n }\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #operationTpl>\r\n @if (maximizeSignal()) {\r\n <x-button\r\n size=\"small\"\r\n flat\r\n [icon]=\"isMaximize() ? 'fto-minimize' : 'fto-maximize'\"\r\n [onlyIcon]=\"true\"\r\n (click)=\"onSize()\"\r\n class=\"x-dialog-maximize\"\r\n ></x-button>\r\n }\r\n</ng-template>\r\n\r\n@if (container) {\r\n <ng-container *ngTemplateOutlet=\"dialogTpl\"></ng-container>\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\r\nimport { XDialogContainerProperty, X_DIALOG_CONTAINER } from './dialog.property';\r\n\r\n@Component({\r\n selector: 'x-dialog-container',\r\n templateUrl: './dialog-container.component.html',\r\n styleUrls: ['./dialog-container.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: X_DIALOG_CONTAINER,\r\n useExisting: XDialogContainerComponent\r\n }\r\n ]\r\n})\r\nexport class XDialogContainerComponent extends XDialogContainerProperty {\r\n @HostBinding('class.x-dialog-container') _has = true;\r\n}\r\n","<ng-content></ng-content>\r\n","import { OverlayRef } from '@angular/cdk/overlay';\r\nimport { Renderer2 } from '@angular/core';\r\nimport { Subject, filter, take } from 'rxjs';\r\nimport { XPortalResizablePrefix, XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDialogPortalComponent } from './dialog-portal.component';\r\nimport { XDialogRefOption } from './dialog.property';\r\nimport { CdkDragHandle } from '@angular/cdk/drag-drop';\r\nimport { XDialogDragHandleDirective } from './dialog-portal.directives';\r\n\r\n// TODO: add more function\r\nexport class XDialogRef<C> {\r\n componentInstance!: C;\r\n option!: XDialogRefOption;\r\n fullscreen = false;\r\n dragHandleRefs: (XDialogDragHandleDirective | CdkDragHandle)[] = [];\r\n afterClose = new Subject<any>();\r\n unsubject = new Subject<void>();\r\n private _isFristFullscreen = true;\r\n\r\n constructor(\r\n public overlayRef: OverlayRef,\r\n public containerInstance: XDialogPortalComponent,\r\n public renderer: Renderer2,\r\n public portalService: XPortalService\r\n ) {}\r\n\r\n close(result?: any) {\r\n this.containerInstance.animationChanged\r\n .pipe(\r\n filter((event) => event.animationName.endsWith('-leave') && event.action === 'end'),\r\n take(1)\r\n )\r\n .subscribe(() => {\r\n this.overlayRef.dispose();\r\n this.afterClose.next(result);\r\n });\r\n\r\n setTimeout(() => {\r\n this.overlayRef.detach();\r\n this.unsubject.next();\r\n this.unsubject.complete();\r\n });\r\n }\r\n\r\n onFullscreen() {\r\n let { dialogBox, dialogRef, overlayElement, distance, hostElement, defaultMaximize } = this.containerInstance;\r\n if (!dialogRef.fullscreen) {\r\n dialogRef.overlayRef.updateSize({\r\n width: '100%',\r\n height: '100%',\r\n minWidth: '100%',\r\n minHeight: '100%'\r\n });\r\n dialogRef.fullscreen = true;\r\n dialogBox['minWidth'] = '100%';\r\n dialogBox['minHeight'] = '100%';\r\n dialogBox['draggable'] = false;\r\n dialogBox['resizable'] = false;\r\n if (this.option.resizable) {\r\n this.renderer.setStyle(overlayElement, 'margin', '0 0 0 0');\r\n }\r\n if (this.option.draggable) {\r\n dialogBox['distance'] = { x: 0, y: 0 };\r\n }\r\n this.renderer.addClass(overlayElement, 'x-dialog-portal-fullscreen');\r\n } else {\r\n dialogBox['minWidth'] = this.option.minWidth;\r\n dialogBox['minHeight'] = this.option.minHeight;\r\n if (this._isFristFullscreen && defaultMaximize) {\r\n this.option.draggable = dialogBox['draggable'];\r\n this.option.resizable = dialogBox['resizable'];\r\n } else {\r\n dialogBox['draggable'] = this.option.draggable;\r\n dialogBox['resizable'] = this.option.resizable;\r\n }\r\n\r\n dialogRef.overlayRef?.updateSize({\r\n width: dialogBox['width'],\r\n height: dialogBox['height'],\r\n minWidth: dialogBox['minWidth'],\r\n minHeight: dialogBox['minHeight']\r\n });\r\n dialogRef.fullscreen = false;\r\n if (this.option.draggable) {\r\n dialogBox['distance'] = { ...distance };\r\n }\r\n if (this.option.resizable) {\r\n if (dialogBox['marginTop']) {\r\n this.renderer.setStyle(overlayElement, 'margin-top', `${dialogBox['marginTop']}`);\r\n }\r\n if (dialogBox['marginLeft']) {\r\n this.renderer.setStyle(overlayElement, 'margin-left', `${dialogBox['marginLeft']}`);\r\n }\r\n if (dialogBox['marginRight']) {\r\n this.renderer.setStyle(overlayElement, 'margin-right', `${dialogBox['marginRight']}`);\r\n }\r\n if (dialogBox['marginBottom']) {\r\n this.renderer.setStyle(overlayElement, 'margin-bottom', `${dialogBox['marginBottom']}`);\r\n }\r\n }\r\n this.renderer.removeClass(overlayElement, 'x-dialog-portal-fullscreen');\r\n if (this._isFristFullscreen && defaultMaximize) {\r\n dialogRef.overlayRef?.updatePositionStrategy(\r\n this.portalService.setPlace(this.option.placement, this.option.offset!)\r\n );\r\n this.renderer.addClass(hostElement, XPortalResizablePrefix);\r\n setTimeout(() => {\r\n Object.assign(dialogBox, this.portalService.setResizable(overlayElement!, this.option.placement));\r\n this.containerInstance.offsetLeft = overlayElement!.offsetLeft;\r\n this.containerInstance.offsetTop = overlayElement!.offsetTop;\r\n const dialogDraggable = overlayElement?.querySelector('.x-dialog-portal')!;\r\n this.containerInstance.initHeight = dialogDraggable.clientHeight;\r\n this.containerInstance.dialogContent = overlayElement?.querySelector('.x-dialog-portal-content')!;\r\n this.containerInstance.initContentHeight = this.containerInstance.dialogContent?.clientHeight;\r\n this.containerInstance.dialogBox = dialogBox;\r\n });\r\n }\r\n }\r\n this._isFristFullscreen = false;\r\n }\r\n}\r\n","import { Directive, HostBinding, HostListener, inject } from '@angular/core';\r\nimport { XDialogRef } from './dialog-ref';\r\nimport { CdkDragHandle } from '@angular/cdk/drag-drop';\r\n\r\n@Directive({\r\n selector: `[x-dialog-close]`\r\n})\r\nexport class XDialogCloseDirective {\r\n @HostListener('click') onCloseClick() {\r\n this.dialogRef && this.dialogRef.close();\r\n }\r\n dialogRef = inject(XDialogRef<any>, { optional: true });\r\n}\r\n\r\n@Directive({\r\n selector: `[x-dialog-title], x-dialog-title`\r\n})\r\nexport class XDialogTitleDirective {\r\n @HostBinding('class.x-dialog-portal-title') _has = true;\r\n}\r\n\r\n@Directive({\r\n selector: `[x-dialog-content], x-dialog-content`\r\n})\r\nexport class XDialogContentDirective {\r\n @HostBinding('class.x-dialog-portal-content') _has = true;\r\n}\r\n\r\n@Directive({\r\n selector: `[x-dialog-actions], x-dialog-actions`\r\n})\r\nexport class XDialogActionsDirective {\r\n @HostBinding('class.x-dialog-portal-actions') _has = true;\r\n}\r\n\r\n@Directive({\r\n selector: `[x-dialog-drag-handle], x-dialog-drag-handle`,\r\n hostDirectives: [\r\n {\r\n directive: CdkDragHandle,\r\n inputs: ['cdkDragHandleDisabled: xDialogDragHandleDisabled']\r\n }\r\n ]\r\n})\r\nexport class XDialogDragHandleDirective {\r\n @HostBinding('class.x-dialog-portal-drag-handle') get getDraggable() {\r\n return !this.dialogRef?.fullscreen && this.dialogRef?.option.draggable;\r\n }\r\n dialogRef = inject(XDialogRef<any>, { optional: true });\r\n}\r\n\r\n@Directive({\r\n selector: `[x-dialog-fullscreen], x-dialog-fullscreen`\r\n})\r\nexport class XDialogFullscreenDirective {\r\n @HostListener('click') onFullscreenClick() {\r\n this.dialogRef && this.dialogRef.onFullscreen();\r\n }\r\n dialogRef = inject(XDialogRef<any>, { optional: true });\r\n}\r\n","import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, PortalModule, TemplatePortal } from '@angular/cdk/portal';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Renderer2,\r\n ViewEncapsulation,\r\n contentChildren,\r\n inject,\r\n model,\r\n viewChild\r\n} from '@angular/core';\r\nimport { XDialogAnimationEvent, XDialogAnimationState, XDialogRefOption } from './dialog.property';\r\nimport { CdkDrag, CdkDragEnd, DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XDialogRef } from './dialog-ref';\r\nimport { XDialogDragHandleDirective } from './dialog-portal.directives';\r\n\r\n@Component({\r\n selector: 'x-dialog-portal',\r\n imports: [DragDropModule, PortalModule],\r\n templateUrl: './dialog-portal.component.html',\r\n styleUrls: ['./dialog-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XDialogPortalComponent extends BasePortalOutlet {\r\n placement = model.required<XDialogAnimationState>();\r\n @HostBinding('animate.enter') public get enimateEnter() {\r\n return `x-move-${this.placement()}-enter`;\r\n }\r\n @HostBinding('animate.leave') public get enimateLeave() {\r\n return `x-move-${this.placement()}-leave`;\r\n }\r\n @HostListener('animationend', ['$event']) done(event: AnimationEvent) {\r\n this.animationChanged.next({ action: 'end', animationName: event.animationName });\r\n }\r\n @HostListener('animationstart', ['$event']) start(event: AnimationEvent) {\r\n this.animationChanged.next({ action: 'start', animationName: event.animationName });\r\n }\r\n renderer = inject(Renderer2);\r\n changeDetectorRef = inject(ChangeDetectorRef);\r\n portalOutlet = viewChild.required(CdkPortalOutlet);\r\n dragRef = viewChild.required(CdkDrag);\r\n handles = contentChildren(XDialogDragHandleDirective, { descendants: true });\r\n animationChanged = new EventEmitter<XDialogAnimationEvent>();\r\n option!: XDialogRefOption;\r\n dialogRef!: XDialogRef<any>;\r\n\r\n offsetLeft = 0;\r\n offsetTop = 0;\r\n minWidth = '0rem';\r\n minHeight = '0rem';\r\n initHeight = 0;\r\n initContentHeight = 0;\r\n dialogContent?: HTMLElement;\r\n defaultMaximize = false;\r\n overlayElement?: HTMLElement;\r\n hostElement?: HTMLElement;\r\n distance = { x: 0, y: 0 };\r\n\r\n dialogBox: { [key: string]: any } = {};\r\n\r\n ngOnInit() {\r\n this.dialogBox['draggable'] = this.defaultMaximize ? this.dialogBox['draggable'] : this.option.draggable;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.portalOutlet().setDisposeFn(() => {});\r\n }\r\n\r\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\r\n if (this.portalOutlet().hasAttached()) {\r\n throw Error('dialog portal has attached');\r\n }\r\n return this.portalOutlet().attachComponentPortal(portal);\r\n }\r\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\r\n if (this.portalOutlet().hasAttached()) {\r\n throw Error('dialog portal has attached');\r\n }\r\n return this.portalOutlet().attachTemplatePortal(portal);\r\n }\r\n\r\n onDragEnded(event: CdkDragEnd) {\r\n this.distance = {\r\n x: this.distance.x + event.distance.x,\r\n y: this.distance.y + event.distance.y\r\n };\r\n }\r\n}\r\n","<div\r\n class=\"x-dialog-portal\"\r\n #dragRef\r\n cdkDrag\r\n [cdkDragBoundary]=\"'.cdk-overlay-container'\"\r\n [cdkDragDisabled]=\"!option.draggable && !dialogBox['draggable']\"\r\n [cdkDragRootElement]=\"'.cdk-overlay-pane'\"\r\n [cdkDragFreeDragPosition]=\"dialogBox['distance']\"\r\n (cdkDragEnded)=\"onDragEnded($event)\"\r\n [style.minWidth]=\"dialogBox['minWidth']\"\r\n [style.minHeight]=\"dialogBox['minHeight']\"\r\n [style.maxWidth]=\"dialogBox['maxWidth']\"\r\n [style.maxHeight]=\"dialogBox['maxHeight']\"\r\n>\r\n <ng-template cdkPortalOutlet></ng-template>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XDialogComponent } from './dialog.component';\r\nimport {\r\n XDialogActionsDirective,\r\n XDialogCloseDirective,\r\n XDialogContentDirective,\r\n XDialogDragHandleDirective,\r\n XDialogFullscreenDirective,\r\n XDialogTitleDirective\r\n} from './dialog-portal.directives';\r\nimport { XDialogContainerComponent } from './dialog-container.component';\r\n\r\n@NgModule({\r\n exports: [\r\n XDialogComponent,\r\n XDialogContainerComponent,\r\n XDialogCloseDirective,\r\n XDialogTitleDirective,\r\n XDialogContentDirective,\r\n XDialogActionsDirective,\r\n XDialogDragHandleDirective,\r\n XDialogFullscreenDirective\r\n ],\r\n imports: [\r\n XDialogComponent,\r\n XDialogContainerComponent,\r\n XDialogCloseDirective,\r\n XDialogTitleDirective,\r\n XDialogContentDirective,\r\n XDialogActionsDirective,\r\n XDialogDragHandleDirective,\r\n XDialogFullscreenDirective\r\n ]\r\n})\r\nexport class XDialogModule {}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\r\nimport { DOCUMENT, Injectable, RendererFactory2, TemplateRef, inject } from '@angular/core';\r\nimport { XFillDefault, XConfigService, XDialogConfig } from '@ng-nest/ui/core';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDialogPortalComponent } from './dialog-portal.component';\r\nimport { XDialogRef } from './dialog-ref';\r\nimport { XDialogRefOption, X_DIALOG_CONFIG_NAME, X_DIALOG_DATA } from './dialog.property';\r\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class XDialogService {\r\n default: XDialogRefOption = {\r\n placement: 'center',\r\n offset: '1rem',\r\n width: '32rem',\r\n minWidth: '18rem',\r\n minHeight: '8rem',\r\n backdropClose: true,\r\n hasBackdrop: true,\r\n keyboard: true,\r\n draggable: false\r\n };\r\n configDefault?: XDialogConfig;\r\n\r\n private portalService = inject(XPortalService);\r\n private configService = inject(XConfigService);\r\n private overlay = inject(Overlay);\r\n private rendererFactory = inject(RendererFactory2);\r\n private document = inject(DOCUMENT);\r\n private renderer = this.rendererFactory.createRenderer(null, null);\r\n private dialogRefs: XDialogRef<any>[] = [];\r\n\r\n constructor() {\r\n this.configDefault = this.configService.getConfigForComponent(X_DIALOG_CONFIG_NAME);\r\n Object.assign(this.default, this.configDefault);\r\n }\r\n\r\n create<T>(content: TemplateRef<any> | ComponentType<T>, option: XDialogRefOption = {}): XDialogRef<T> {\r\n XFillDefault(option, this.default);\r\n const portal = this.portalService.attach<XDialogPortalComponent>({\r\n content: XDialogPortalComponent,\r\n viewContainerRef: option.viewContainerRef,\r\n overlayConfig: {\r\n hasBackdrop: option.hasBackdrop,\r\n panelClass: option.className,\r\n scrollStrategy: this.overlay.scrollStrategies.block(),\r\n width: option.width,\r\n height: option.height,\r\n minWidth: option.minWidth,\r\n minHeight: option.minHeight,\r\n positionStrategy: this.portalService.setPlace(option.placement, option.offset!)\r\n }\r\n });\r\n\r\n const { overlayRef, componentRef } = portal || {};\r\n const { instance } = componentRef! || {};\r\n const { hostElement, overlayElement } = overlayRef || {};\r\n const dialogRef = new XDialogRef<T>(overlayRef!, instance, this.renderer, this.portalService);\r\n let dialogBox = {\r\n draggable: option.draggable\r\n };\r\n let defaultMaximize = this.setMaximize(option);\r\n Object.assign(dialogBox, {\r\n width: defaultMaximize ? this.default.width : option.width,\r\n height: defaultMaximize ? null : option.height,\r\n minWidth: option.minWidth,\r\n minHeight: option.minHeight\r\n });\r\n componentRef?.setInput('placement', option.placement);\r\n instance.option = option;\r\n instance.dialogRef = dialogRef;\r\n instance.defaultMaximize = defaultMaximize;\r\n instance.dialogBox = dialogBox;\r\n instance.hostElement = hostElement;\r\n instance.overlayElement = overlayElement;\r\n dialogRef.option = option;\r\n dialogRef.fullscreen = defaultMaximize;\r\n dialogRef.unsubject = new Subject<void>();\r\n if (defaultMaximize) {\r\n this.renderer.addClass(overlayElement, 'x-dialog-portal-fullscreen');\r\n }\r\n if (content instanceof TemplateRef) {\r\n instance.attachTemplatePortal(\r\n new TemplatePortal(content, option.viewContainerRef!, { $implicit: option.data, dialogRef: dialogRef })\r\n );\r\n } else {\r\n const injector = this.portalService.createInjector([\r\n { provide: X_DIALOG_DATA, useValue: option.data },\r\n { provide: XDialogRef, useValue: dialogRef }\r\n ]);\r\n const comRef = instance.attachComponentPortal(new ComponentPortal(content, option.viewContainerRef, injector));\r\n dialogRef.componentInstance = comRef.instance;\r\n }\r\n\r\n this.dialogRefs.push(dialogRef);\r\n\r\n const close = () => {\r\n dialogRef.close();\r\n this.dialogRefs.splice(this.dialogRefs.indexOf(dialogRef), 1);\r\n };\r\n\r\n if (option.hasBackdrop && option.backdropClose && overlayRef) {\r\n overlayRef\r\n .backdropClick()\r\n .pipe(takeUntil(dialogRef.unsubject))\r\n .subscribe(() => {\r\n close();\r\n });\r\n }\r\n\r\n if (option.keyboard) {\r\n fromEvent<KeyboardEvent>(this.document, 'keydown')\r\n .pipe(takeUntil(dialogRef.unsubject))\r\n .subscribe((event: KeyboardEvent) => {\r\n if (event.key === 'Escape' || event.keyCode === 27) {\r\n if (this.dialogRefs[this.dialogRefs.length - 1] === dialogRef) {\r\n close();\r\n }\r\n }\r\n });\r\n }\r\n\r\n return dialogRef;\r\n }\r\n\r\n private setMaximize(option: XDialogRefOption = {}) {\r\n const ws = ['100%', '100vw'];\r\n const hs = ['100%', '100vh'];\r\n if (ws.includes(option.width as string) && hs.includes(option.height as string)) {\r\n option.resizable = false;\r\n option.draggable = false;\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["takeUntil"],"mappings":"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"}
@@ -225,7 +225,7 @@ class XDrawerCloseDirective {
225
225
  this.drawerRef && this.drawerRef.close();
226
226
  }
227
227
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: XDrawerCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
228
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.5", type: XDrawerCloseDirective, isStandalone: true, selector: "[x-drawer-close]", host: { listeners: { "click": "onCloseClick($event)" } }, ngImport: i0 }); }
228
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.5", type: XDrawerCloseDirective, isStandalone: true, selector: "[x-drawer-close]", host: { listeners: { "click": "onCloseClick()" } }, ngImport: i0 }); }
229
229
  }
230
230
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: XDrawerCloseDirective, decorators: [{
231
231
  type: Directive,
@@ -234,7 +234,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImpor
234
234
  }]
235
235
  }], propDecorators: { onCloseClick: [{
236
236
  type: HostListener,
237
- args: ['click', ['$event']]
237
+ args: ['click']
238
238
  }] } });
239
239
  class XDrawerTitleDirective {
240
240
  constructor() {