@ng-nest/ui 13.0.7 → 13.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/table/table-body.component.mjs +4 -4
- package/esm2020/table/table.component.mjs +3 -3
- package/esm2020/table/table.property.mjs +7 -3
- package/esm2020/tooltip/tooltip.directive.mjs +12 -4
- package/esm2020/tooltip/tooltip.property.mjs +18 -2
- package/fesm2015/ng-nest-ui-table.mjs +11 -7
- package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tooltip.mjs +28 -4
- package/fesm2015/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-table.mjs +11 -7
- package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tooltip.mjs +28 -4
- package/fesm2020/ng-nest-ui-tooltip.mjs.map +1 -1
- package/package.json +1 -1
- package/table/examples/en_US/default/rowclass/README.md +6 -0
- package/table/examples/zh_CN/default/rowclass/README.md +6 -0
- package/table/table.property.d.ts +23 -2
- package/tooltip/tooltip.directive.d.ts +1 -0
- package/tooltip/tooltip.property.d.ts +11 -1
|
@@ -21,9 +21,21 @@ const X_CONFIG_NAME = 'tooltip';
|
|
|
21
21
|
* Tooltip Property
|
|
22
22
|
*/
|
|
23
23
|
class XTooltipProperty {
|
|
24
|
+
constructor() {
|
|
25
|
+
/**
|
|
26
|
+
* @zh_CN 鼠标移入后延时多少才显示
|
|
27
|
+
* @en_US How much is the mouse transfer after transfer
|
|
28
|
+
*/
|
|
29
|
+
this.mouseEnterDelay = 150;
|
|
30
|
+
/**
|
|
31
|
+
* @zh_CN 鼠标移出后延时多少才隐藏
|
|
32
|
+
* @en_US How much hidden is hidden after the mouse is removed
|
|
33
|
+
*/
|
|
34
|
+
this.mouseLeaveDelay = 100;
|
|
35
|
+
}
|
|
24
36
|
}
|
|
25
37
|
/** @nocollapse */ /** @nocollapse */ XTooltipProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTooltipProperty, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
26
|
-
/** @nocollapse */ /** @nocollapse */ XTooltipProperty.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: XTooltipProperty, selector: "[x-tooltip], x-tooltip", inputs: { content: "content", placement: "placement", visible: "visible", backgroundColor: "backgroundColor", color: "color", manual: "manual" }, ngImport: i0 });
|
|
38
|
+
/** @nocollapse */ /** @nocollapse */ XTooltipProperty.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: XTooltipProperty, selector: "[x-tooltip], x-tooltip", inputs: { content: "content", placement: "placement", visible: "visible", backgroundColor: "backgroundColor", color: "color", manual: "manual", mouseEnterDelay: "mouseEnterDelay", mouseLeaveDelay: "mouseLeaveDelay" }, ngImport: i0 });
|
|
27
39
|
__decorate([
|
|
28
40
|
XWithConfig(X_CONFIG_NAME, 'bottom')
|
|
29
41
|
], XTooltipProperty.prototype, "placement", void 0);
|
|
@@ -48,6 +60,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
48
60
|
type: Input
|
|
49
61
|
}], manual: [{
|
|
50
62
|
type: Input
|
|
63
|
+
}], mouseEnterDelay: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], mouseLeaveDelay: [{
|
|
66
|
+
type: Input
|
|
51
67
|
}] } });
|
|
52
68
|
/**
|
|
53
69
|
* Tooltip Portal
|
|
@@ -187,17 +203,25 @@ class XTooltipDirective extends XTooltipProperty {
|
|
|
187
203
|
show() {
|
|
188
204
|
if (this.timeoutHide)
|
|
189
205
|
clearTimeout(this.timeoutHide);
|
|
206
|
+
if (this.timeoutShow)
|
|
207
|
+
clearTimeout(this.timeoutShow);
|
|
190
208
|
if (!this.portal || (this.portal && !this.portal.overlayRef?.hasAttached())) {
|
|
191
|
-
this.
|
|
192
|
-
|
|
209
|
+
this.timeoutShow = setTimeout(() => {
|
|
210
|
+
this.visible = true;
|
|
211
|
+
this.createPortal();
|
|
212
|
+
}, this.mouseEnterDelay);
|
|
193
213
|
}
|
|
194
214
|
}
|
|
195
215
|
hide() {
|
|
216
|
+
if (this.timeoutHide)
|
|
217
|
+
clearTimeout(this.timeoutHide);
|
|
218
|
+
if (this.timeoutShow)
|
|
219
|
+
clearTimeout(this.timeoutShow);
|
|
196
220
|
if (this.portal?.overlayRef?.hasAttached()) {
|
|
197
221
|
this.timeoutHide = setTimeout(() => {
|
|
198
222
|
this.visible = false;
|
|
199
223
|
this.portal.overlayRef?.dispose();
|
|
200
|
-
});
|
|
224
|
+
}, this.mouseLeaveDelay);
|
|
201
225
|
}
|
|
202
226
|
}
|
|
203
227
|
createPortal() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-tooltip.mjs","sources":["../../../../lib/ng-nest/ui/tooltip/tooltip.property.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.html","../../../../lib/ng-nest/ui/tooltip/tooltip.directive.ts","../../../../lib/ng-nest/ui/tooltip/tooltip.module.ts","../../../../lib/ng-nest/ui/tooltip/ng-nest-ui-tooltip.ts"],"sourcesContent":["import { XPlacement, XInputBoolean, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Directive } from '@angular/core';\r\n\r\n/**\r\n * Tooltip\r\n * @selector x-tooltip\r\n * @decorator directive\r\n */\r\nexport const XTooltipPrefix = 'x-tooltip';\r\nconst X_CONFIG_NAME = 'tooltip';\r\n\r\n/**\r\n * Tooltip Property\r\n */\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipProperty {\r\n /**\r\n * @zh_CN 内容\r\n * @en_US Content\r\n */\r\n @Input() content?: string;\r\n /**\r\n * @zh_CN 显示位置\r\n * @en_US Display position\r\n */\r\n @Input() @XWithConfig<XPlacement>(X_CONFIG_NAME, 'bottom') placement?: XPlacement;\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n @Input() @XInputBoolean() visible?: XBoolean;\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n @Input() backgroundColor?: string;\r\n /**\r\n * @zh_CN 文字颜色\r\n * @en_US Text color\r\n */\r\n @Input() color?: string;\r\n /**\r\n * @zh_CN 手动处理关闭事件\r\n * @en_US Manually handle the shutdown event\r\n */\r\n @Input() @XInputBoolean() manual?: XBoolean;\r\n}\r\n\r\n/**\r\n * Tooltip Portal\r\n * @selector x-tooltip-portal\r\n * @decorator component\r\n */\r\nexport const XTooltipPortalPrefix = 'x-tooltip-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n OnInit,\r\n ElementRef,\r\n OnDestroy,\r\n ViewChild,\r\n Renderer2,\r\n HostListener,\r\n AfterViewInit,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { XTooltipPortalPrefix } from './tooltip.property';\r\nimport { XPlacement, XClassMap, XFadeAnimation } from '@ng-nest/ui/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XTooltipPortalPrefix}`,\r\n templateUrl: './tooltip-portal.component.html',\r\n styleUrls: ['./tooltip-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XFadeAnimation]\r\n})\r\nexport class XTooltipPortalComponent implements OnInit, OnDestroy, OnDestroy, AfterViewInit {\r\n @HostListener('mouseenter') mouseenter() {\r\n this.portalHover(true);\r\n }\r\n @HostListener('mouseleave') mouseleave() {\r\n this.portalHover(false);\r\n }\r\n\r\n @HostBinding('@x-fade-animation') animation: any;\r\n\r\n @ViewChild('tooltipPortal', { static: true }) tooltipPortal!: ElementRef;\r\n @ViewChild('tooltipArrow', { static: false }) tooltipArrow!: ElementRef;\r\n @ViewChild('tooltipArrowAfter', { static: false }) tooltipArrowAfter!: ElementRef;\r\n\r\n contentChange!: BehaviorSubject<any>;\r\n classMap: XClassMap = {};\r\n box!: DOMRect;\r\n portalBox!: DOMRect;\r\n arrowBox!: DOMRect;\r\n portalHover!: Function;\r\n viewInit!: Function;\r\n destroy!: Function;\r\n placement!: XPlacement;\r\n previousPlacement!: XPlacement;\r\n content!: string;\r\n color!: string;\r\n backgroundColor!: string;\r\n positionChange: Subject<any> = new Subject();\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(private renderer: Renderer2, public cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.contentChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.content = x;\r\n this.cdr.detectChanges();\r\n });\r\n this.positionChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.placement = x;\r\n this.setClassMap();\r\n setTimeout(() => this.setArrow());\r\n this.cdr.detectChanges();\r\n });\r\n this.setClassMap();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.viewInit();\r\n this.portalBox = this.tooltipPortal.nativeElement.getBoundingClientRect();\r\n this.arrowBox = this.tooltipArrow.nativeElement.getBoundingClientRect();\r\n this.setArrow();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap[`${XTooltipPortalPrefix}-${this.previousPlacement}`] = false;\r\n this.classMap[`${XTooltipPortalPrefix}-${this.placement}`] = true;\r\n this.previousPlacement = `${this.placement}` as XPlacement;\r\n }\r\n\r\n setArrow() {\r\n let offset = this.arrowBox.height / 2;\r\n if (this.portalBox.height > this.box.height && (this.includes('right-') || this.includes('left-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'top', `${this.box.height / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'bottom', `${this.box.height / 2 - offset}px`);\r\n }\r\n } else if (this.portalBox.width > this.box.width && (this.includes('top-') || this.includes('bottom-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'left', `${this.box.width / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'right', `${this.box.width / 2 - offset}px`);\r\n }\r\n }\r\n if (!this.backgroundColor) return;\r\n const ptSplit = this.placement.split('-');\r\n if (ptSplit.length > 0) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, `border-${ptSplit[0]}-color`, this.backgroundColor);\r\n this.renderer.setStyle(this.tooltipArrowAfter.nativeElement, `border-${ptSplit[0]}-color`, this.backgroundColor);\r\n }\r\n }\r\n\r\n includes(arrow: string) {\r\n return this.placement.indexOf(arrow) >= 0;\r\n }\r\n}\r\n","<div #tooltipPortal class=\"x-tooltip-portal\" [ngClass]=\"classMap\">\r\n <div class=\"x-tooltip-portal-inner\" [style.backgroundColor]=\"backgroundColor\" [style.color]=\"color\" [innerHTML]=\"content\"></div>\r\n <div #tooltipArrow class=\"x-tooltip-portal-arrow\">\r\n <div #tooltipArrowAfter class=\"x-tooltip-portal-arrow-after\"></div>\r\n </div>\r\n</div>\r\n","import { ElementRef, ViewContainerRef, Directive, HostListener, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XTooltipPortalComponent } from './tooltip-portal.component';\r\nimport { XTooltipPrefix, XTooltipProperty } from './tooltip.property';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { XIsChange, XPlacement } from '@ng-nest/ui/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { OverlayConfig, FlexibleConnectedPositionStrategy, ConnectedOverlayPositionChange, Overlay } from '@angular/cdk/overlay';\r\n\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipDirective extends XTooltipProperty implements OnChanges, OnDestroy {\r\n portal!: XPortalOverlayRef<XTooltipPortalComponent>;\r\n box!: DOMRect;\r\n contentChange: BehaviorSubject<any> = new BehaviorSubject(null);\r\n positionChange: Subject<any> = new Subject();\r\n timeoutHide: any;\r\n private _unSubject = new Subject();\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private portalService: XPortalService,\r\n private viewContainerRef: ViewContainerRef,\r\n private overlay: Overlay\r\n ) {\r\n super();\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n !this.manual && this.show();\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n !this.manual && this.hide();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { content, visible } = changes;\r\n XIsChange(content) && this.contentChange.next(this.content);\r\n if (XIsChange(visible)) {\r\n if (this.visible) this.show();\r\n else this.hide();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.contentChange.unsubscribe();\r\n }\r\n\r\n show() {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (!this.portal || (this.portal && !this.portal.overlayRef?.hasAttached())) {\r\n this.visible = true;\r\n this.createPortal();\r\n }\r\n }\r\n\r\n hide() {\r\n if (this.portal?.overlayRef?.hasAttached()) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.visible = false;\r\n this.portal.overlayRef?.dispose();\r\n });\r\n }\r\n }\r\n\r\n createPortal() {\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n positionStrategy: this.portalService.setPlacement({\r\n elementRef: this.elementRef,\r\n placement: [this.placement as XPlacement, 'bottom', 'top', 'left', 'right']\r\n }),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XTooltipPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this._unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPlacement;\r\n place !== this.placement && this.positionChange.next(place);\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n this.box = this.elementRef.nativeElement.getBoundingClientRect();\r\n Object.assign(componentRef.instance, {\r\n box: this.box,\r\n content: this.content,\r\n contentChange: this.contentChange,\r\n color: this.color,\r\n backgroundColor: this.backgroundColor,\r\n placement: this.placement,\r\n positionChange: this.positionChange,\r\n portalHover: (hover: boolean) => {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.hide();\r\n }\r\n },\r\n viewInit: () => this.updatePortal()\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n updatePortal() {\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTooltipDirective } from './tooltip.directive';\r\nimport { XTooltipPortalComponent } from './tooltip-portal.component';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XTooltipProperty } from './tooltip.property';\r\n\r\n@NgModule({\r\n declarations: [XTooltipDirective, XTooltipPortalComponent, XTooltipProperty],\r\n exports: [XTooltipDirective, XTooltipPortalComponent],\r\n imports: [CommonModule, XPortalModule]\r\n})\r\nexport class XTooltipModule {}\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-tooltip.mjs","sources":["../../../../lib/ng-nest/ui/tooltip/tooltip.property.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.html","../../../../lib/ng-nest/ui/tooltip/tooltip.directive.ts","../../../../lib/ng-nest/ui/tooltip/tooltip.module.ts","../../../../lib/ng-nest/ui/tooltip/ng-nest-ui-tooltip.ts"],"sourcesContent":["import { XPlacement, XInputBoolean, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Directive } from '@angular/core';\r\n\r\n/**\r\n * Tooltip\r\n * @selector x-tooltip\r\n * @decorator directive\r\n */\r\nexport const XTooltipPrefix = 'x-tooltip';\r\nconst X_CONFIG_NAME = 'tooltip';\r\n\r\n/**\r\n * Tooltip Property\r\n */\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipProperty {\r\n /**\r\n * @zh_CN 内容\r\n * @en_US Content\r\n */\r\n @Input() content?: string;\r\n /**\r\n * @zh_CN 显示位置\r\n * @en_US Display position\r\n */\r\n @Input() @XWithConfig<XPlacement>(X_CONFIG_NAME, 'bottom') placement?: XPlacement;\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n @Input() @XInputBoolean() visible?: XBoolean;\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n @Input() backgroundColor?: string;\r\n /**\r\n * @zh_CN 文字颜色\r\n * @en_US Text color\r\n */\r\n @Input() color?: string;\r\n /**\r\n * @zh_CN 手动处理关闭事件\r\n * @en_US Manually handle the shutdown event\r\n */\r\n @Input() @XInputBoolean() manual?: XBoolean;\r\n /**\r\n * @zh_CN 鼠标移入后延时多少才显示\r\n * @en_US How much is the mouse transfer after transfer\r\n */\r\n @Input() mouseEnterDelay: number = 150;\r\n /**\r\n * @zh_CN 鼠标移出后延时多少才隐藏\r\n * @en_US How much hidden is hidden after the mouse is removed\r\n */\r\n @Input() mouseLeaveDelay: number = 100;\r\n}\r\n\r\n/**\r\n * Tooltip Portal\r\n * @selector x-tooltip-portal\r\n * @decorator component\r\n */\r\nexport const XTooltipPortalPrefix = 'x-tooltip-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n OnInit,\r\n ElementRef,\r\n OnDestroy,\r\n ViewChild,\r\n Renderer2,\r\n HostListener,\r\n AfterViewInit,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { XTooltipPortalPrefix } from './tooltip.property';\r\nimport { XPlacement, XClassMap, XFadeAnimation } from '@ng-nest/ui/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XTooltipPortalPrefix}`,\r\n templateUrl: './tooltip-portal.component.html',\r\n styleUrls: ['./tooltip-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XFadeAnimation]\r\n})\r\nexport class XTooltipPortalComponent implements OnInit, OnDestroy, OnDestroy, AfterViewInit {\r\n @HostListener('mouseenter') mouseenter() {\r\n this.portalHover(true);\r\n }\r\n @HostListener('mouseleave') mouseleave() {\r\n this.portalHover(false);\r\n }\r\n\r\n @HostBinding('@x-fade-animation') animation: any;\r\n\r\n @ViewChild('tooltipPortal', { static: true }) tooltipPortal!: ElementRef;\r\n @ViewChild('tooltipArrow', { static: false }) tooltipArrow!: ElementRef;\r\n @ViewChild('tooltipArrowAfter', { static: false }) tooltipArrowAfter!: ElementRef;\r\n\r\n contentChange!: BehaviorSubject<any>;\r\n classMap: XClassMap = {};\r\n box!: DOMRect;\r\n portalBox!: DOMRect;\r\n arrowBox!: DOMRect;\r\n portalHover!: Function;\r\n viewInit!: Function;\r\n destroy!: Function;\r\n placement!: XPlacement;\r\n previousPlacement!: XPlacement;\r\n content!: string;\r\n color!: string;\r\n backgroundColor!: string;\r\n positionChange: Subject<any> = new Subject();\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(private renderer: Renderer2, public cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.contentChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.content = x;\r\n this.cdr.detectChanges();\r\n });\r\n this.positionChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.placement = x;\r\n this.setClassMap();\r\n setTimeout(() => this.setArrow());\r\n this.cdr.detectChanges();\r\n });\r\n this.setClassMap();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.viewInit();\r\n this.portalBox = this.tooltipPortal.nativeElement.getBoundingClientRect();\r\n this.arrowBox = this.tooltipArrow.nativeElement.getBoundingClientRect();\r\n this.setArrow();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap[`${XTooltipPortalPrefix}-${this.previousPlacement}`] = false;\r\n this.classMap[`${XTooltipPortalPrefix}-${this.placement}`] = true;\r\n this.previousPlacement = `${this.placement}` as XPlacement;\r\n }\r\n\r\n setArrow() {\r\n let offset = this.arrowBox.height / 2;\r\n if (this.portalBox.height > this.box.height && (this.includes('right-') || this.includes('left-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'top', `${this.box.height / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'bottom', `${this.box.height / 2 - offset}px`);\r\n }\r\n } else if (this.portalBox.width > this.box.width && (this.includes('top-') || this.includes('bottom-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'left', `${this.box.width / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'right', `${this.box.width / 2 - offset}px`);\r\n }\r\n }\r\n if (!this.backgroundColor) return;\r\n const ptSplit = this.placement.split('-');\r\n if (ptSplit.length > 0) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, `border-${ptSplit[0]}-color`, this.backgroundColor);\r\n this.renderer.setStyle(this.tooltipArrowAfter.nativeElement, `border-${ptSplit[0]}-color`, this.backgroundColor);\r\n }\r\n }\r\n\r\n includes(arrow: string) {\r\n return this.placement.indexOf(arrow) >= 0;\r\n }\r\n}\r\n","<div #tooltipPortal class=\"x-tooltip-portal\" [ngClass]=\"classMap\">\r\n <div class=\"x-tooltip-portal-inner\" [style.backgroundColor]=\"backgroundColor\" [style.color]=\"color\" [innerHTML]=\"content\"></div>\r\n <div #tooltipArrow class=\"x-tooltip-portal-arrow\">\r\n <div #tooltipArrowAfter class=\"x-tooltip-portal-arrow-after\"></div>\r\n </div>\r\n</div>\r\n","import { ElementRef, ViewContainerRef, Directive, HostListener, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XTooltipPortalComponent } from './tooltip-portal.component';\r\nimport { XTooltipPrefix, XTooltipProperty } from './tooltip.property';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { XIsChange, XPlacement } from '@ng-nest/ui/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { OverlayConfig, FlexibleConnectedPositionStrategy, ConnectedOverlayPositionChange, Overlay } from '@angular/cdk/overlay';\r\n\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipDirective extends XTooltipProperty implements OnChanges, OnDestroy {\r\n portal!: XPortalOverlayRef<XTooltipPortalComponent>;\r\n box!: DOMRect;\r\n contentChange: BehaviorSubject<any> = new BehaviorSubject(null);\r\n positionChange: Subject<any> = new Subject();\r\n timeoutHide: any;\r\n timeoutShow: any;\r\n private _unSubject = new Subject();\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private portalService: XPortalService,\r\n private viewContainerRef: ViewContainerRef,\r\n private overlay: Overlay\r\n ) {\r\n super();\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n !this.manual && this.show();\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n !this.manual && this.hide();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { content, visible } = changes;\r\n XIsChange(content) && this.contentChange.next(this.content);\r\n if (XIsChange(visible)) {\r\n if (this.visible) this.show();\r\n else this.hide();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.contentChange.unsubscribe();\r\n }\r\n\r\n show() {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (!this.portal || (this.portal && !this.portal.overlayRef?.hasAttached())) {\r\n this.timeoutShow = setTimeout(() => {\r\n this.visible = true;\r\n this.createPortal();\r\n }, this.mouseEnterDelay);\r\n }\r\n }\r\n\r\n hide() {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (this.portal?.overlayRef?.hasAttached()) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.visible = false;\r\n this.portal.overlayRef?.dispose();\r\n }, this.mouseLeaveDelay);\r\n }\r\n }\r\n\r\n createPortal() {\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n positionStrategy: this.portalService.setPlacement({\r\n elementRef: this.elementRef,\r\n placement: [this.placement as XPlacement, 'bottom', 'top', 'left', 'right']\r\n }),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XTooltipPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this._unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPlacement;\r\n place !== this.placement && this.positionChange.next(place);\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n this.box = this.elementRef.nativeElement.getBoundingClientRect();\r\n Object.assign(componentRef.instance, {\r\n box: this.box,\r\n content: this.content,\r\n contentChange: this.contentChange,\r\n color: this.color,\r\n backgroundColor: this.backgroundColor,\r\n placement: this.placement,\r\n positionChange: this.positionChange,\r\n portalHover: (hover: boolean) => {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.hide();\r\n }\r\n },\r\n viewInit: () => this.updatePortal()\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n updatePortal() {\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTooltipDirective } from './tooltip.directive';\r\nimport { XTooltipPortalComponent } from './tooltip-portal.component';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XTooltipProperty } from './tooltip.property';\r\n\r\n@NgModule({\r\n declarations: [XTooltipDirective, XTooltipPortalComponent, XTooltipProperty],\r\n exports: [XTooltipDirective, XTooltipPortalComponent],\r\n imports: [CommonModule, XPortalModule]\r\n})\r\nexport class XTooltipModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -62,6 +62,13 @@ export declare class XTableProperty extends XPaginationProperty implements XTabl
|
|
|
62
62
|
* @en_US Column content custom template
|
|
63
63
|
*/
|
|
64
64
|
bodyColumnTpl: XTableTemplate;
|
|
65
|
+
/**
|
|
66
|
+
* @zh_CN 行条件样式
|
|
67
|
+
* @en_US Row condition class
|
|
68
|
+
*/
|
|
69
|
+
rowClass?: (row: XTableRow, index: number) => {
|
|
70
|
+
[className: string]: boolean;
|
|
71
|
+
};
|
|
65
72
|
/**
|
|
66
73
|
* @zh_CN 排序点击的事件
|
|
67
74
|
* @en_US Sort click events
|
|
@@ -143,7 +150,7 @@ export declare class XTableProperty extends XPaginationProperty implements XTabl
|
|
|
143
150
|
*/
|
|
144
151
|
rowSize?: XSize;
|
|
145
152
|
static ɵfac: i0.ɵɵFactoryDeclaration<XTableProperty, never>;
|
|
146
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<XTableProperty, "ng-component", never, { "data": "data"; "columns": "columns"; "rowHeight": "rowHeight"; "loading": "loading"; "bordered": "bordered"; "showHeader": "showHeader"; "activatedRow": "activatedRow"; "headColumnTpl": "headColumnTpl"; "bodyColumnTpl": "bodyColumnTpl"; "allowSelectRow": "allowSelectRow"; "virtualScroll": "virtualScroll"; "bodyHeight": "bodyHeight"; "itemSize": "itemSize"; "minBufferPx": "minBufferPx"; "maxBufferPx": "maxBufferPx"; "adaptionHeight": "adaptionHeight"; "docPercent": "docPercent"; "checkedRow": "checkedRow"; "manual": "manual"; "scroll": "scroll"; "cellConfig": "cellConfig"; "rowSize": "rowSize"; }, { "activatedRowChange": "activatedRowChange"; "sortChange": "sortChange"; "manualChange": "manualChange"; }, never, never>;
|
|
153
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<XTableProperty, "ng-component", never, { "data": "data"; "columns": "columns"; "rowHeight": "rowHeight"; "loading": "loading"; "bordered": "bordered"; "showHeader": "showHeader"; "activatedRow": "activatedRow"; "headColumnTpl": "headColumnTpl"; "bodyColumnTpl": "bodyColumnTpl"; "rowClass": "rowClass"; "allowSelectRow": "allowSelectRow"; "virtualScroll": "virtualScroll"; "bodyHeight": "bodyHeight"; "itemSize": "itemSize"; "minBufferPx": "minBufferPx"; "maxBufferPx": "maxBufferPx"; "adaptionHeight": "adaptionHeight"; "docPercent": "docPercent"; "checkedRow": "checkedRow"; "manual": "manual"; "scroll": "scroll"; "cellConfig": "cellConfig"; "rowSize": "rowSize"; }, { "activatedRowChange": "activatedRowChange"; "sortChange": "sortChange"; "manualChange": "manualChange"; }, never, never>;
|
|
147
154
|
}
|
|
148
155
|
/**
|
|
149
156
|
* Table Option
|
|
@@ -185,6 +192,13 @@ export interface XTableOption extends XPaginationOption {
|
|
|
185
192
|
* @en_US Column content custom template
|
|
186
193
|
*/
|
|
187
194
|
bodyColumnTpl?: XTableTemplate;
|
|
195
|
+
/**
|
|
196
|
+
* @zh_CN 行条件样式
|
|
197
|
+
* @en_US Row condition class
|
|
198
|
+
*/
|
|
199
|
+
rowClass?: (row: XTableRow, index: number) => {
|
|
200
|
+
[className: string]: boolean;
|
|
201
|
+
};
|
|
188
202
|
/**
|
|
189
203
|
* @zh_CN 开启虚拟滚动
|
|
190
204
|
* @en_US Turn on virtual scrolling
|
|
@@ -524,8 +538,15 @@ export declare class XTableBodyProperty extends XProperty {
|
|
|
524
538
|
* @en_US Cell config rules
|
|
525
539
|
*/
|
|
526
540
|
cellConfig?: XTableCellConfigRule;
|
|
541
|
+
/**
|
|
542
|
+
* @zh_CN 行条件样式
|
|
543
|
+
* @en_US Row condition class
|
|
544
|
+
*/
|
|
545
|
+
rowClass?: (row: XTableRow, index: number) => {
|
|
546
|
+
[className: string]: boolean;
|
|
547
|
+
};
|
|
527
548
|
static ɵfac: i0.ɵɵFactoryDeclaration<XTableBodyProperty, never>;
|
|
528
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<XTableBodyProperty, "ng-component", never, { "data": "data"; "columns": "columns"; "columnTpl": "columnTpl"; "activatedRow": "activatedRow"; "rowHeight": "rowHeight"; "bodyHeight": "bodyHeight"; "allowSelectRow": "allowSelectRow"; "virtualScroll": "virtualScroll"; "itemSize": "itemSize"; "minBufferPx": "minBufferPx"; "maxBufferPx": "maxBufferPx"; "adaptionHeight": "adaptionHeight"; "docPercent": "docPercent"; "scroll": "scroll"; "cellConfig": "cellConfig"; }, { "activatedRowChange": "activatedRowChange"; }, never, never>;
|
|
549
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<XTableBodyProperty, "ng-component", never, { "data": "data"; "columns": "columns"; "columnTpl": "columnTpl"; "activatedRow": "activatedRow"; "rowHeight": "rowHeight"; "bodyHeight": "bodyHeight"; "allowSelectRow": "allowSelectRow"; "virtualScroll": "virtualScroll"; "itemSize": "itemSize"; "minBufferPx": "minBufferPx"; "maxBufferPx": "maxBufferPx"; "adaptionHeight": "adaptionHeight"; "docPercent": "docPercent"; "scroll": "scroll"; "cellConfig": "cellConfig"; "rowClass": "rowClass"; }, { "activatedRowChange": "activatedRowChange"; }, never, never>;
|
|
529
550
|
}
|
|
530
551
|
/**
|
|
531
552
|
* Table Foot
|
|
@@ -15,6 +15,7 @@ export declare class XTooltipDirective extends XTooltipProperty implements OnCha
|
|
|
15
15
|
contentChange: BehaviorSubject<any>;
|
|
16
16
|
positionChange: Subject<any>;
|
|
17
17
|
timeoutHide: any;
|
|
18
|
+
timeoutShow: any;
|
|
18
19
|
private _unSubject;
|
|
19
20
|
constructor(elementRef: ElementRef, portalService: XPortalService, viewContainerRef: ViewContainerRef, overlay: Overlay);
|
|
20
21
|
mouseenter(): void;
|
|
@@ -40,8 +40,18 @@ export declare class XTooltipProperty {
|
|
|
40
40
|
* @en_US Manually handle the shutdown event
|
|
41
41
|
*/
|
|
42
42
|
manual?: XBoolean;
|
|
43
|
+
/**
|
|
44
|
+
* @zh_CN 鼠标移入后延时多少才显示
|
|
45
|
+
* @en_US How much is the mouse transfer after transfer
|
|
46
|
+
*/
|
|
47
|
+
mouseEnterDelay: number;
|
|
48
|
+
/**
|
|
49
|
+
* @zh_CN 鼠标移出后延时多少才隐藏
|
|
50
|
+
* @en_US How much hidden is hidden after the mouse is removed
|
|
51
|
+
*/
|
|
52
|
+
mouseLeaveDelay: number;
|
|
43
53
|
static ɵfac: i0.ɵɵFactoryDeclaration<XTooltipProperty, never>;
|
|
44
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<XTooltipProperty, "[x-tooltip], x-tooltip", never, { "content": "content"; "placement": "placement"; "visible": "visible"; "backgroundColor": "backgroundColor"; "color": "color"; "manual": "manual"; }, {}, never>;
|
|
54
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<XTooltipProperty, "[x-tooltip], x-tooltip", never, { "content": "content"; "placement": "placement"; "visible": "visible"; "backgroundColor": "backgroundColor"; "color": "color"; "manual": "manual"; "mouseEnterDelay": "mouseEnterDelay"; "mouseLeaveDelay": "mouseLeaveDelay"; }, {}, never>;
|
|
45
55
|
}
|
|
46
56
|
/**
|
|
47
57
|
* Tooltip Portal
|