@ng-nest/ui 13.1.4 → 13.1.5
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/dialog/dialog.component.d.ts +3 -5
- package/dialog/dialog.property.d.ts +10 -5
- package/esm2020/dialog/dialog-portal.component.mjs +3 -3
- package/esm2020/dialog/dialog-ref.mjs +3 -1
- package/esm2020/dialog/dialog.component.mjs +24 -27
- package/esm2020/dialog/dialog.property.mjs +10 -3
- package/esm2020/dialog/dialog.service.mjs +5 -2
- package/esm2020/resizable/resizable.directive.mjs +10 -4
- package/fesm2015/ng-nest-ui-dialog.mjs +41 -32
- package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-resizable.mjs +9 -3
- package/fesm2015/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-dialog.mjs +40 -31
- package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-resizable.mjs +9 -3
- package/fesm2020/ng-nest-ui-resizable.mjs.map +1 -1
- package/package.json +1 -1
- package/resizable/resizable.directive.d.ts +1 -0
- package/style/core/index.css +3 -0
- package/style/core/index.css.map +1 -1
- package/style/directives/resizable/mixin.scss +5 -0
|
@@ -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-portal.component.ts","../../../../lib/ng-nest/ui/dialog/dialog-portal.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.service.ts","../../../../lib/ng-nest/ui/dialog/dialog.module.ts","../../../../lib/ng-nest/ui/dialog/ng-nest-ui-dialog.ts"],"sourcesContent":["import { Input, Output, EventEmitter, Component, ViewContainerRef, InjectionToken } from '@angular/core';\r\nimport { XStatus, XPlace, XInputBoolean, XTemplate, XEffect, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { XAlertProperty, XAlertOption } from '@ng-nest/ui/alert';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XDialogComponent } from './dialog.component';\r\nimport { XDialogPortalComponent } from './dialog-portal.component';\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-container';\r\nexport const X_DIALOG_DATA = new InjectionToken<any>('XDialogData');\r\n\r\n/**\r\n * Dialog Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDialogProperty extends XAlertProperty {\r\n @Input() @XInputBoolean() visible: boolean = false;\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n @Input() @XWithConfig<XPlace>(X_DIALOG_CONFIG_NAME, 'center') placement!: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME, '1rem') offset!: string;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n @Input() override type: XDialogType = 'info';\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME, '32rem') width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n @Input() height?: string;\r\n /**\r\n * @zh_CN 最小宽度\r\n * @en_US Min width\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME, '18rem') override minWidth?: string;\r\n /**\r\n * @zh_CN 最小高度\r\n * @en_US Min height\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME, '9rem') override minHeight?: string;\r\n /**\r\n * @zh_CN 样式主题\r\n * @en_US Style theme\r\n */\r\n @Input() @XWithConfig<XEffect>(X_DIALOG_CONFIG_NAME, 'white') override effect!: XEffect;\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n @Input() footer?: XTemplate;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, true) showCancel!: XBoolean;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME) cancelText?: string;\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, true) showConfirm!: XBoolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME) confirmText?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, true) backdropClose!: XBoolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, true) hasBackdrop!: XBoolean;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME, '') className!: string;\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME) @XInputBoolean() buttonsCenter?: XBoolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, false) @XInputBoolean() override draggable?: XBoolean;\r\n /**\r\n * @zh_CN 调整弹框的大小\r\n * @en_US Adjust the size of the box\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, false) @XInputBoolean() override resizable?: XBoolean;\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 @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, false) @XInputBoolean() maximize?: XBoolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n @Input() beforeClose!: Function;\r\n\r\n /**\r\n * @zh_CN 取消按钮的事件\r\n * @en_US Cancel button event\r\n */\r\n @Output() cancel = new EventEmitter();\r\n /**\r\n * @zh_CN 确认按钮的事件\r\n * @en_US Confirm button event\r\n */\r\n @Output() confirm = new EventEmitter();\r\n /**\r\n * @zh_CN 显示/隐藏改变事件\r\n * @en_US Show/hide change events\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 弹出完成动画加载\r\n * @en_US Pop up complete animation loading\r\n */\r\n @Output() showDone = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 关闭完成动画\r\n * @en_US Close complete animation\r\n */\r\n @Output() closeDone = new EventEmitter<any>();\r\n}\r\n\r\nexport interface XDialogOption extends XAlertOption {\r\n visible?: boolean;\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n placement?: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n offset?: string;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n type?: XDialogType;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\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 Style theme\r\n */\r\n effect?: XEffect;\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n footer?: XTemplate;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n showCancel?: XBoolean;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n */\r\n cancelText?: string;\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n showConfirm?: XBoolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n */\r\n confirmText?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n backdropClose?: XBoolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n hasBackdrop?: XBoolean;\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 Button center\r\n */\r\n buttonsCenter?: XBoolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n draggable?: boolean;\r\n /**\r\n * @zh_CN 调整弹框的大小\r\n * @en_US Adjust the size of the box\r\n */\r\n resizable?: boolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n beforeClose?: Function;\r\n}\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\r\n * @default false\r\n * @withConfig true\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 '9rem'\r\n * @withConfig true\r\n */\r\n minHeight?: string;\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 * @en_US 视图容器实例可以包含其他视图容器。\r\n * @en_US A view container instance can contain other view containers.\r\n */\r\n viewContainerRef?: ViewContainerRef;\r\n}\r\n\r\nexport type XDialogAnimationState = XPlace | 'void';\r\n\r\nexport interface XDialogAnimationEvent {\r\n state: XDialogAnimationState;\r\n action: 'start' | 'done';\r\n totalTime: number;\r\n}\r\n\r\nexport interface XDialogCallback {\r\n (action: XDialogAction, message?: string): void;\r\n}\r\n\r\nexport type XDialogAction = 'confirm' | 'cancel';\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 Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n TemplateRef,\r\n ViewContainerRef,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XMoveBoxAnimation, XIsChange, XIsFunction } from '@ng-nest/ui/core';\r\nimport { XDialogPrefix, XDialogOverlayRef, XDialogProperty, XDialogContainer } from './dialog.property';\r\nimport { PortalResizablePrefix, XPortalService } from '@ng-nest/ui/portal';\r\nimport { Subscription, Subject } from 'rxjs';\r\nimport { BlockScrollStrategy, Overlay } from '@angular/cdk/overlay';\r\nimport { XI18nDialog, XI18nService } from '@ng-nest/ui/i18n';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { CdkDragEnd } from '@angular/cdk/drag-drop';\r\nimport { XResizableEvent } from '@ng-nest/ui/resizable';\r\n\r\n@Component({\r\n selector: `${XDialogPrefix}`,\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XMoveBoxAnimation]\r\n})\r\nexport class XDialogComponent extends XDialogProperty implements OnChanges, OnDestroy {\r\n @ViewChild('dialogTpl', { static: false }) dialogTpl!: TemplateRef<void>;\r\n dialogRef!: XDialogOverlayRef;\r\n backdropClick$!: Subscription;\r\n scrollStrategy: BlockScrollStrategy;\r\n locale: XI18nDialog = {};\r\n overlayElement?: HTMLElement;\r\n dialogContent?: HTMLElement;\r\n initHeight? = 0;\r\n initContentHeight? = 0;\r\n isMaximize = false;\r\n isDefaultMaximize = false;\r\n dialogBox: { [key: string]: any } = {};\r\n contentBox: XResizableEvent = {};\r\n distance = { x: 0, y: 0 };\r\n viewInit = false;\r\n\r\n private _unSubject = new Subject<void>();\r\n\r\n get getCancelText() {\r\n return this.cancelText || this.locale.cancelText;\r\n }\r\n\r\n get getConfirmText() {\r\n return this.confirmText || this.locale.confirmText;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public viewContainerRef: ViewContainerRef,\r\n public protalService: XPortalService,\r\n public overlay: Overlay,\r\n public i18n: XI18nService\r\n ) {\r\n super();\r\n this.scrollStrategy = this.protalService.overlay.scrollStrategies.block();\r\n }\r\n\r\n ngOnInit() {\r\n this.i18n.localeChange\r\n .pipe(\r\n map((x) => x.dialog as XI18nDialog),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.locale = x;\r\n this.cdr.markForCheck();\r\n });\r\n this.dialogBox['draggable'] = this.draggable;\r\n this.dialogBox['resizable'] = this.resizable;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { visible } = changes;\r\n XIsChange(visible) && this.setVisible();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribe();\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.viewInit = true;\r\n setTimeout(() => this.visible && this.create());\r\n }\r\n\r\n unsubscribe() {\r\n this.backdropClick$?.unsubscribe();\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.detach();\r\n // this.visibleChange.emit(false);\r\n }\r\n }\r\n\r\n create() {\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: Boolean(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 { hostElement, overlayElement } = this.dialogRef.overlayRef!;\r\n this.overlayElement = 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 if (this.resizable && !this.isDefaultMaximize) {\r\n this.renderer.addClass(hostElement, PortalResizablePrefix);\r\n setTimeout(() => {\r\n Object.assign(this.dialogBox, this.protalService.setResizable(this.overlayElement!, this.placement));\r\n this.offsetLeft = this.overlayElement!.offsetLeft;\r\n this.offsetTop = this.overlayElement!.offsetTop;\r\n const dialogDraggable = this.overlayElement?.querySelector('.x-alert-draggable')!;\r\n this.initHeight = dialogDraggable.clientHeight;\r\n this.dialogContent = this.overlayElement?.querySelector('.x-dialog-content')!;\r\n this.initContentHeight = this.dialogContent.clientHeight;\r\n });\r\n }\r\n if (this.hasBackdrop && this.backdropClose && this.dialogRef?.overlayRef) {\r\n this.backdropClick$ = this.dialogRef.overlayRef.backdropClick().subscribe(() => this.onClose());\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 as string) && hs.includes(this.height as string)) {\r\n this.isDefaultMaximize = true;\r\n this.resizable = false;\r\n this.draggable = false;\r\n this.maximize = false;\r\n }\r\n }\r\n\r\n detach() {\r\n if (this.portalAttached()) {\r\n this.visible = false;\r\n this.visibleChange.emit(this.visible);\r\n this.dialogRef?.overlayRef?.detach();\r\n this.unsubscribe();\r\n this.close.emit();\r\n }\r\n }\r\n\r\n portalAttached() {\r\n return this.dialogRef?.overlayRef?.hasAttached();\r\n }\r\n\r\n onClose() {\r\n if (XIsFunction(this.beforeClose)) {\r\n this.beforeClose();\r\n } else {\r\n this.detach();\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 = !this.isMaximize;\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.resizable) {\r\n this.renderer.setStyle(this.overlayElement, 'margin', '0 0 0 0');\r\n }\r\n if (this.draggable) {\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.draggable;\r\n this.dialogBox['resizable'] = this.resizable;\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.draggable) {\r\n this.dialogBox['distance'] = { ...this.distance };\r\n }\r\n if (this.resizable) {\r\n if (this.dialogBox['marginTop']) {\r\n this.renderer.setStyle(this.overlayElement, 'margin-top', `${this.dialogBox['marginTop']}`);\r\n }\r\n if (this.dialogBox['marginLeft']) {\r\n this.renderer.setStyle(this.overlayElement, 'margin-left', `${this.dialogBox['marginLeft']}`);\r\n }\r\n if (this.dialogBox['marginRight']) {\r\n this.renderer.setStyle(this.overlayElement, 'margin-right', `${this.dialogBox['marginRight']}`);\r\n }\r\n if (this.dialogBox['marginBottom']) {\r\n this.renderer.setStyle(this.overlayElement, 'margin-bottom', `${this.dialogBox['marginBottom']}`);\r\n }\r\n }\r\n }\r\n\r\n onCancel() {\r\n this.onClose();\r\n this.cancel.emit();\r\n }\r\n\r\n onConfirm() {\r\n this.onClose();\r\n this.confirm.emit();\r\n }\r\n\r\n moveDone($event: { toState: string }) {\r\n if ($event.toState === 'void') {\r\n this.closeDone.emit($event);\r\n this.isMaximize = false;\r\n this.dialogBox = {\r\n draggable: this.draggable,\r\n resizable: this.resizable\r\n };\r\n this.distance = { x: 0, y: 0 };\r\n this.dialogRef?.overlayRef?.dispose();\r\n } else {\r\n this.showDone.emit($event);\r\n }\r\n }\r\n\r\n onResizing(event: XResizableEvent) {\r\n const contentHeight = Number(this.initContentHeight) + Number(event.clientHeight) - Number(this.initHeight);\r\n this.renderer.setStyle(this.dialogContent, 'max-height', 'initial');\r\n this.renderer.setStyle(this.dialogContent, 'flex', 'initial');\r\n if (['top-start', 'top-end', 'bottom', 'top', 'bottom-start', 'bottom-end'].includes(event.direction as string)) {\r\n this.renderer.setStyle(this.dialogContent, 'height', `${contentHeight}px`);\r\n }\r\n }\r\n}\r\n","<ng-template #dialogTpl>\r\n <div\r\n class=\"x-dialog\"\r\n [@x-move-box-animation]=\"placement\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n [class.x-dialog-maximize]=\"isMaximize\"\r\n [class.x-dialog-resizable]=\"resizable\"\r\n [class.x-dialog-default-maximize]=\"isDefaultMaximize\"\r\n >\r\n <x-alert\r\n [draggable]=\"draggable && dialogBox['draggable']\"\r\n [resizable]=\"resizable && dialogBox['resizable']\"\r\n [dragFreeDragPosition]=\"dialogBox['distance']\"\r\n [offsetLeft]=\"offsetLeft\"\r\n [offsetTop]=\"offsetTop\"\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()\"\r\n (dragEnded)=\"onDragEnded($event)\"\r\n (resizing)=\"onResizing($event)\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\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 <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onCancel()\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onConfirm()\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #operationTpl>\r\n <ng-container *ngIf=\"maximize || resizable\">\r\n <x-button size=\"small\" [icon]=\"isMaximize ? 'fto-minimize' : 'fto-maximize'\" [onlyIcon]=\"true\" (click)=\"onSize()\"></x-button>\r\n </ng-container>\r\n</ng-template>\r\n","import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ComponentRef,\r\n ContentChildren,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n QueryList,\r\n Renderer2,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { XMoveBoxAnimation } from '@ng-nest/ui/core';\r\nimport { XDialogAnimationEvent, XDialogAnimationState, XDialogRefOption } from './dialog.property';\r\nimport { AnimationEvent } from '@angular/animations';\r\nimport { CdkDrag, CdkDragEnd, CdkDragHandle } from '@angular/cdk/drag-drop';\r\nimport { XDialogRef } from './dialog-ref';\r\nimport { XResizableEvent } from '@ng-nest/ui/resizable';\r\n\r\n@Component({\r\n selector: 'x-dialog-portal',\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 animations: [XMoveBoxAnimation]\r\n})\r\nexport class XDialogPortalComponent extends BasePortalOutlet {\r\n // @HostBinding('class.x-dialog-portal') _has = true;\r\n @HostBinding('@x-move-box-animation') public placement?: XDialogAnimationState;\r\n @HostListener('@x-move-box-animation.done', ['$event']) done({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'done', state: toState as XDialogAnimationState, totalTime });\r\n }\r\n @HostListener('@x-move-box-animation.start', ['$event']) start({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'start', state: toState as XDialogAnimationState, totalTime });\r\n }\r\n @ViewChild(CdkPortalOutlet, { static: true }) portalOutlet!: CdkPortalOutlet;\r\n @ViewChild(CdkDrag, { static: true }) dragRef!: CdkDrag;\r\n\r\n @ContentChildren(CdkDragHandle, { descendants: true }) handles!: QueryList<CdkDragHandle>;\r\n\r\n animationChanged = new EventEmitter<XDialogAnimationEvent>();\r\n\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 constructor(private renderer: Renderer2) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.dialogBox['draggable'] = this.defaultMaximize ? this.dialogBox['draggable'] : this.option.draggable;\r\n this.dialogBox['resizable'] = this.defaultMaximize ? this.dialogBox['resizable'] : this.option.resizable;\r\n }\r\n\r\n ngAfterViewInit() {\r\n let list = new QueryList<CdkDragHandle>();\r\n for (let item of this.dialogRef.dragHandleRefs) {\r\n list.reset([...list.toArray(), new CdkDragHandle(item, this.dragRef)]);\r\n }\r\n this.dragRef._handles = list;\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 resizing(event: XResizableEvent) {\r\n const contentHeight = Number(this.initContentHeight) + Number(event.clientHeight) - Number(this.initHeight);\r\n this.renderer.setStyle(this.dialogContent, 'max-height', 'initial');\r\n this.renderer.setStyle(this.dialogContent, 'flex', 'initial');\r\n if (['top-start', 'top-end', 'bottom', 'top', 'bottom-start', 'bottom-end'].includes(event.direction as string)) {\r\n this.renderer.setStyle(this.dialogContent, 'height', `${contentHeight}px`);\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","<div\r\n class=\"x-dialog-portal\"\r\n #dragRef\r\n cdkDrag\r\n [cdkDragDisabled]=\"!option.draggable && !dialogBox['draggable']\"\r\n [cdkDragBoundary]=\"'.cdk-overlay-container'\"\r\n [cdkDragFreeDragPosition]=\"dialogBox['distance']\"\r\n [xResizable]=\"option.resizable && dialogBox['resizable']!\"\r\n (resizing)=\"resizing($event)\"\r\n (cdkDragEnded)=\"onDragEnded($event)\"\r\n [offsetLeft]=\"offsetLeft\"\r\n [offsetTop]=\"offsetTop\"\r\n [style.minWidth]=\"dialogBox['minWidth']\"\r\n [style.minHeight]=\"dialogBox['minHeight']\"\r\n [class.x-dialog-portal-fullscreen]=\"dialogRef.fullscreen\"\r\n>\r\n <ng-template cdkPortalOutlet></ng-template>\r\n</div>\r\n","import { OverlayRef } from '@angular/cdk/overlay';\r\nimport { ElementRef, Renderer2 } from '@angular/core';\r\nimport { filter, take } from 'rxjs';\r\nimport { PortalResizablePrefix, XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDialogPortalComponent } from './dialog-portal.component';\r\nimport { XDialogRefOption } from './dialog.property';\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: ElementRef<HTMLElement>[] = [];\r\n private _isFristFullscreen = true;\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() {\r\n this.containerInstance.animationChanged\r\n .pipe(\r\n filter((event) => event.state === 'void' && event.action === 'done'),\r\n take(1)\r\n )\r\n .subscribe(() => {\r\n this.overlayRef.detach();\r\n });\r\n this.containerInstance.placement = 'void';\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 } 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 if (this._isFristFullscreen && defaultMaximize) {\r\n dialogRef.overlayRef?.updatePositionStrategy(this.portalService.setPlace(this.option.placement, this.option.offset!));\r\n this.renderer.addClass(hostElement, PortalResizablePrefix);\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, ElementRef, HostBinding, HostListener, Optional } from '@angular/core';\r\nimport { XDialogRef } from './dialog-ref';\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 constructor(@Optional() public dialogRef: XDialogRef<any>) {}\r\n}\r\n\r\n@Directive({\r\n selector: `[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})\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 constructor(@Optional() public dialogRef: XDialogRef<any>, private elementRef: ElementRef) {}\r\n\r\n ngOnInit() {\r\n this.dialogRef.dragHandleRefs.push(this.elementRef);\r\n }\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 constructor(@Optional() public dialogRef: XDialogRef<any>) {}\r\n}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\r\nimport { Injectable, Renderer2, RendererFactory2, TemplateRef } from '@angular/core';\r\nimport { fillDefault, XConfigService, XDialogConfig } from '@ng-nest/ui/core';\r\nimport { PortalResizablePrefix, 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\n\r\n@Injectable()\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: '9rem',\r\n backdropClose: true,\r\n hasBackdrop: true,\r\n draggable: false,\r\n resizable: false\r\n };\r\n configDefault?: XDialogConfig;\r\n\r\n renderer!: Renderer2;\r\n\r\n constructor(\r\n public portalService: XPortalService,\r\n public configService: XConfigService,\r\n public overlay: Overlay,\r\n public rendererFactory: RendererFactory2\r\n ) {\r\n this.renderer = this.rendererFactory.createRenderer(null, null);\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 fillDefault(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 resizable: option.resizable\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 instance.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 if (option.resizable && !defaultMaximize) {\r\n this.renderer.addClass(hostElement, PortalResizablePrefix);\r\n setTimeout(() => {\r\n Object.assign(dialogBox, this.portalService.setResizable(overlayElement!, option.placement));\r\n instance.offsetLeft = overlayElement!.offsetLeft;\r\n instance.offsetTop = overlayElement!.offsetTop;\r\n const dialogDraggable = overlayElement?.querySelector('.x-dialog-portal')!;\r\n instance.initHeight = dialogDraggable.clientHeight;\r\n instance.dialogContent = overlayElement?.querySelector('.x-dialog-portal-content')!;\r\n instance.initContentHeight = instance.dialogContent?.clientHeight;\r\n instance.dialogBox = dialogBox;\r\n });\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 if (option.hasBackdrop && option.backdropClose && overlayRef) {\r\n overlayRef.backdropClick().subscribe(() => {\r\n dialogRef.close();\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","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XDialogComponent } from './dialog.component';\r\nimport { XAlertModule } from '@ng-nest/ui/alert';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XResizableModule } from '@ng-nest/ui/resizable';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XDialogProperty } from './dialog.property';\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 { XDialogPortalComponent } from './dialog-portal.component';\r\nimport { XDialogService } from './dialog.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n XDialogComponent,\r\n XDialogCloseDirective,\r\n XDialogTitleDirective,\r\n XDialogContentDirective,\r\n XDialogActionsDirective,\r\n XDialogDragHandleDirective,\r\n XDialogFullscreenDirective,\r\n XDialogPortalComponent,\r\n XDialogProperty\r\n ],\r\n exports: [\r\n XDialogComponent,\r\n XDialogCloseDirective,\r\n XDialogTitleDirective,\r\n XDialogContentDirective,\r\n XDialogActionsDirective,\r\n XDialogDragHandleDirective,\r\n XDialogFullscreenDirective,\r\n XDialogPortalComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DragDropModule,\r\n XInputModule,\r\n XButtonModule,\r\n XIconModule,\r\n XPortalModule,\r\n XAlertModule,\r\n XOutletModule,\r\n XResizableModule\r\n ],\r\n providers: [XDialogService]\r\n})\r\nexport class XDialogModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i1.XDialogRef"],"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-portal.component.ts","../../../../lib/ng-nest/ui/dialog/dialog-portal.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.service.ts","../../../../lib/ng-nest/ui/dialog/dialog.module.ts","../../../../lib/ng-nest/ui/dialog/ng-nest-ui-dialog.ts"],"sourcesContent":["import { Input, Output, EventEmitter, Component, ViewContainerRef, InjectionToken } from '@angular/core';\r\nimport { XStatus, XPlace, XInputBoolean, XTemplate, XEffect, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { XAlertProperty, XAlertOption } from '@ng-nest/ui/alert';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XDialogComponent } from './dialog.component';\r\nimport { XDialogPortalComponent } from './dialog-portal.component';\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-container';\r\nexport const X_DIALOG_DATA = new InjectionToken<any>('XDialogData');\r\n\r\n/**\r\n * Dialog Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDialogProperty extends XAlertProperty {\r\n @Input() @XInputBoolean() visible: boolean = false;\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n @Input() @XWithConfig<XPlace>(X_DIALOG_CONFIG_NAME, 'center') placement!: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME, '1rem') offset!: string;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n @Input() override type: XDialogType = 'info';\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME, '32rem') width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n @Input() height?: string;\r\n /**\r\n * @zh_CN 最小宽度\r\n * @en_US Min width\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME, '18rem') override minWidth?: string;\r\n /**\r\n * @zh_CN 最小高度\r\n * @en_US Min height\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME, '8rem') override minHeight?: string;\r\n /**\r\n * @zh_CN 样式主题\r\n * @en_US Style theme\r\n */\r\n @Input() @XWithConfig<XEffect>(X_DIALOG_CONFIG_NAME, 'white') override effect!: XEffect;\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n @Input() footer?: XTemplate;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, true) showCancel!: XBoolean;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME) cancelText?: string;\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, true) showConfirm!: XBoolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME) confirmText?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, true) backdropClose!: XBoolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, true) hasBackdrop!: XBoolean;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME, '') className!: string;\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME) @XInputBoolean() buttonsCenter?: XBoolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, false) @XInputBoolean() override draggable?: XBoolean;\r\n /**\r\n * @zh_CN 调整弹框的大小\r\n * @en_US Adjust the size of the box\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, false) @XInputBoolean() override resizable?: XBoolean;\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 @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, false) @XInputBoolean() maximize?: XBoolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n @Input() beforeClose!: (action: XDialogAction) => void;\r\n\r\n /**\r\n * @zh_CN 取消按钮的事件\r\n * @en_US Cancel button event\r\n */\r\n @Output() cancel = new EventEmitter();\r\n /**\r\n * @zh_CN 确认按钮的事件\r\n * @en_US Confirm button event\r\n */\r\n @Output() confirm = new EventEmitter();\r\n /**\r\n * @zh_CN 确认按钮的事件\r\n * @en_US Confirm button event\r\n */\r\n @Output() override close = new EventEmitter();\r\n /**\r\n * @zh_CN 显示/隐藏改变事件\r\n * @en_US Show/hide change events\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 弹出完成动画加载\r\n * @en_US Pop up complete animation loading\r\n */\r\n @Output() showDone = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 关闭完成动画\r\n * @en_US Close complete animation\r\n */\r\n @Output() closeDone = new EventEmitter<any>();\r\n}\r\n\r\nexport interface XDialogOption extends XAlertOption {\r\n visible?: boolean;\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n placement?: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n offset?: string;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n type?: XDialogType;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\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 Style theme\r\n */\r\n effect?: XEffect;\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n footer?: XTemplate;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n showCancel?: XBoolean;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n */\r\n cancelText?: string;\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n showConfirm?: XBoolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n */\r\n confirmText?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n backdropClose?: XBoolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n hasBackdrop?: XBoolean;\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 Button center\r\n */\r\n buttonsCenter?: XBoolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n draggable?: boolean;\r\n /**\r\n * @zh_CN 调整弹框的大小\r\n * @en_US Adjust the size of the box\r\n */\r\n resizable?: boolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n beforeClose?: (action: XDialogAction) => void;\r\n}\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\r\n * @default false\r\n * @withConfig true\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 数据,通过 \"@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 * @en_US 视图容器实例可以包含其他视图容器。\r\n * @en_US A view container instance can contain other view containers.\r\n */\r\n viewContainerRef?: ViewContainerRef;\r\n}\r\n\r\nexport type XDialogAnimationState = XPlace | 'void';\r\n\r\nexport interface XDialogAnimationEvent {\r\n state: XDialogAnimationState;\r\n action: 'start' | 'done';\r\n totalTime: number;\r\n}\r\n\r\nexport interface XDialogCallback {\r\n (action: XDialogAction, message?: string): void;\r\n}\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 Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n TemplateRef,\r\n ViewContainerRef,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XMoveBoxAnimation, XIsChange, XIsFunction } from '@ng-nest/ui/core';\r\nimport { XDialogPrefix, XDialogOverlayRef, XDialogProperty, XDialogContainer, XDialogAction } from './dialog.property';\r\nimport { PortalResizablePrefix, XPortalService } from '@ng-nest/ui/portal';\r\nimport { Subscription, Subject } from 'rxjs';\r\nimport { BlockScrollStrategy, Overlay } from '@angular/cdk/overlay';\r\nimport { XI18nDialog, XI18nService } from '@ng-nest/ui/i18n';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { CdkDragEnd } from '@angular/cdk/drag-drop';\r\nimport { XResizableEvent } from '@ng-nest/ui/resizable';\r\n\r\n@Component({\r\n selector: `${XDialogPrefix}`,\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XMoveBoxAnimation]\r\n})\r\nexport class XDialogComponent extends XDialogProperty implements OnChanges, OnDestroy {\r\n @ViewChild('dialogTpl', { static: false }) dialogTpl!: TemplateRef<void>;\r\n dialogRef!: XDialogOverlayRef;\r\n backdropClick$!: Subscription;\r\n scrollStrategy: BlockScrollStrategy;\r\n locale: XI18nDialog = {};\r\n overlayElement?: HTMLElement;\r\n dialogContent?: HTMLElement;\r\n initHeight? = 0;\r\n initContentHeight? = 0;\r\n isMaximize = false;\r\n isDefaultMaximize = false;\r\n dialogBox: { [key: string]: any } = {};\r\n contentBox: XResizableEvent = {};\r\n distance = { x: 0, y: 0 };\r\n viewInit = false;\r\n action: XDialogAction | null = null;\r\n\r\n private _unSubject = new Subject<void>();\r\n\r\n get getCancelText() {\r\n return this.cancelText || this.locale.cancelText;\r\n }\r\n\r\n get getConfirmText() {\r\n return this.confirmText || this.locale.confirmText;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public viewContainerRef: ViewContainerRef,\r\n public protalService: XPortalService,\r\n public overlay: Overlay,\r\n public i18n: XI18nService\r\n ) {\r\n super();\r\n this.scrollStrategy = this.protalService.overlay.scrollStrategies.block();\r\n }\r\n\r\n ngOnInit() {\r\n this.i18n.localeChange\r\n .pipe(\r\n map((x) => x.dialog as XI18nDialog),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.locale = x;\r\n this.cdr.markForCheck();\r\n });\r\n this.dialogBox['draggable'] = this.draggable;\r\n this.dialogBox['resizable'] = this.resizable;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { visible } = changes;\r\n XIsChange(visible) && this.setVisible();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribe();\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.viewInit = true;\r\n setTimeout(() => this.visible && this.create());\r\n }\r\n\r\n unsubscribe() {\r\n this.backdropClick$?.unsubscribe();\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 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: Boolean(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 { hostElement, overlayElement } = this.dialogRef.overlayRef!;\r\n this.overlayElement = 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 if (this.resizable && !this.isDefaultMaximize) {\r\n this.renderer.addClass(hostElement, PortalResizablePrefix);\r\n setTimeout(() => {\r\n Object.assign(this.dialogBox, this.protalService.setResizable(this.overlayElement!, this.placement));\r\n this.offsetLeft = this.overlayElement!.offsetLeft;\r\n this.offsetTop = this.overlayElement!.offsetTop;\r\n const dialogDraggable = this.overlayElement?.querySelector('.x-alert-draggable')!;\r\n this.initHeight = dialogDraggable.clientHeight;\r\n this.dialogContent = this.overlayElement?.querySelector('.x-dialog-content')!;\r\n this.initContentHeight = this.dialogContent.clientHeight;\r\n });\r\n }\r\n if (this.hasBackdrop && this.backdropClose && this.dialogRef?.overlayRef) {\r\n this.backdropClick$ = this.dialogRef.overlayRef.backdropClick().subscribe(() => this.onClose('close'));\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 as string) && hs.includes(this.height as string)) {\r\n this.isDefaultMaximize = true;\r\n this.resizable = false;\r\n this.draggable = false;\r\n this.maximize = 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()) 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 = false;\r\n this.visibleChange.emit(this.visible);\r\n this.dialogRef?.overlayRef?.detach();\r\n this.unsubscribe();\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.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 = !this.isMaximize;\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.resizable) {\r\n this.renderer.setStyle(this.overlayElement, 'margin', '0 0 0 0');\r\n }\r\n if (this.draggable) {\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.draggable;\r\n this.dialogBox['resizable'] = this.resizable;\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.draggable) {\r\n this.dialogBox['distance'] = { ...this.distance };\r\n }\r\n if (this.resizable) {\r\n if (this.dialogBox['marginTop']) {\r\n this.renderer.setStyle(this.overlayElement, 'margin-top', `${this.dialogBox['marginTop']}`);\r\n }\r\n if (this.dialogBox['marginLeft']) {\r\n this.renderer.setStyle(this.overlayElement, 'margin-left', `${this.dialogBox['marginLeft']}`);\r\n }\r\n if (this.dialogBox['marginRight']) {\r\n this.renderer.setStyle(this.overlayElement, 'margin-right', `${this.dialogBox['marginRight']}`);\r\n }\r\n if (this.dialogBox['marginBottom']) {\r\n this.renderer.setStyle(this.overlayElement, 'margin-bottom', `${this.dialogBox['marginBottom']}`);\r\n }\r\n }\r\n }\r\n\r\n moveDone($event: { toState: string }) {\r\n if ($event.toState === 'void') {\r\n this.closeDone.emit($event);\r\n this.isMaximize = false;\r\n this.dialogBox = {\r\n draggable: this.draggable,\r\n resizable: this.resizable\r\n };\r\n this.distance = { x: 0, y: 0 };\r\n this.dialogRef?.overlayRef?.dispose();\r\n } else {\r\n this.showDone.emit($event);\r\n }\r\n }\r\n\r\n onResizing(event: XResizableEvent) {\r\n const contentHeight = Number(this.initContentHeight) + Number(event.clientHeight) - Number(this.initHeight);\r\n this.renderer.setStyle(this.dialogContent, 'max-height', 'initial');\r\n this.renderer.setStyle(this.dialogContent, 'flex', 'initial');\r\n if (['top-start', 'top-end', 'bottom', 'top', 'bottom-start', 'bottom-end'].includes(event.direction as string)) {\r\n this.renderer.setStyle(this.dialogContent, 'height', `${contentHeight}px`);\r\n }\r\n }\r\n}\r\n","<ng-template #dialogTpl>\r\n <div\r\n class=\"x-dialog\"\r\n [@x-move-box-animation]=\"placement\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n [class.x-dialog-maximize]=\"isMaximize\"\r\n [class.x-dialog-resizable]=\"resizable\"\r\n [class.x-dialog-default-maximize]=\"isDefaultMaximize\"\r\n >\r\n <x-alert\r\n [draggable]=\"draggable && dialogBox['draggable']\"\r\n [resizable]=\"resizable && dialogBox['resizable']\"\r\n [dragFreeDragPosition]=\"dialogBox['distance']\"\r\n [offsetLeft]=\"offsetLeft\"\r\n [offsetTop]=\"offsetTop\"\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 (resizing)=\"onResizing($event)\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\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 <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onClose('cancel')\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onClose('confirm')\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #operationTpl>\r\n <ng-container *ngIf=\"maximize || resizable\">\r\n <x-button size=\"small\" [icon]=\"isMaximize ? 'fto-minimize' : 'fto-maximize'\" [onlyIcon]=\"true\" (click)=\"onSize()\"></x-button>\r\n </ng-container>\r\n</ng-template>\r\n","import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ComponentRef,\r\n ContentChildren,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n QueryList,\r\n Renderer2,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { XMoveBoxAnimation } from '@ng-nest/ui/core';\r\nimport { XDialogAnimationEvent, XDialogAnimationState, XDialogRefOption } from './dialog.property';\r\nimport { AnimationEvent } from '@angular/animations';\r\nimport { CdkDrag, CdkDragEnd, CdkDragHandle } from '@angular/cdk/drag-drop';\r\nimport { XDialogRef } from './dialog-ref';\r\nimport { XResizableEvent } from '@ng-nest/ui/resizable';\r\n\r\n@Component({\r\n selector: 'x-dialog-portal',\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 animations: [XMoveBoxAnimation]\r\n})\r\nexport class XDialogPortalComponent extends BasePortalOutlet {\r\n // @HostBinding('class.x-dialog-portal') _has = true;\r\n @HostBinding('@x-move-box-animation') public placement?: XDialogAnimationState;\r\n @HostListener('@x-move-box-animation.done', ['$event']) done({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'done', state: toState as XDialogAnimationState, totalTime });\r\n }\r\n @HostListener('@x-move-box-animation.start', ['$event']) start({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'start', state: toState as XDialogAnimationState, totalTime });\r\n }\r\n @ViewChild(CdkPortalOutlet, { static: true }) portalOutlet!: CdkPortalOutlet;\r\n @ViewChild(CdkDrag, { static: true }) dragRef!: CdkDrag;\r\n\r\n @ContentChildren(CdkDragHandle, { descendants: true }) handles!: QueryList<CdkDragHandle>;\r\n\r\n animationChanged = new EventEmitter<XDialogAnimationEvent>();\r\n\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 constructor(private renderer: Renderer2) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.dialogBox['draggable'] = this.defaultMaximize ? this.dialogBox['draggable'] : this.option.draggable;\r\n this.dialogBox['resizable'] = this.defaultMaximize ? this.dialogBox['resizable'] : this.option.resizable;\r\n }\r\n\r\n ngAfterViewInit() {\r\n let list = new QueryList<CdkDragHandle>();\r\n for (let item of this.dialogRef.dragHandleRefs) {\r\n list.reset([...list.toArray(), new CdkDragHandle(item, this.dragRef)]);\r\n }\r\n this.dragRef._handles = list;\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 resizing(event: XResizableEvent) {\r\n const contentHeight = Number(this.initContentHeight) + Number(event.clientHeight) - Number(this.initHeight);\r\n this.renderer.setStyle(this.dialogContent, 'max-height', 'initial');\r\n this.renderer.setStyle(this.dialogContent, 'flex', 'initial');\r\n if (['top-start', 'top-end', 'bottom', 'top', 'bottom-start', 'bottom-end'].includes(event.direction as string)) {\r\n this.renderer.setStyle(this.dialogContent, 'height', `${contentHeight}px`);\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","<div\r\n class=\"x-dialog-portal\"\r\n #dragRef\r\n cdkDrag\r\n [cdkDragDisabled]=\"!option.draggable && !dialogBox['draggable']\"\r\n [cdkDragBoundary]=\"'.cdk-overlay-container'\"\r\n [cdkDragFreeDragPosition]=\"dialogBox['distance']\"\r\n [xResizable]=\"option.resizable && dialogBox['resizable']!\"\r\n (resizing)=\"resizing($event)\"\r\n (cdkDragEnded)=\"onDragEnded($event)\"\r\n [offsetLeft]=\"offsetLeft\"\r\n [offsetTop]=\"offsetTop\"\r\n [style.minWidth]=\"dialogBox['minWidth']\"\r\n [style.minHeight]=\"dialogBox['minHeight']\"\r\n>\r\n <ng-template cdkPortalOutlet></ng-template>\r\n</div>\r\n","import { OverlayRef } from '@angular/cdk/overlay';\r\nimport { ElementRef, Renderer2 } from '@angular/core';\r\nimport { filter, take } from 'rxjs';\r\nimport { PortalResizablePrefix, XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDialogPortalComponent } from './dialog-portal.component';\r\nimport { XDialogRefOption } from './dialog.property';\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: ElementRef<HTMLElement>[] = [];\r\n private _isFristFullscreen = true;\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() {\r\n this.containerInstance.animationChanged\r\n .pipe(\r\n filter((event) => event.state === 'void' && event.action === 'done'),\r\n take(1)\r\n )\r\n .subscribe(() => {\r\n this.overlayRef.detach();\r\n });\r\n this.containerInstance.placement = 'void';\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(this.portalService.setPlace(this.option.placement, this.option.offset!));\r\n this.renderer.addClass(hostElement, PortalResizablePrefix);\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, ElementRef, HostBinding, HostListener, Optional } from '@angular/core';\r\nimport { XDialogRef } from './dialog-ref';\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 constructor(@Optional() public dialogRef: XDialogRef<any>) {}\r\n}\r\n\r\n@Directive({\r\n selector: `[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})\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 constructor(@Optional() public dialogRef: XDialogRef<any>, private elementRef: ElementRef) {}\r\n\r\n ngOnInit() {\r\n this.dialogRef.dragHandleRefs.push(this.elementRef);\r\n }\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 constructor(@Optional() public dialogRef: XDialogRef<any>) {}\r\n}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\r\nimport { Injectable, Renderer2, RendererFactory2, TemplateRef } from '@angular/core';\r\nimport { fillDefault, XConfigService, XDialogConfig } from '@ng-nest/ui/core';\r\nimport { PortalResizablePrefix, 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\n\r\n@Injectable()\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 draggable: false,\r\n resizable: false\r\n };\r\n configDefault?: XDialogConfig;\r\n\r\n renderer!: Renderer2;\r\n\r\n constructor(\r\n public portalService: XPortalService,\r\n public configService: XConfigService,\r\n public overlay: Overlay,\r\n public rendererFactory: RendererFactory2\r\n ) {\r\n this.renderer = this.rendererFactory.createRenderer(null, null);\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 fillDefault(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 resizable: option.resizable\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 instance.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 if (option.resizable && !defaultMaximize) {\r\n this.renderer.addClass(hostElement, PortalResizablePrefix);\r\n setTimeout(() => {\r\n Object.assign(dialogBox, this.portalService.setResizable(overlayElement!, option.placement));\r\n instance.offsetLeft = overlayElement!.offsetLeft;\r\n instance.offsetTop = overlayElement!.offsetTop;\r\n const dialogDraggable = overlayElement?.querySelector('.x-dialog-portal')!;\r\n instance.initHeight = dialogDraggable.clientHeight;\r\n instance.dialogContent = overlayElement?.querySelector('.x-dialog-portal-content')!;\r\n instance.initContentHeight = instance.dialogContent?.clientHeight;\r\n instance.dialogBox = dialogBox;\r\n });\r\n }\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 if (option.hasBackdrop && option.backdropClose && overlayRef) {\r\n overlayRef.backdropClick().subscribe(() => {\r\n dialogRef.close();\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","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XDialogComponent } from './dialog.component';\r\nimport { XAlertModule } from '@ng-nest/ui/alert';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XResizableModule } from '@ng-nest/ui/resizable';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XDialogProperty } from './dialog.property';\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 { XDialogPortalComponent } from './dialog-portal.component';\r\nimport { XDialogService } from './dialog.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n XDialogComponent,\r\n XDialogCloseDirective,\r\n XDialogTitleDirective,\r\n XDialogContentDirective,\r\n XDialogActionsDirective,\r\n XDialogDragHandleDirective,\r\n XDialogFullscreenDirective,\r\n XDialogPortalComponent,\r\n XDialogProperty\r\n ],\r\n exports: [\r\n XDialogComponent,\r\n XDialogCloseDirective,\r\n XDialogTitleDirective,\r\n XDialogContentDirective,\r\n XDialogActionsDirective,\r\n XDialogDragHandleDirective,\r\n XDialogFullscreenDirective,\r\n XDialogPortalComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DragDropModule,\r\n XInputModule,\r\n XButtonModule,\r\n XIconModule,\r\n XPortalModule,\r\n XAlertModule,\r\n XOutletModule,\r\n XResizableModule\r\n ],\r\n providers: [XDialogService]\r\n})\r\nexport class XDialogModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i1.XDialogRef"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { EventEmitter, Directive, Input, Output, Inject, HostListener, NgModule } from '@angular/core';
|
|
3
|
+
import { EventEmitter, Directive, Input, Output, Inject, HostBinding, HostListener, NgModule } from '@angular/core';
|
|
4
4
|
import { XProperty, XInputBoolean, XInputNumber, XIsChange, XIsString, XIsArray } from '@ng-nest/ui/core';
|
|
5
5
|
import { fromEvent, takeUntil } from 'rxjs';
|
|
6
6
|
import { __decorate } from 'tslib';
|
|
@@ -110,6 +110,9 @@ class XResizableDirective extends XResizableProperty {
|
|
|
110
110
|
this.document = doc;
|
|
111
111
|
this.ele = this.elementRef.nativeElement;
|
|
112
112
|
}
|
|
113
|
+
get getDisabled() {
|
|
114
|
+
return !this.xResizable;
|
|
115
|
+
}
|
|
113
116
|
ngOnInit() {
|
|
114
117
|
this.setMapClass();
|
|
115
118
|
}
|
|
@@ -334,7 +337,7 @@ class XResizableDirective extends XResizableProperty {
|
|
|
334
337
|
}
|
|
335
338
|
}
|
|
336
339
|
/** @nocollapse */ /** @nocollapse */ XResizableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XResizableDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
|
|
337
|
-
/** @nocollapse */ /** @nocollapse */ XResizableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: XResizableDirective, selector: "[xResizable]", host: { listeners: { "mousedown": "mousedown($event)", "touchstart": "mousedown($event)" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
340
|
+
/** @nocollapse */ /** @nocollapse */ XResizableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: XResizableDirective, selector: "[xResizable]", host: { listeners: { "mousedown": "mousedown($event)", "touchstart": "mousedown($event)" }, properties: { "class.x-resizable-disabled": "this.getDisabled" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
338
341
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XResizableDirective, decorators: [{
|
|
339
342
|
type: Directive,
|
|
340
343
|
args: [{ selector: '[xResizable]' }]
|
|
@@ -343,7 +346,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
343
346
|
type: Inject,
|
|
344
347
|
args: [DOCUMENT]
|
|
345
348
|
}] }];
|
|
346
|
-
}, propDecorators: {
|
|
349
|
+
}, propDecorators: { getDisabled: [{
|
|
350
|
+
type: HostBinding,
|
|
351
|
+
args: ['class.x-resizable-disabled']
|
|
352
|
+
}], mousedown: [{
|
|
347
353
|
type: HostListener,
|
|
348
354
|
args: ['mousedown', ['$event']]
|
|
349
355
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-resizable.mjs","sources":["../../../../lib/ng-nest/ui/resizable/resizable.property.ts","../../../../lib/ng-nest/ui/resizable/resizable.directive.ts","../../../../lib/ng-nest/ui/resizable/resizable.module.ts","../../../../lib/ng-nest/ui/resizable/ng-nest-ui-resizable.ts"],"sourcesContent":["import { Directive, EventEmitter, Input, Output } from '@angular/core';\r\nimport { XBoolean, XCorner, XInputBoolean, XInputNumber, XNumber, XPosition, XProperty } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Resizable 指令名称\r\n * @selector x-resizable\r\n * @decorator Directive\r\n */\r\nexport const XResizablePrefix = 'x-resizable';\r\n// const X_CONFIG_NAME = 'resizable';\r\n\r\n/**\r\n * Resizable Property\r\n */\r\n@Directive({ selector: '[xResizable]' })\r\nexport class XResizableProperty extends XProperty {\r\n /**\r\n * @zh_CN 启用调整尺寸大小\r\n * @en_US Enable adjustment size size\r\n */\r\n @Input() @XInputBoolean() xResizable: XBoolean = true;\r\n /**\r\n * @zh_CN 调整方位\r\n * @en_US Adjust the orientation\r\n */\r\n @Input() position?: XResizablePosition | XResizablePosition[] = 'all';\r\n /**\r\n * @zh_CN 手动调整,通过回调的数值自行调整\r\n * @en_US Manual adjustment, adjustment of the number of callbacks\r\n */\r\n @Input() @XInputBoolean() ghost: XBoolean = false;\r\n /**\r\n * @zh_CN 偏移屏幕左边\r\n * @en_US Distance on the left side\r\n */\r\n @Input() @XInputNumber() offsetLeft: XNumber = 0;\r\n /**\r\n * @zh_CN 偏移屏幕顶部\r\n * @en_US Distance to the top of the screen\r\n */\r\n @Input() @XInputNumber() offsetTop: XNumber = 0;\r\n /**\r\n * @zh_CN 开始调整\r\n * @en_US Adjust the orientation\r\n */\r\n @Output() resizeBegin: EventEmitter<any> = new EventEmitter();\r\n /**\r\n * @zh_CN 调整中\r\n * @en_US Adjust the orientation\r\n */\r\n @Output() resizing: EventEmitter<XResizableEvent> = new EventEmitter();\r\n /**\r\n * @zh_CN 调整结束\r\n * @en_US Adjust the orientation\r\n */\r\n @Output() resizeEnd: EventEmitter<XResizableEvent> = new EventEmitter();\r\n}\r\n\r\n/**\r\n * @zh_CN 调整方位\r\n * @en_US Adjust the orientation\r\n */\r\nexport type XResizablePosition = XPosition | XCorner | 'all';\r\n\r\n/**\r\n * @zh_CN 调整尺寸的事件对象\r\n * @en_US Adjust the size of event objects\r\n */\r\nexport interface XResizableEvent {\r\n /**\r\n * @zh_CN 事件\r\n * @en_US Event\r\n */\r\n event?: MouseEvent | Touch;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n clientWidth?: number;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US height\r\n */\r\n clientHeight?: number;\r\n /**\r\n * @zh_CN 距离屏幕左边\r\n * @en_US Distance on the left side\r\n */\r\n offsetLeft?: number;\r\n /**\r\n * @zh_CN 距离屏幕顶部\r\n * @en_US Distance to the top of the screen\r\n */\r\n offsetTop?: number;\r\n /**\r\n * @zh_CN 改变方位\r\n * @en_US Change position\r\n */\r\n direction?: XResizablePosition | null;\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Directive, ElementRef, HostListener, Inject, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';\r\nimport { XIsArray, XIsChange, XIsString } from '@ng-nest/ui/core';\r\nimport { fromEvent, Subscription, takeUntil } from 'rxjs';\r\nimport { XResizablePosition, XResizablePrefix, XResizableProperty } from './resizable.property';\r\n\r\n@Directive({ selector: '[xResizable]' })\r\nexport class XResizableDirective extends XResizableProperty implements OnInit, OnDestroy {\r\n document!: Document;\r\n ele!: HTMLElement;\r\n cornerPositions: XResizablePosition[] = ['top-start', 'top-end', 'bottom-start', 'bottom-end'];\r\n allPositions: XResizablePosition[] = ['left', 'right', 'top', 'bottom', ...this.cornerPositions];\r\n positions: XResizablePosition[] = [];\r\n direction?: XResizablePosition | null;\r\n newBox = { clientWidth: 0, clientHeight: 0, offsetLeft: 0, offsetTop: 0 };\r\n mouseUpSub?: Subscription;\r\n\r\n minWidth?: number;\r\n maxWidth?: number;\r\n minHeight?: number;\r\n maxHeight?: number;\r\n\r\n positionNodes: { [key: string]: HTMLElement } = {};\r\n activatingNodes: HTMLElement[] = [];\r\n\r\n firstLoaded = true;\r\n\r\n constructor(private renderer: Renderer2, private elementRef: ElementRef, @Inject(DOCUMENT) doc: any) {\r\n super();\r\n this.document = doc;\r\n this.ele = this.elementRef.nativeElement;\r\n }\r\n\r\n ngOnInit() {\r\n this.setMapClass();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setPosition();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroySubscription();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { xResizable } = changes;\r\n XIsChange(xResizable) && this.setPosition();\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n @HostListener('touchstart', ['$event'])\r\n mousedown(event: MouseEvent | TouchEvent) {\r\n if (!this.xResizable) return;\r\n const classList = (event.target as HTMLElement).classList;\r\n let direction: XResizablePosition | null = null;\r\n for (let pos of this.allPositions) {\r\n if (classList.contains(`x-resizable-${pos}`)) {\r\n direction = pos;\r\n break;\r\n }\r\n }\r\n if (!direction) return;\r\n\r\n const evt = event.type.startsWith('touch') ? (event as TouchEvent).targetTouches[0] : (event as MouseEvent);\r\n const { clientWidth, clientHeight, offsetLeft, offsetTop } = this.ele;\r\n const { screenX, screenY } = evt;\r\n const isTouchEvent = event.type.startsWith('touch');\r\n const moveEvent = isTouchEvent ? 'touchmove' : 'mousemove';\r\n const upEvent = isTouchEvent ? 'touchend' : 'mouseup';\r\n\r\n this.setActivatingNodes(direction);\r\n this.initResize(event, direction);\r\n\r\n const mouseup = fromEvent(this.document, upEvent);\r\n this.mouseUpSub = mouseup.subscribe((ev) => {\r\n this.mouseup(ev as MouseEvent | TouchEvent);\r\n });\r\n const mouseMoveSub = fromEvent(document, moveEvent)\r\n .pipe(takeUntil(mouseup))\r\n .subscribe((ev) => this.move(ev as MouseEvent | TouchEvent, clientWidth, clientHeight, offsetTop, offsetLeft, screenX, screenY));\r\n\r\n this.mouseUpSub.add(mouseMoveSub);\r\n }\r\n\r\n setMapClass() {\r\n this.renderer.addClass(this.ele, XResizablePrefix);\r\n }\r\n\r\n setPosition() {\r\n if (!this.xResizable && !this.firstLoaded) return;\r\n let positions: XResizablePosition[] = [];\r\n if (XIsString(this.position)) {\r\n positions.push(this.position as XResizablePosition);\r\n } else if (XIsArray(this.position)) {\r\n positions = this.position as XResizablePosition[];\r\n }\r\n\r\n if (positions.includes('all')) {\r\n this.positions = this.allPositions;\r\n } else {\r\n this.positions = positions;\r\n }\r\n this.createNode(...this.positions);\r\n\r\n const computedStyle = window.getComputedStyle(this.ele);\r\n setTimeout(() => {\r\n this.minWidth = parseFloat(computedStyle.minWidth);\r\n this.maxWidth = parseFloat(computedStyle.maxWidth);\r\n this.minHeight = parseFloat(computedStyle.minHeight);\r\n this.maxHeight = parseFloat(computedStyle.maxHeight);\r\n this.firstLoaded = false;\r\n });\r\n }\r\n\r\n setActivatingNodes(direction: XResizablePosition) {\r\n if (!this.positions.includes(direction)) return;\r\n const addActivatingNode = (...direction: XResizablePosition[]) => {\r\n for (let item of direction) {\r\n const nd = this.positionNodes[item];\r\n const isNd = this.activatingNodes.includes(nd);\r\n if (!nd || isNd) continue;\r\n this.renderer.addClass(nd, 'x-resizable-activating');\r\n this.activatingNodes.push(nd);\r\n }\r\n };\r\n if (this.cornerPositions.includes(direction)) {\r\n switch (direction) {\r\n case 'bottom-end':\r\n addActivatingNode('bottom', 'right');\r\n break;\r\n case 'top-end':\r\n addActivatingNode('top', 'right');\r\n break;\r\n case 'bottom-start':\r\n addActivatingNode('bottom', 'left');\r\n break;\r\n case 'top-start':\r\n addActivatingNode('top', 'left');\r\n break;\r\n }\r\n }\r\n addActivatingNode(direction);\r\n }\r\n\r\n createNode(...classes: XResizablePosition[]) {\r\n for (let cla of classes) {\r\n const pos = this.renderer.createElement('div');\r\n this.renderer.addClass(pos, `x-resizable-${cla}`);\r\n this.renderer.appendChild(this.ele, pos);\r\n this.positionNodes[cla] = pos;\r\n }\r\n }\r\n\r\n initResize(event: MouseEvent | TouchEvent, direction: XResizablePosition) {\r\n this.direction = direction;\r\n this.renderer.addClass(this.ele, `x-resizable-resizing`);\r\n let { clientWidth, clientHeight, offsetLeft, offsetTop } = this.ele;\r\n this.newBox = { clientWidth, clientHeight, offsetLeft, offsetTop };\r\n event.stopPropagation();\r\n this.resizeBegin.emit();\r\n }\r\n\r\n mouseup(event: MouseEvent | TouchEvent) {\r\n this.endResize(event);\r\n this.destroySubscription();\r\n }\r\n\r\n endResize(event: MouseEvent | TouchEvent) {\r\n const evt = event.type.startsWith('touch') ? (event as TouchEvent).targetTouches[0] : (event as MouseEvent);\r\n this.direction = null;\r\n this.renderer.removeClass(this.ele, `x-resizable-resizing`);\r\n for (const node of this.activatingNodes) {\r\n this.renderer.removeClass(node, 'x-resizable-activating');\r\n }\r\n this.activatingNodes = [];\r\n this.resizeEnd.emit({ event: evt, ...this.newBox });\r\n }\r\n\r\n move(event: MouseEvent | TouchEvent, width: number, height: number, top: number, left: number, screenX: number, screenY: number) {\r\n const evt = event.type.startsWith('touch') ? (event as TouchEvent).targetTouches[0] : (event as MouseEvent);\r\n const movementX = evt.screenX - screenX;\r\n const movementY = evt.screenY - screenY;\r\n\r\n this.newBox = {\r\n clientWidth: width - (['bottom-start', 'left', 'top-start'].includes(this.direction as string) ? movementX : -movementX),\r\n clientHeight: height - (['top-start', 'top', 'top-end'].includes(this.direction as string) ? movementY : -movementY),\r\n offsetLeft: left + movementX,\r\n offsetTop: top + movementY\r\n };\r\n\r\n const box = {\r\n ...this.newBox,\r\n offsetLeft: this.newBox.offsetLeft - Number(this.offsetLeft),\r\n offsetTop: this.newBox.offsetTop - Number(this.offsetTop)\r\n };\r\n\r\n this.resizeBox(box);\r\n\r\n this.resizing.emit({ ...this.newBox, event: evt, direction: this.direction });\r\n }\r\n\r\n resizeBox(box: { clientWidth: number; clientHeight: number; offsetLeft: number; offsetTop: number }) {\r\n if (this.ghost) return;\r\n const overMinWidth = !this.minWidth || box.clientWidth >= this.minWidth;\r\n const underMaxWidth = !this.maxWidth || box.clientWidth <= this.maxWidth;\r\n const overMinHeight = !this.minHeight || box.clientHeight >= this.minHeight;\r\n const underMaxHeight = !this.maxHeight || box.clientHeight <= this.maxHeight;\r\n\r\n switch (this.direction) {\r\n case 'right':\r\n if (overMinWidth && underMaxWidth) {\r\n this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`);\r\n }\r\n break;\r\n case 'top-end':\r\n if (overMinWidth && underMaxWidth) {\r\n this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`);\r\n }\r\n if (overMinHeight && underMaxHeight) {\r\n this.renderer.setStyle(this.ele, 'top', `${box.offsetTop}px`);\r\n this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`);\r\n }\r\n break;\r\n case 'bottom-end':\r\n if (overMinWidth && underMaxWidth) {\r\n this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`);\r\n }\r\n if (overMinHeight && underMaxHeight) {\r\n this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`);\r\n }\r\n break;\r\n case 'bottom-start':\r\n if (overMinWidth && underMaxWidth) {\r\n this.renderer.setStyle(this.ele, 'left', `${box.offsetLeft}px`);\r\n this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`);\r\n }\r\n if (overMinHeight && underMaxHeight) {\r\n this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`);\r\n }\r\n break;\r\n case 'left':\r\n console.log(this.minWidth);\r\n if (overMinWidth && underMaxWidth) {\r\n this.renderer.setStyle(this.ele, 'left', `${box.offsetLeft}px`);\r\n this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`);\r\n }\r\n break;\r\n case 'top-start':\r\n if (overMinWidth && underMaxWidth) {\r\n this.renderer.setStyle(this.ele, 'left', `${box.offsetLeft}px`);\r\n this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`);\r\n }\r\n if (overMinHeight && underMaxHeight) {\r\n this.renderer.setStyle(this.ele, 'top', `${box.offsetTop}px`);\r\n this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`);\r\n }\r\n break;\r\n case 'top':\r\n if (overMinHeight && underMaxHeight) {\r\n this.renderer.setStyle(this.ele, 'top', `${box.offsetTop}px`);\r\n this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`);\r\n }\r\n break;\r\n case 'bottom':\r\n if (overMinHeight && underMaxHeight) {\r\n this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n private destroySubscription() {\r\n if (this.mouseUpSub) {\r\n this.mouseUpSub.unsubscribe();\r\n this.mouseUpSub = undefined;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XResizableDirective } from './resizable.directive';\r\n\r\n@NgModule({\r\n declarations: [XResizableDirective],\r\n exports: [XResizableDirective],\r\n imports: [CommonModule]\r\n})\r\nexport class XResizableModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-resizable.mjs","sources":["../../../../lib/ng-nest/ui/resizable/resizable.property.ts","../../../../lib/ng-nest/ui/resizable/resizable.directive.ts","../../../../lib/ng-nest/ui/resizable/resizable.module.ts","../../../../lib/ng-nest/ui/resizable/ng-nest-ui-resizable.ts"],"sourcesContent":["import { Directive, EventEmitter, Input, Output } from '@angular/core';\r\nimport { XBoolean, XCorner, XInputBoolean, XInputNumber, XNumber, XPosition, XProperty } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Resizable 指令名称\r\n * @selector x-resizable\r\n * @decorator Directive\r\n */\r\nexport const XResizablePrefix = 'x-resizable';\r\n// const X_CONFIG_NAME = 'resizable';\r\n\r\n/**\r\n * Resizable Property\r\n */\r\n@Directive({ selector: '[xResizable]' })\r\nexport class XResizableProperty extends XProperty {\r\n /**\r\n * @zh_CN 启用调整尺寸大小\r\n * @en_US Enable adjustment size size\r\n */\r\n @Input() @XInputBoolean() xResizable: XBoolean = true;\r\n /**\r\n * @zh_CN 调整方位\r\n * @en_US Adjust the orientation\r\n */\r\n @Input() position?: XResizablePosition | XResizablePosition[] = 'all';\r\n /**\r\n * @zh_CN 手动调整,通过回调的数值自行调整\r\n * @en_US Manual adjustment, adjustment of the number of callbacks\r\n */\r\n @Input() @XInputBoolean() ghost: XBoolean = false;\r\n /**\r\n * @zh_CN 偏移屏幕左边\r\n * @en_US Distance on the left side\r\n */\r\n @Input() @XInputNumber() offsetLeft: XNumber = 0;\r\n /**\r\n * @zh_CN 偏移屏幕顶部\r\n * @en_US Distance to the top of the screen\r\n */\r\n @Input() @XInputNumber() offsetTop: XNumber = 0;\r\n /**\r\n * @zh_CN 开始调整\r\n * @en_US Adjust the orientation\r\n */\r\n @Output() resizeBegin: EventEmitter<any> = new EventEmitter();\r\n /**\r\n * @zh_CN 调整中\r\n * @en_US Adjust the orientation\r\n */\r\n @Output() resizing: EventEmitter<XResizableEvent> = new EventEmitter();\r\n /**\r\n * @zh_CN 调整结束\r\n * @en_US Adjust the orientation\r\n */\r\n @Output() resizeEnd: EventEmitter<XResizableEvent> = new EventEmitter();\r\n}\r\n\r\n/**\r\n * @zh_CN 调整方位\r\n * @en_US Adjust the orientation\r\n */\r\nexport type XResizablePosition = XPosition | XCorner | 'all';\r\n\r\n/**\r\n * @zh_CN 调整尺寸的事件对象\r\n * @en_US Adjust the size of event objects\r\n */\r\nexport interface XResizableEvent {\r\n /**\r\n * @zh_CN 事件\r\n * @en_US Event\r\n */\r\n event?: MouseEvent | Touch;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n clientWidth?: number;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US height\r\n */\r\n clientHeight?: number;\r\n /**\r\n * @zh_CN 距离屏幕左边\r\n * @en_US Distance on the left side\r\n */\r\n offsetLeft?: number;\r\n /**\r\n * @zh_CN 距离屏幕顶部\r\n * @en_US Distance to the top of the screen\r\n */\r\n offsetTop?: number;\r\n /**\r\n * @zh_CN 改变方位\r\n * @en_US Change position\r\n */\r\n direction?: XResizablePosition | null;\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Directive, ElementRef, HostBinding, HostListener, Inject, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';\r\nimport { XIsArray, XIsChange, XIsString } from '@ng-nest/ui/core';\r\nimport { fromEvent, Subscription, takeUntil } from 'rxjs';\r\nimport { XResizablePosition, XResizablePrefix, XResizableProperty } from './resizable.property';\r\n\r\n@Directive({ selector: '[xResizable]' })\r\nexport class XResizableDirective extends XResizableProperty implements OnInit, OnDestroy {\r\n @HostBinding('class.x-resizable-disabled') get getDisabled() {\r\n return !this.xResizable;\r\n }\r\n document!: Document;\r\n ele!: HTMLElement;\r\n cornerPositions: XResizablePosition[] = ['top-start', 'top-end', 'bottom-start', 'bottom-end'];\r\n allPositions: XResizablePosition[] = ['left', 'right', 'top', 'bottom', ...this.cornerPositions];\r\n positions: XResizablePosition[] = [];\r\n direction?: XResizablePosition | null;\r\n newBox = { clientWidth: 0, clientHeight: 0, offsetLeft: 0, offsetTop: 0 };\r\n mouseUpSub?: Subscription;\r\n\r\n minWidth?: number;\r\n maxWidth?: number;\r\n minHeight?: number;\r\n maxHeight?: number;\r\n\r\n positionNodes: { [key: string]: HTMLElement } = {};\r\n activatingNodes: HTMLElement[] = [];\r\n\r\n firstLoaded = true;\r\n\r\n constructor(private renderer: Renderer2, private elementRef: ElementRef, @Inject(DOCUMENT) doc: any) {\r\n super();\r\n this.document = doc;\r\n this.ele = this.elementRef.nativeElement;\r\n }\r\n\r\n ngOnInit() {\r\n this.setMapClass();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setPosition();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroySubscription();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { xResizable } = changes;\r\n XIsChange(xResizable) && this.setPosition();\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n @HostListener('touchstart', ['$event'])\r\n mousedown(event: MouseEvent | TouchEvent) {\r\n if (!this.xResizable) return;\r\n const classList = (event.target as HTMLElement).classList;\r\n let direction: XResizablePosition | null = null;\r\n for (let pos of this.allPositions) {\r\n if (classList.contains(`x-resizable-${pos}`)) {\r\n direction = pos;\r\n break;\r\n }\r\n }\r\n if (!direction) return;\r\n\r\n const evt = event.type.startsWith('touch') ? (event as TouchEvent).targetTouches[0] : (event as MouseEvent);\r\n const { clientWidth, clientHeight, offsetLeft, offsetTop } = this.ele;\r\n const { screenX, screenY } = evt;\r\n const isTouchEvent = event.type.startsWith('touch');\r\n const moveEvent = isTouchEvent ? 'touchmove' : 'mousemove';\r\n const upEvent = isTouchEvent ? 'touchend' : 'mouseup';\r\n\r\n this.setActivatingNodes(direction);\r\n this.initResize(event, direction);\r\n\r\n const mouseup = fromEvent(this.document, upEvent);\r\n this.mouseUpSub = mouseup.subscribe((ev) => {\r\n this.mouseup(ev as MouseEvent | TouchEvent);\r\n });\r\n const mouseMoveSub = fromEvent(document, moveEvent)\r\n .pipe(takeUntil(mouseup))\r\n .subscribe((ev) => this.move(ev as MouseEvent | TouchEvent, clientWidth, clientHeight, offsetTop, offsetLeft, screenX, screenY));\r\n\r\n this.mouseUpSub.add(mouseMoveSub);\r\n }\r\n\r\n setMapClass() {\r\n this.renderer.addClass(this.ele, XResizablePrefix);\r\n }\r\n\r\n setPosition() {\r\n if (!this.xResizable && !this.firstLoaded) return;\r\n let positions: XResizablePosition[] = [];\r\n if (XIsString(this.position)) {\r\n positions.push(this.position as XResizablePosition);\r\n } else if (XIsArray(this.position)) {\r\n positions = this.position as XResizablePosition[];\r\n }\r\n\r\n if (positions.includes('all')) {\r\n this.positions = this.allPositions;\r\n } else {\r\n this.positions = positions;\r\n }\r\n this.createNode(...this.positions);\r\n\r\n const computedStyle = window.getComputedStyle(this.ele);\r\n setTimeout(() => {\r\n this.minWidth = parseFloat(computedStyle.minWidth);\r\n this.maxWidth = parseFloat(computedStyle.maxWidth);\r\n this.minHeight = parseFloat(computedStyle.minHeight);\r\n this.maxHeight = parseFloat(computedStyle.maxHeight);\r\n this.firstLoaded = false;\r\n });\r\n }\r\n\r\n setActivatingNodes(direction: XResizablePosition) {\r\n if (!this.positions.includes(direction)) return;\r\n const addActivatingNode = (...direction: XResizablePosition[]) => {\r\n for (let item of direction) {\r\n const nd = this.positionNodes[item];\r\n const isNd = this.activatingNodes.includes(nd);\r\n if (!nd || isNd) continue;\r\n this.renderer.addClass(nd, 'x-resizable-activating');\r\n this.activatingNodes.push(nd);\r\n }\r\n };\r\n if (this.cornerPositions.includes(direction)) {\r\n switch (direction) {\r\n case 'bottom-end':\r\n addActivatingNode('bottom', 'right');\r\n break;\r\n case 'top-end':\r\n addActivatingNode('top', 'right');\r\n break;\r\n case 'bottom-start':\r\n addActivatingNode('bottom', 'left');\r\n break;\r\n case 'top-start':\r\n addActivatingNode('top', 'left');\r\n break;\r\n }\r\n }\r\n addActivatingNode(direction);\r\n }\r\n\r\n createNode(...classes: XResizablePosition[]) {\r\n for (let cla of classes) {\r\n const pos = this.renderer.createElement('div');\r\n this.renderer.addClass(pos, `x-resizable-${cla}`);\r\n this.renderer.appendChild(this.ele, pos);\r\n this.positionNodes[cla] = pos;\r\n }\r\n }\r\n\r\n initResize(event: MouseEvent | TouchEvent, direction: XResizablePosition) {\r\n this.direction = direction;\r\n this.renderer.addClass(this.ele, `x-resizable-resizing`);\r\n let { clientWidth, clientHeight, offsetLeft, offsetTop } = this.ele;\r\n this.newBox = { clientWidth, clientHeight, offsetLeft, offsetTop };\r\n event.stopPropagation();\r\n this.resizeBegin.emit();\r\n }\r\n\r\n mouseup(event: MouseEvent | TouchEvent) {\r\n this.endResize(event);\r\n this.destroySubscription();\r\n }\r\n\r\n endResize(event: MouseEvent | TouchEvent) {\r\n const evt = event.type.startsWith('touch') ? (event as TouchEvent).targetTouches[0] : (event as MouseEvent);\r\n this.direction = null;\r\n this.renderer.removeClass(this.ele, `x-resizable-resizing`);\r\n for (const node of this.activatingNodes) {\r\n this.renderer.removeClass(node, 'x-resizable-activating');\r\n }\r\n this.activatingNodes = [];\r\n this.resizeEnd.emit({ event: evt, ...this.newBox });\r\n }\r\n\r\n move(event: MouseEvent | TouchEvent, width: number, height: number, top: number, left: number, screenX: number, screenY: number) {\r\n const evt = event.type.startsWith('touch') ? (event as TouchEvent).targetTouches[0] : (event as MouseEvent);\r\n const movementX = evt.screenX - screenX;\r\n const movementY = evt.screenY - screenY;\r\n\r\n this.newBox = {\r\n clientWidth: width - (['bottom-start', 'left', 'top-start'].includes(this.direction as string) ? movementX : -movementX),\r\n clientHeight: height - (['top-start', 'top', 'top-end'].includes(this.direction as string) ? movementY : -movementY),\r\n offsetLeft: left + movementX,\r\n offsetTop: top + movementY\r\n };\r\n\r\n const box = {\r\n ...this.newBox,\r\n offsetLeft: this.newBox.offsetLeft - Number(this.offsetLeft),\r\n offsetTop: this.newBox.offsetTop - Number(this.offsetTop)\r\n };\r\n\r\n this.resizeBox(box);\r\n\r\n this.resizing.emit({ ...this.newBox, event: evt, direction: this.direction });\r\n }\r\n\r\n resizeBox(box: { clientWidth: number; clientHeight: number; offsetLeft: number; offsetTop: number }) {\r\n if (this.ghost) return;\r\n const overMinWidth = !this.minWidth || box.clientWidth >= this.minWidth;\r\n const underMaxWidth = !this.maxWidth || box.clientWidth <= this.maxWidth;\r\n const overMinHeight = !this.minHeight || box.clientHeight >= this.minHeight;\r\n const underMaxHeight = !this.maxHeight || box.clientHeight <= this.maxHeight;\r\n\r\n switch (this.direction) {\r\n case 'right':\r\n if (overMinWidth && underMaxWidth) {\r\n this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`);\r\n }\r\n break;\r\n case 'top-end':\r\n if (overMinWidth && underMaxWidth) {\r\n this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`);\r\n }\r\n if (overMinHeight && underMaxHeight) {\r\n this.renderer.setStyle(this.ele, 'top', `${box.offsetTop}px`);\r\n this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`);\r\n }\r\n break;\r\n case 'bottom-end':\r\n if (overMinWidth && underMaxWidth) {\r\n this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`);\r\n }\r\n if (overMinHeight && underMaxHeight) {\r\n this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`);\r\n }\r\n break;\r\n case 'bottom-start':\r\n if (overMinWidth && underMaxWidth) {\r\n this.renderer.setStyle(this.ele, 'left', `${box.offsetLeft}px`);\r\n this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`);\r\n }\r\n if (overMinHeight && underMaxHeight) {\r\n this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`);\r\n }\r\n break;\r\n case 'left':\r\n console.log(this.minWidth);\r\n if (overMinWidth && underMaxWidth) {\r\n this.renderer.setStyle(this.ele, 'left', `${box.offsetLeft}px`);\r\n this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`);\r\n }\r\n break;\r\n case 'top-start':\r\n if (overMinWidth && underMaxWidth) {\r\n this.renderer.setStyle(this.ele, 'left', `${box.offsetLeft}px`);\r\n this.renderer.setStyle(this.ele, 'width', `${box.clientWidth}px`);\r\n }\r\n if (overMinHeight && underMaxHeight) {\r\n this.renderer.setStyle(this.ele, 'top', `${box.offsetTop}px`);\r\n this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`);\r\n }\r\n break;\r\n case 'top':\r\n if (overMinHeight && underMaxHeight) {\r\n this.renderer.setStyle(this.ele, 'top', `${box.offsetTop}px`);\r\n this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`);\r\n }\r\n break;\r\n case 'bottom':\r\n if (overMinHeight && underMaxHeight) {\r\n this.renderer.setStyle(this.ele, 'height', `${box.clientHeight}px`);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n private destroySubscription() {\r\n if (this.mouseUpSub) {\r\n this.mouseUpSub.unsubscribe();\r\n this.mouseUpSub = undefined;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XResizableDirective } from './resizable.directive';\r\n\r\n@NgModule({\r\n declarations: [XResizableDirective],\r\n exports: [XResizableDirective],\r\n imports: [CommonModule]\r\n})\r\nexport class XResizableModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|