@ng-nest/ui 15.0.12 → 15.0.14
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/anchor/anchor-inner.component.d.ts +6 -0
- package/anchor/anchor.component.d.ts +5 -2
- package/anchor/anchor.module.d.ts +5 -4
- package/anchor/anchor.property.d.ts +13 -0
- package/anchor/public-api.d.ts +1 -0
- package/core/config/config.d.ts +2 -0
- package/core/functions/date.d.ts +3 -0
- package/core/functions/parent-path.d.ts +1 -0
- package/core/functions/public-api.d.ts +1 -0
- package/date-picker/date-picker-portal.component.d.ts +7 -2
- package/date-picker/date-picker.property.d.ts +87 -6
- package/date-picker/date-range-portal.component.d.ts +6 -2
- package/date-picker/picker-date.component.d.ts +6 -0
- package/date-picker/picker-month.component.d.ts +1 -0
- package/date-picker/picker-year.component.d.ts +1 -0
- package/esm2020/anchor/anchor-inner.component.mjs +17 -0
- package/esm2020/anchor/anchor.component.mjs +25 -11
- package/esm2020/anchor/anchor.module.mjs +6 -5
- package/esm2020/anchor/anchor.property.mjs +18 -1
- package/esm2020/anchor/public-api.mjs +2 -1
- package/esm2020/core/config/config.mjs +1 -1
- package/esm2020/core/functions/date.mjs +73 -1
- package/esm2020/core/functions/parent-path.mjs +10 -0
- package/esm2020/core/functions/public-api.mjs +2 -1
- package/esm2020/date-picker/date-picker-portal.component.mjs +34 -6
- package/esm2020/date-picker/date-picker.component.mjs +14 -4
- package/esm2020/date-picker/date-picker.property.mjs +20 -6
- package/esm2020/date-picker/date-range-portal.component.mjs +33 -18
- package/esm2020/date-picker/date-range.component.mjs +24 -7
- package/esm2020/date-picker/picker-date.component.mjs +54 -6
- package/esm2020/date-picker/picker-month.component.mjs +13 -4
- package/esm2020/date-picker/picker-year.component.mjs +15 -4
- package/esm2020/i18n/i18n.property.mjs +1 -1
- package/esm2020/i18n/languages/en_GB.mjs +6 -2
- package/esm2020/i18n/languages/en_US.mjs +6 -2
- package/esm2020/i18n/languages/zh_CN.mjs +6 -2
- package/esm2020/i18n/languages/zh_TW.mjs +6 -2
- package/esm2020/list/list-option.component.mjs +2 -2
- package/esm2020/list/list.component.mjs +2 -2
- package/esm2020/slider/slider.component.mjs +3 -3
- package/esm2020/slider/slider.property.mjs +8 -2
- package/esm2020/table/table-body.component.mjs +6 -6
- package/esm2020/table/table.component.mjs +4 -3
- package/esm2020/table/table.property.mjs +9 -2
- package/esm2020/time-picker/time-picker-frame.component.mjs +48 -14
- package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
- package/esm2020/time-picker/time-picker.component.mjs +2 -1
- package/esm2020/time-picker/time-picker.property.mjs +4 -2
- package/esm2020/transfer/transfer.component.mjs +2 -2
- package/esm2020/tree/tree-node.component.mjs +98 -15
- package/esm2020/tree/tree.component.mjs +126 -29
- package/esm2020/tree/tree.module.mjs +31 -4
- package/esm2020/tree/tree.property.mjs +37 -3
- package/esm2020/tree/tree.service.mjs +77 -0
- package/esm2020/tree-file/tree-file.component.mjs +14 -3
- package/fesm2015/ng-nest-ui-anchor.mjs +60 -15
- package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-core.mjs +83 -1
- package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-date-picker.mjs +193 -42
- package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-i18n.mjs +20 -4
- package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-list.mjs +4 -4
- package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-slider.mjs +9 -3
- package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-table.mjs +16 -8
- package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-time-picker.mjs +53 -16
- package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-transfer.mjs +1 -1
- package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tree-file.mjs +13 -2
- package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tree.mjs +359 -45
- package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-anchor.mjs +60 -15
- package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-core.mjs +83 -1
- package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-date-picker.mjs +193 -42
- package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-i18n.mjs +20 -4
- package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-list.mjs +4 -4
- package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-slider.mjs +9 -3
- package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-table.mjs +16 -8
- package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-time-picker.mjs +53 -16
- package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-transfer.mjs +1 -1
- package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tree-file.mjs +13 -2
- package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tree.mjs +356 -45
- package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
- package/i18n/i18n.property.d.ts +3 -0
- package/i18n/languages/en_GB.d.ts +4 -0
- package/i18n/languages/en_US.d.ts +4 -0
- package/i18n/languages/zh_CN.d.ts +4 -0
- package/i18n/languages/zh_TW.d.ts +4 -0
- package/package.json +1 -1
- package/slider/slider.property.d.ts +6 -1
- package/table/table.component.d.ts +1 -1
- package/table/table.property.d.ts +25 -4
- package/time-picker/time-picker-frame.component.d.ts +6 -2
- package/time-picker/time-picker-portal.component.d.ts +2 -1
- package/time-picker/time-picker.property.d.ts +32 -1
- package/transfer/transfer.component.d.ts +2 -4
- package/tree/tree-node.component.d.ts +35 -4
- package/tree/tree.component.d.ts +24 -3
- package/tree/tree.module.d.ts +8 -7
- package/tree/tree.property.d.ts +63 -1
- package/tree/tree.service.d.ts +10 -0
- package/tree-file/tree-file.component.d.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-slider.mjs","sources":["../../../../lib/ng-nest/ui/slider/slider.property.ts","../../../../lib/ng-nest/ui/slider/slider.component.ts","../../../../lib/ng-nest/ui/slider/slider.component.html","../../../../lib/ng-nest/ui/slider/slider.module.ts","../../../../lib/ng-nest/ui/slider/ng-nest-ui-slider.ts"],"sourcesContent":["import {\r\n XData,\r\n XTemplate,\r\n XProperty,\r\n XIdentityProperty,\r\n XDataConvert,\r\n XInputBoolean,\r\n XInputNumber,\r\n XJustify,\r\n XSize,\r\n XNumber,\r\n XBoolean,\r\n XWithConfig\r\n} from '@ng-nest/ui/core';\r\nimport { TemplateRef, Input, EventEmitter, Output, Component } from '@angular/core';\r\n\r\n/**\r\n * Slider\r\n * @selector x-slider\r\n * @decorator component\r\n */\r\nexport const XSliderPrefix = 'x-slider';\r\nconst X_CONFIG_NAME = 'slider';\r\n\r\n/**\r\n * Slider Property\r\n */\r\n@Component({ template: '' })\r\nexport class XSliderProperty extends XProperty {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n @Input() @XDataConvert() data: XData<XSliderNode> = [];\r\n /**\r\n * @zh_CN 滑动动画\r\n * @en_US Sliding animation\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) @XInputBoolean() animated?: XBoolean;\r\n /**\r\n * @zh_CN 当前激活的索引\r\n * @en_US Currently active index\r\n */\r\n @Input() @XInputNumber() activatedIndex: XNumber = 0;\r\n /**\r\n * @zh_CN 排列方式\r\n * @en_US Arrangement\r\n */\r\n @Input() layout?: XSliderLayout = 'row';\r\n /**\r\n * @zh_CN 对齐方式\r\n * @en_US Alignment\r\n */\r\n @Input() justify?: XJustify = 'start';\r\n /**\r\n * @zh_CN 节点文字对齐方式\r\n * @en_US Node text alignment\r\n */\r\n @Input() nodeJustify?: XJustify = 'center';\r\n /**\r\n * @zh_CN 节点自定义模板\r\n * @en_US Node custom template\r\n */\r\n @Input() nodeTpl!: TemplateRef<any>;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size?: XSize;\r\n /**\r\n * @zh_CN 节点显示不下的时候显示展开所有的按钮,排列方式为 row 的时候生效\r\n * @en_US When the node is not displayed, display all the buttons, and the arrangement is effective when the arrangement is row\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() showExpand?: XBoolean;\r\n /**\r\n * @zh_CN 展开所有弹框的最大高度\r\n * @en_US Expand the maximum height of all bomb frames\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '15rem') expandMaxHeight?: string;\r\n /**\r\n * @zh_CN 显示描点\r\n * @en_US Show anchor\r\n */\r\n @Input() @XInputBoolean() showAnchor?: XBoolean;\r\n /**\r\n * @zh_CN 激活索引变化事件\r\n * @en_US Activate index change event\r\n */\r\n @Output() indexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 激活节点改变事件\r\n * @en_US Activate node change event\r\n */\r\n @Output() nodeChange = new EventEmitter<XSliderNode>();\r\n}\r\n\r\n/**\r\n * @zh_CN Slider 数据对象\r\n * @en_US Slider data object\r\n */\r\nexport interface XSliderNode extends XIdentityProperty {\r\n /**\r\n * @zh_CN 标题,支持模板\r\n * @en_US Title, support template\r\n */\r\n label?: XTemplate;\r\n /**\r\n * @zh_CN 禁用节点\r\n * @en_US Node disabled\r\n */\r\n disabled?: boolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\nexport type XSliderLayout = 'row' | 'column';\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n ViewChild,\r\n AfterViewInit,\r\n OnDestroy,\r\n SimpleChange\r\n} from '@angular/core';\r\nimport { XSliderPrefix, XSliderNode, XSliderProperty } from './slider.property';\r\nimport { XClassMap, XIsChange, XResize, XPosition, XIsUndefined, XIsEmpty, XSetData, XConfigService } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil, debounceTime } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XSliderPrefix}`,\r\n templateUrl: './slider.component.html',\r\n styleUrls: ['./slider.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XSliderComponent extends XSliderProperty implements OnInit, OnChanges, OnDestroy, AfterViewInit {\r\n @ViewChild('sliderScroll') sliderScroll!: ElementRef<HTMLElement>;\r\n @ViewChild('sliderNodes') sliderNodes!: ElementRef<HTMLElement>;\r\n nodes: XSliderNode[] = [];\r\n activated!: XSliderNode;\r\n scrollClassMap: XClassMap = {};\r\n nodeClassMap: XClassMap = {};\r\n showArrow = false;\r\n activatedId = '';\r\n private _offset: number = 0;\r\n get offset(): number {\r\n return this._offset;\r\n }\r\n set offset(value: number) {\r\n this._offset = Math.floor(value);\r\n this.transform = `translate${this.dir}(-${this._offset}px)`;\r\n this.cdr.detectChanges();\r\n }\r\n direction: XPosition = 'right';\r\n maxOffset: number = 0;\r\n get dir(): 'X' | 'Y' {\r\n return this.layout === 'row' ? 'X' : 'Y';\r\n }\r\n get sizeName() {\r\n return this.layout === 'row' ? 'Width' : 'Height';\r\n }\r\n transform?: string;\r\n highlightBox = {\r\n width: '',\r\n height: '',\r\n left: '',\r\n top: ''\r\n };\r\n private _unSubject = new Subject<void>();\r\n private _resizeObserver!: ResizeObserver;\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { data, layout, justify, nodeJustify, activatedIndex } = changes;\r\n XIsChange(data) && this.setData();\r\n XIsChange(layout) && this.setChange(this.classMap, layout);\r\n XIsChange(justify) && this.setChange(this.scrollClassMap, justify, 'x-justify');\r\n XIsChange(nodeJustify) && this.setChange(this.nodeClassMap, nodeJustify, 'x-justify');\r\n XIsChange(activatedIndex) && this.setDirection(activatedIndex.currentValue, activatedIndex.previousValue) && this.setActivated();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setSubscribe();\r\n this.setActivated();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap[`${XSliderPrefix}-${this.layout}`] = !XIsEmpty(this.layout);\r\n this.scrollClassMap[`x-justify-${this.justify}`] = !XIsEmpty(this.justify);\r\n this.nodeClassMap = {\r\n [`x-justify-${this.nodeJustify}`]: !XIsEmpty(this.nodeJustify),\r\n [`x-size-${this.size}`]: !XIsEmpty(this.size)\r\n };\r\n }\r\n\r\n setChange(map: XClassMap, change: SimpleChange, prefix = XSliderPrefix) {\r\n map[`${prefix}-${change.previousValue}`] = false;\r\n map[`${prefix}-${change.currentValue}`] = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setSubscribe() {\r\n XResize(this.sliderScroll.nativeElement, this.sliderNodes.nativeElement)\r\n .pipe(debounceTime(30), takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n this.sizeChecked();\r\n this.setActivated();\r\n });\r\n }\r\n\r\n nodeClick(event: Event | null, node: XSliderNode, index: number) {\r\n if (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n if (node.disabled) return;\r\n this.setDirection(index, Number(this.activatedIndex));\r\n this.activatedIndex = index;\r\n this.activated = node;\r\n this.activatedId = node.id;\r\n this.setHighlight();\r\n this.setTranslate();\r\n this.indexChange.emit(index);\r\n this.nodeChange.emit(node);\r\n }\r\n\r\n dropdownClick(node: XSliderNode) {\r\n const index = this.nodes.indexOf(node);\r\n this.nodeClick(null, node, index);\r\n }\r\n\r\n scrollPrev() {\r\n if (this.offset === 0) return;\r\n const scrollSize = this.sliderScroll.nativeElement[`offset${this.sizeName}`];\r\n const currentOffset = this.offset;\r\n if (!currentOffset) return;\r\n const offset = currentOffset > scrollSize ? currentOffset - scrollSize : 0;\r\n this.offset = offset;\r\n }\r\n\r\n scrollNext() {\r\n if (this.offset === this.maxOffset) return;\r\n const sliderSize = this.sliderNodes.nativeElement[`offset${this.sizeName}`];\r\n const scrollSize = this.sliderScroll.nativeElement[`offset${this.sizeName}`];\r\n const currentOffset = this.offset;\r\n if (sliderSize - currentOffset <= scrollSize) return;\r\n const offset = sliderSize - currentOffset > scrollSize * 2 ? currentOffset + scrollSize : sliderSize - scrollSize;\r\n this.offset = offset;\r\n }\r\n\r\n setDirection(index: number, before: number) {\r\n const increase = index > before;\r\n this.direction = this.layout === 'row' ? (increase ? 'right' : 'left') : increase ? 'bottom' : 'top';\r\n return this.direction;\r\n }\r\n\r\n setTranslate() {\r\n if (XIsUndefined(this.sliderScroll) || XIsUndefined(this.sliderNodes)) return;\r\n const sliderRect = this.sliderScroll.nativeElement?.getBoundingClientRect();\r\n const sliderNodesRect = this.sliderNodes.nativeElement?.getBoundingClientRect();\r\n let moveIndex = ['bottom', 'right'].indexOf(this.direction) !== -1 ? Number(this.activatedIndex) + 2 : Number(this.activatedIndex);\r\n moveIndex = moveIndex > this.nodes.length ? this.nodes.length : moveIndex === 0 ? 1 : moveIndex;\r\n let moveEle = this.sliderNodes.nativeElement?.querySelector(`li:nth-child(${moveIndex})`);\r\n let maxOffset = 0;\r\n if (XIsEmpty(moveEle)) return;\r\n const moveRect = moveEle!.getBoundingClientRect();\r\n const currentOffset = this.offset;\r\n let offset = currentOffset;\r\n if (this.layout === 'row') {\r\n maxOffset = sliderNodesRect.width - sliderRect.width;\r\n if (moveRect.left < sliderRect.left) {\r\n offset = currentOffset - (sliderRect.left - moveRect.left);\r\n }\r\n if (moveRect.right > sliderRect.right) {\r\n offset = currentOffset + moveRect.right - sliderRect.right;\r\n }\r\n } else {\r\n maxOffset = sliderNodesRect.height - sliderRect.height;\r\n if (moveRect.top < sliderRect.top) {\r\n offset = currentOffset - (sliderRect.top - moveRect.top);\r\n }\r\n if (moveRect.bottom > sliderRect.bottom) {\r\n offset = currentOffset + (moveRect.bottom - sliderRect.bottom);\r\n }\r\n }\r\n this.maxOffset = Math.ceil(maxOffset);\r\n offset = Math.max(Math.ceil(offset), 0);\r\n if ([this.maxOffset + 1, this.maxOffset - 1].includes(offset)) {\r\n this.offset = this.maxOffset;\r\n } else {\r\n this.offset = Math.min(offset, this.maxOffset);\r\n }\r\n }\r\n\r\n sizeChecked() {\r\n const size = this.sliderNodes.nativeElement[`offset${this.sizeName}`];\r\n const scrollSize = this.sliderScroll.nativeElement[`offset${this.sizeName}`];\r\n const showArrow = this.nodes.length > 1 && size > scrollSize;\r\n if (this.showArrow !== showArrow) {\r\n this.showArrow = showArrow;\r\n this.classMap[`${XSliderPrefix}-show-arrow`] = this.showArrow;\r\n if (!this.showArrow) {\r\n this.offset = 0;\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n setActivated() {\r\n if (this.nodes.length > 0) {\r\n this.activated = this.nodes[Number(this.activatedIndex)];\r\n if (this.activated) {\r\n this.activatedId = this.activated.id;\r\n }\r\n }\r\n this.setHighlight();\r\n this.setTranslate();\r\n }\r\n\r\n setHighlight() {\r\n if (XIsUndefined(this.sliderNodes)) return;\r\n const activeEle: HTMLElement = this.sliderNodes.nativeElement.querySelector(`li:nth-child(${Number(this.activatedIndex) + 1})`)!;\r\n if (!activeEle) return;\r\n this.highlightBox = {\r\n width: `${activeEle.offsetWidth}px`,\r\n height: `${activeEle.offsetHeight}px`,\r\n left: `${activeEle.offsetLeft}px`,\r\n top: `${activeEle.offsetTop}px`\r\n };\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setData() {\r\n XSetData<XSliderNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.nodes = x;\r\n this.cdr.detectChanges();\r\n setTimeout(() => this.setActivated());\r\n });\r\n }\r\n\r\n getActivated(index: number) {\r\n return Number(this.activatedIndex) === index;\r\n }\r\n\r\n trackByNode(_index: number, item: XSliderNode) {\r\n return item.id;\r\n }\r\n}\r\n","<div #slider class=\"x-slider\" [ngClass]=\"classMap\">\r\n <x-link *ngIf=\"showArrow\" [disabled]=\"offset === 0\" class=\"x-slider-arrow-left\" icon=\"fto-chevron-left\" (click)=\"scrollPrev()\"></x-link>\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap\">\r\n <ul #sliderNodes [style.transform]=\"transform\">\r\n <li\r\n *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\"\r\n [class.x-slider-activated]=\"getActivated(i)\"\r\n [class.x-slider-disabled]=\"node.disabled\"\r\n [title]=\"node.label\"\r\n >\r\n <x-link\r\n (click)=\"nodeClick($event, node, i)\"\r\n [ngClass]=\"nodeClassMap\"\r\n [href]=\"showAnchor ? '#' + node.id : ''\"\r\n [preventDefault]=\"showAnchor\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n </ng-container>\r\n </x-link>\r\n </li>\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated\" [ngStyle]=\"highlightBox\"></li>\r\n </ul>\r\n </div>\r\n <x-link\r\n *ngIf=\"showArrow\"\r\n [disabled]=\"offset === maxOffset\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n <x-dropdown\r\n *ngIf=\"showExpand && showArrow && layout === 'row'\"\r\n class=\"x-slider-all\"\r\n [data]=\"nodes\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon [size]=\"size\"> </x-button>\r\n </x-dropdown>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XSliderComponent } from './slider.component';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XSliderProperty } from './slider.property';\r\nimport { XDropdownModule } from '@ng-nest/ui/dropdown';\r\n\r\n@NgModule({\r\n declarations: [XSliderComponent, XSliderProperty],\r\n exports: [XSliderComponent],\r\n imports: [CommonModule, XLinkModule, XButtonModule, XOutletModule, XDropdownModule]\r\n})\r\nexport class XSliderModule {}\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-slider.mjs","sources":["../../../../lib/ng-nest/ui/slider/slider.property.ts","../../../../lib/ng-nest/ui/slider/slider.component.ts","../../../../lib/ng-nest/ui/slider/slider.component.html","../../../../lib/ng-nest/ui/slider/slider.module.ts","../../../../lib/ng-nest/ui/slider/ng-nest-ui-slider.ts"],"sourcesContent":["import {\r\n XData,\r\n XTemplate,\r\n XProperty,\r\n XIdentityProperty,\r\n XDataConvert,\r\n XInputBoolean,\r\n XInputNumber,\r\n XJustify,\r\n XSize,\r\n XNumber,\r\n XBoolean,\r\n XWithConfig\r\n} from '@ng-nest/ui/core';\r\nimport { TemplateRef, Input, EventEmitter, Output, Component } from '@angular/core';\r\n\r\n/**\r\n * Slider\r\n * @selector x-slider\r\n * @decorator component\r\n */\r\nexport const XSliderPrefix = 'x-slider';\r\nconst X_CONFIG_NAME = 'slider';\r\n\r\n/**\r\n * Slider Property\r\n */\r\n@Component({ template: '' })\r\nexport class XSliderProperty extends XProperty {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n @Input() @XDataConvert() data: XData<XSliderNode> = [];\r\n /**\r\n * @zh_CN 滑动动画\r\n * @en_US Sliding animation\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) @XInputBoolean() animated?: XBoolean;\r\n /**\r\n * @zh_CN 当前激活的索引\r\n * @en_US Currently active index\r\n */\r\n @Input() @XInputNumber() activatedIndex: XNumber = 0;\r\n /**\r\n * @zh_CN 排列方式\r\n * @en_US Arrangement\r\n */\r\n @Input() layout?: XSliderLayout = 'row';\r\n /**\r\n * @zh_CN 对齐方式\r\n * @en_US Alignment\r\n */\r\n @Input() justify?: XJustify = 'start';\r\n /**\r\n * @zh_CN 节点文字对齐方式\r\n * @en_US Node text alignment\r\n */\r\n @Input() nodeJustify?: XJustify = 'center';\r\n /**\r\n * @zh_CN 节点自定义模板\r\n * @en_US Node custom template\r\n */\r\n @Input() nodeTpl!: TemplateRef<any>;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size?: XSize;\r\n /**\r\n * @zh_CN 节点显示不下的时候显示展开所有的按钮,排列方式为 row 的时候生效\r\n * @en_US When the node is not displayed, display all the buttons, and the arrangement is effective when the arrangement is row\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() showExpand?: XBoolean;\r\n /**\r\n * @zh_CN 节点显示不下的时候显示左右/上下的箭头\r\n * @en_US 节点显示不下的时候显示左右/上下的箭头\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) @XInputBoolean() autoShowArrow?: XBoolean;\r\n /**\r\n * @zh_CN 展开所有弹框的最大高度\r\n * @en_US Expand the maximum height of all bomb frames\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '15rem') expandMaxHeight?: string;\r\n /**\r\n * @zh_CN 显示描点\r\n * @en_US Show anchor\r\n */\r\n @Input() @XInputBoolean() showAnchor?: XBoolean;\r\n /**\r\n * @zh_CN 激活索引变化事件\r\n * @en_US Activate index change event\r\n */\r\n @Output() indexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 激活节点改变事件\r\n * @en_US Activate node change event\r\n */\r\n @Output() nodeChange = new EventEmitter<XSliderNode>();\r\n}\r\n\r\n/**\r\n * @zh_CN Slider 数据对象\r\n * @en_US Slider data object\r\n */\r\nexport interface XSliderNode extends XIdentityProperty {\r\n /**\r\n * @zh_CN 标题,支持模板\r\n * @en_US Title, support template\r\n */\r\n label?: XTemplate;\r\n /**\r\n * @zh_CN 禁用节点\r\n * @en_US Node disabled\r\n */\r\n disabled?: boolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\nexport type XSliderLayout = 'row' | 'column';\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n ViewChild,\r\n AfterViewInit,\r\n OnDestroy,\r\n SimpleChange\r\n} from '@angular/core';\r\nimport { XSliderPrefix, XSliderNode, XSliderProperty } from './slider.property';\r\nimport { XClassMap, XIsChange, XResize, XPosition, XIsUndefined, XIsEmpty, XSetData, XConfigService } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil, debounceTime } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XSliderPrefix}`,\r\n templateUrl: './slider.component.html',\r\n styleUrls: ['./slider.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XSliderComponent extends XSliderProperty implements OnInit, OnChanges, OnDestroy, AfterViewInit {\r\n @ViewChild('sliderScroll') sliderScroll!: ElementRef<HTMLElement>;\r\n @ViewChild('sliderNodes') sliderNodes!: ElementRef<HTMLElement>;\r\n nodes: XSliderNode[] = [];\r\n activated!: XSliderNode;\r\n scrollClassMap: XClassMap = {};\r\n nodeClassMap: XClassMap = {};\r\n showArrow = false;\r\n activatedId = '';\r\n private _offset: number = 0;\r\n get offset(): number {\r\n return this._offset;\r\n }\r\n set offset(value: number) {\r\n this._offset = Math.floor(value);\r\n this.transform = `translate${this.dir}(-${this._offset}px)`;\r\n this.cdr.detectChanges();\r\n }\r\n direction: XPosition = 'right';\r\n maxOffset: number = 0;\r\n get dir(): 'X' | 'Y' {\r\n return this.layout === 'row' ? 'X' : 'Y';\r\n }\r\n get sizeName() {\r\n return this.layout === 'row' ? 'Width' : 'Height';\r\n }\r\n transform?: string;\r\n highlightBox = {\r\n width: '',\r\n height: '',\r\n left: '',\r\n top: ''\r\n };\r\n private _unSubject = new Subject<void>();\r\n private _resizeObserver!: ResizeObserver;\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { data, layout, justify, nodeJustify, activatedIndex } = changes;\r\n XIsChange(data) && this.setData();\r\n XIsChange(layout) && this.setChange(this.classMap, layout);\r\n XIsChange(justify) && this.setChange(this.scrollClassMap, justify, 'x-justify');\r\n XIsChange(nodeJustify) && this.setChange(this.nodeClassMap, nodeJustify, 'x-justify');\r\n XIsChange(activatedIndex) && this.setDirection(activatedIndex.currentValue, activatedIndex.previousValue) && this.setActivated();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setSubscribe();\r\n this.setActivated();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap[`${XSliderPrefix}-${this.layout}`] = !XIsEmpty(this.layout);\r\n this.scrollClassMap[`x-justify-${this.justify}`] = !XIsEmpty(this.justify);\r\n this.nodeClassMap = {\r\n [`x-justify-${this.nodeJustify}`]: !XIsEmpty(this.nodeJustify),\r\n [`x-size-${this.size}`]: !XIsEmpty(this.size)\r\n };\r\n }\r\n\r\n setChange(map: XClassMap, change: SimpleChange, prefix = XSliderPrefix) {\r\n map[`${prefix}-${change.previousValue}`] = false;\r\n map[`${prefix}-${change.currentValue}`] = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setSubscribe() {\r\n XResize(this.sliderScroll.nativeElement, this.sliderNodes.nativeElement)\r\n .pipe(debounceTime(30), takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n this.sizeChecked();\r\n this.setActivated();\r\n });\r\n }\r\n\r\n nodeClick(event: Event | null, node: XSliderNode, index: number) {\r\n if (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n if (node.disabled) return;\r\n this.setDirection(index, Number(this.activatedIndex));\r\n this.activatedIndex = index;\r\n this.activated = node;\r\n this.activatedId = node.id;\r\n this.setHighlight();\r\n this.setTranslate();\r\n this.indexChange.emit(index);\r\n this.nodeChange.emit(node);\r\n }\r\n\r\n dropdownClick(node: XSliderNode) {\r\n const index = this.nodes.indexOf(node);\r\n this.nodeClick(null, node, index);\r\n }\r\n\r\n scrollPrev() {\r\n if (this.offset === 0) return;\r\n const scrollSize = this.sliderScroll.nativeElement[`offset${this.sizeName}`];\r\n const currentOffset = this.offset;\r\n if (!currentOffset) return;\r\n const offset = currentOffset > scrollSize ? currentOffset - scrollSize : 0;\r\n this.offset = offset;\r\n }\r\n\r\n scrollNext() {\r\n if (this.offset === this.maxOffset) return;\r\n const sliderSize = this.sliderNodes.nativeElement[`offset${this.sizeName}`];\r\n const scrollSize = this.sliderScroll.nativeElement[`offset${this.sizeName}`];\r\n const currentOffset = this.offset;\r\n if (sliderSize - currentOffset <= scrollSize) return;\r\n const offset = sliderSize - currentOffset > scrollSize * 2 ? currentOffset + scrollSize : sliderSize - scrollSize;\r\n this.offset = offset;\r\n }\r\n\r\n setDirection(index: number, before: number) {\r\n const increase = index > before;\r\n this.direction = this.layout === 'row' ? (increase ? 'right' : 'left') : increase ? 'bottom' : 'top';\r\n return this.direction;\r\n }\r\n\r\n setTranslate() {\r\n if (XIsUndefined(this.sliderScroll) || XIsUndefined(this.sliderNodes)) return;\r\n const sliderRect = this.sliderScroll.nativeElement?.getBoundingClientRect();\r\n const sliderNodesRect = this.sliderNodes.nativeElement?.getBoundingClientRect();\r\n let moveIndex = ['bottom', 'right'].indexOf(this.direction) !== -1 ? Number(this.activatedIndex) + 2 : Number(this.activatedIndex);\r\n moveIndex = moveIndex > this.nodes.length ? this.nodes.length : moveIndex === 0 ? 1 : moveIndex;\r\n let moveEle = this.sliderNodes.nativeElement?.querySelector(`li:nth-child(${moveIndex})`);\r\n let maxOffset = 0;\r\n if (XIsEmpty(moveEle)) return;\r\n const moveRect = moveEle!.getBoundingClientRect();\r\n const currentOffset = this.offset;\r\n let offset = currentOffset;\r\n if (this.layout === 'row') {\r\n maxOffset = sliderNodesRect.width - sliderRect.width;\r\n if (moveRect.left < sliderRect.left) {\r\n offset = currentOffset - (sliderRect.left - moveRect.left);\r\n }\r\n if (moveRect.right > sliderRect.right) {\r\n offset = currentOffset + moveRect.right - sliderRect.right;\r\n }\r\n } else {\r\n maxOffset = sliderNodesRect.height - sliderRect.height;\r\n if (moveRect.top < sliderRect.top) {\r\n offset = currentOffset - (sliderRect.top - moveRect.top);\r\n }\r\n if (moveRect.bottom > sliderRect.bottom) {\r\n offset = currentOffset + (moveRect.bottom - sliderRect.bottom);\r\n }\r\n }\r\n this.maxOffset = Math.ceil(maxOffset);\r\n offset = Math.max(Math.ceil(offset), 0);\r\n if ([this.maxOffset + 1, this.maxOffset - 1].includes(offset)) {\r\n this.offset = this.maxOffset;\r\n } else {\r\n this.offset = Math.min(offset, this.maxOffset);\r\n }\r\n }\r\n\r\n sizeChecked() {\r\n const size = this.sliderNodes.nativeElement[`offset${this.sizeName}`];\r\n const scrollSize = this.sliderScroll.nativeElement[`offset${this.sizeName}`];\r\n const showArrow = this.nodes.length > 1 && size > scrollSize;\r\n if (this.showArrow !== showArrow) {\r\n this.showArrow = showArrow;\r\n this.classMap[`${XSliderPrefix}-show-arrow`] = this.showArrow;\r\n if (!this.showArrow) {\r\n this.offset = 0;\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n setActivated() {\r\n if (this.nodes.length > 0) {\r\n this.activated = this.nodes[Number(this.activatedIndex)];\r\n if (this.activated) {\r\n this.activatedId = this.activated.id;\r\n }\r\n }\r\n this.setHighlight();\r\n this.setTranslate();\r\n }\r\n\r\n setHighlight() {\r\n if (XIsUndefined(this.sliderNodes)) return;\r\n const activeEle: HTMLElement = this.sliderNodes.nativeElement.querySelector(`li:nth-child(${Number(this.activatedIndex) + 1})`)!;\r\n if (!activeEle) return;\r\n this.highlightBox = {\r\n width: `${activeEle.offsetWidth}px`,\r\n height: `${activeEle.offsetHeight}px`,\r\n left: `${activeEle.offsetLeft}px`,\r\n top: `${activeEle.offsetTop}px`\r\n };\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setData() {\r\n XSetData<XSliderNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.nodes = x;\r\n this.cdr.detectChanges();\r\n setTimeout(() => this.setActivated());\r\n });\r\n }\r\n\r\n getActivated(index: number) {\r\n return Number(this.activatedIndex) === index;\r\n }\r\n\r\n trackByNode(_index: number, item: XSliderNode) {\r\n return item.id;\r\n }\r\n}\r\n","<div #slider class=\"x-slider\" [ngClass]=\"classMap\">\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === 0\"\r\n class=\"x-slider-arrow-left\"\r\n icon=\"fto-chevron-left\"\r\n (click)=\"scrollPrev()\"\r\n ></x-link>\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap\">\r\n <ul #sliderNodes [style.transform]=\"transform\">\r\n <li\r\n *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\"\r\n [class.x-slider-activated]=\"getActivated(i)\"\r\n [class.x-slider-disabled]=\"node.disabled\"\r\n [title]=\"node.label\"\r\n >\r\n <x-link\r\n (click)=\"nodeClick($event, node, i)\"\r\n [ngClass]=\"nodeClassMap\"\r\n [href]=\"showAnchor ? '#' + node.id : ''\"\r\n [preventDefault]=\"showAnchor\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n </ng-container>\r\n </x-link>\r\n </li>\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated\" [ngStyle]=\"highlightBox\"></li>\r\n </ul>\r\n </div>\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === maxOffset\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n <x-dropdown\r\n *ngIf=\"showExpand && showArrow && layout === 'row'\"\r\n class=\"x-slider-all\"\r\n [data]=\"nodes\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon [size]=\"size\"> </x-button>\r\n </x-dropdown>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XSliderComponent } from './slider.component';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XSliderProperty } from './slider.property';\r\nimport { XDropdownModule } from '@ng-nest/ui/dropdown';\r\n\r\n@NgModule({\r\n declarations: [XSliderComponent, XSliderProperty],\r\n exports: [XSliderComponent],\r\n imports: [CommonModule, XLinkModule, XButtonModule, XOutletModule, XDropdownModule]\r\n})\r\nexport class XSliderModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { EventEmitter, Component, Input, Output, Directive, Inject, ViewEncapsulation, ViewChild, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
3
|
import { __decorate } from 'tslib';
|
|
4
4
|
import * as i1 from '@ng-nest/ui/core';
|
|
5
|
-
import { XWithConfig, XInputNumber, XInputBoolean, XProperty, XIsChange, removeNgTag, XIsEmpty, XIsFunction, XResize, stripTags, XIsUndefined } from '@ng-nest/ui/core';
|
|
5
|
+
import { XWithConfig, XInputNumber, XInputBoolean, XProperty, XIsChange, removeNgTag, XIsEmpty, XIsFunction, XResize, stripTags, XParentPath, XIsUndefined } from '@ng-nest/ui/core';
|
|
6
6
|
import * as i3$1 from '@ng-nest/ui/pagination';
|
|
7
7
|
import { XPaginationProperty, XPaginationModule } from '@ng-nest/ui/pagination';
|
|
8
8
|
import { takeUntil } from 'rxjs/operators';
|
|
@@ -76,6 +76,11 @@ class XTableProperty extends XPaginationProperty {
|
|
|
76
76
|
* @en_US head checkbox event
|
|
77
77
|
*/
|
|
78
78
|
this.headCheckboxChange = new EventEmitter();
|
|
79
|
+
/**
|
|
80
|
+
* @zh_CN body checkbox 事件
|
|
81
|
+
* @en_US head checkbox event
|
|
82
|
+
*/
|
|
83
|
+
this.bodyCheckboxChange = new EventEmitter();
|
|
79
84
|
/**
|
|
80
85
|
* @zh_CN 超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数
|
|
81
86
|
* @en_US Exceed the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll
|
|
@@ -149,7 +154,7 @@ class XTableProperty extends XPaginationProperty {
|
|
|
149
154
|
}
|
|
150
155
|
}
|
|
151
156
|
/** @nocollapse */ XTableProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XTableProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
152
|
-
/** @nocollapse */ XTableProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XTableProperty, selector: "ng-component", inputs: { data: "data", columns: "columns", rowHeight: "rowHeight", loading: "loading", bordered: "bordered", showHeader: "showHeader", headerPosition: "headerPosition", activatedRow: "activatedRow", headColumnTpl: "headColumnTpl", bodyColumnTpl: "bodyColumnTpl", bodyTdTpl: "bodyTdTpl", rowClass: "rowClass", headSearchTpl: "headSearchTpl", allowSelectRow: "allowSelectRow", allowCheckRow: "allowCheckRow", virtualScroll: "virtualScroll", bodyHeight: "bodyHeight", itemSize: "itemSize", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", adaptionHeight: "adaptionHeight", docPercent: "docPercent", checkedRow: "checkedRow", manual: "manual", scroll: "scroll", header: "header", footer: "footer", cellConfig: "cellConfig", rowSize: "rowSize", paginationPosition: "paginationPosition", hiddenWrapBorder: "hiddenWrapBorder", hiddenPaginationBorder: "hiddenPaginationBorder", showPagination: "showPagination", treeTable: "treeTable", expandedAll: "expandedAll", expandedLevel: "expandedLevel", expanded: "expanded", expandTpl: "expandTpl" }, outputs: { activatedRowChange: "activatedRowChange", sortChange: "sortChange", headCheckboxChange: "headCheckboxChange", manualChange: "manualChange", columnDragStarted: "columnDragStarted", columnDragEnded: "columnDragEnded", columnDropListDropped: "columnDropListDropped", columnDragWidthStarted: "columnDragWidthStarted", columnDragWidthMoved: "columnDragWidthMoved", columnDragWidthEnded: "columnDragWidthEnded" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
157
|
+
/** @nocollapse */ XTableProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XTableProperty, selector: "ng-component", inputs: { data: "data", columns: "columns", rowHeight: "rowHeight", loading: "loading", bordered: "bordered", showHeader: "showHeader", headerPosition: "headerPosition", activatedRow: "activatedRow", headColumnTpl: "headColumnTpl", bodyColumnTpl: "bodyColumnTpl", bodyTdTpl: "bodyTdTpl", rowClass: "rowClass", headSearchTpl: "headSearchTpl", allowSelectRow: "allowSelectRow", allowCheckRow: "allowCheckRow", virtualScroll: "virtualScroll", bodyHeight: "bodyHeight", itemSize: "itemSize", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", adaptionHeight: "adaptionHeight", docPercent: "docPercent", checkedRow: "checkedRow", manual: "manual", scroll: "scroll", header: "header", footer: "footer", cellConfig: "cellConfig", rowSize: "rowSize", paginationPosition: "paginationPosition", hiddenWrapBorder: "hiddenWrapBorder", hiddenPaginationBorder: "hiddenPaginationBorder", showPagination: "showPagination", treeTable: "treeTable", expandedAll: "expandedAll", expandedLevel: "expandedLevel", expanded: "expanded", expandTpl: "expandTpl" }, outputs: { activatedRowChange: "activatedRowChange", sortChange: "sortChange", headCheckboxChange: "headCheckboxChange", bodyCheckboxChange: "bodyCheckboxChange", manualChange: "manualChange", columnDragStarted: "columnDragStarted", columnDragEnded: "columnDragEnded", columnDropListDropped: "columnDropListDropped", columnDragWidthStarted: "columnDragWidthStarted", columnDragWidthMoved: "columnDragWidthMoved", columnDragWidthEnded: "columnDragWidthEnded" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
153
158
|
__decorate([
|
|
154
159
|
XWithConfig(X_CONFIG_NAME, 42),
|
|
155
160
|
XInputNumber()
|
|
@@ -259,6 +264,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
259
264
|
type: Output
|
|
260
265
|
}], headCheckboxChange: [{
|
|
261
266
|
type: Output
|
|
267
|
+
}], bodyCheckboxChange: [{
|
|
268
|
+
type: Output
|
|
262
269
|
}], allowSelectRow: [{
|
|
263
270
|
type: Input
|
|
264
271
|
}], allowCheckRow: [{
|
|
@@ -958,9 +965,9 @@ class XTableBodyComponent extends XTableBodyProperty {
|
|
|
958
965
|
return;
|
|
959
966
|
this.activatedRow = row;
|
|
960
967
|
if (this.table.allowCheckRow && this.table.rowChecked) {
|
|
961
|
-
if (!
|
|
968
|
+
if (!XParentPath(event.target).includes('x-checkbox')) {
|
|
962
969
|
row[this.table.rowChecked.id] = !row[this.table.rowChecked.id];
|
|
963
|
-
this.table.bodyChecked(row[this.table.rowChecked.id], this.table.rowChecked);
|
|
970
|
+
this.table.bodyChecked(row[this.table.rowChecked.id], this.table.rowChecked, row);
|
|
964
971
|
}
|
|
965
972
|
}
|
|
966
973
|
this.activatedRowChange.emit(row);
|
|
@@ -975,10 +982,10 @@ class XTableBodyComponent extends XTableBodyProperty {
|
|
|
975
982
|
}
|
|
976
983
|
}
|
|
977
984
|
/** @nocollapse */ XTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XTableBodyComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
978
|
-
/** @nocollapse */ XTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XTableBodyComponent, selector: "x-table-body", inputs: { table: "table" }, viewQueries: [{ propertyName: "tbody", first: true, predicate: ["tbody"], descendants: true }, { propertyName: "virtualBody", first: true, predicate: ["virtualBody"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<tbody #tbody>\r\n <ng-container *ngIf=\"cellConfig; else virtualScrollTpl\">\r\n <tr *ngFor=\"let row of data; index as i; trackBy: trackByItem\" [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\">\r\n <td\r\n *ngFor=\"let column of cellConfig.cells; index as j\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.grid-area]=\"column.gridArea\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <x-empty *ngIf=\"isEmpty && level === 0\"></x-empty>\r\n</tbody>\r\n\r\n<ng-template #virtualScrollTpl>\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n *ngIf=\"virtualScroll; else bodyTpl\"\r\n [itemSize]=\"getItemSize\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [style.height.px]=\"bodyHeight\"\r\n >\r\n <tr\r\n *cdkVirtualFor=\"let row of data; let index = index; trackBy: trackByItem\"\r\n [class.x-table-activated]=\"allowSelectRow && activatedRow?.id === row.id\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n (click)=\"rowClick($event, row)\"\r\n >\r\n <!-- rowHeight \u4E3A 0 \u7684\u65F6\u5019\uFF0Cindex \u4E0B\u6807\u83B7\u53D6\u4E0D\u5230 -->\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: getIndex(index, row) }\"></ng-container>\r\n </tr>\r\n </cdk-virtual-scroll-viewport>\r\n</ng-template>\r\n\r\n<ng-template #bodyTpl>\r\n <ng-container *ngFor=\"let row of data; index as i; trackBy: trackByItem\">\r\n <tr\r\n [class.x-table-activated]=\"allowSelectRow && activatedRow?.id === row.id\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n (click)=\"rowClick($event, row)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: i }\"></ng-container>\r\n </tr>\r\n <div class=\"x-table-children\" [class.x-table-expandTpl]=\"expandTpl\" *ngIf=\"table.treeTable && row.children && row.expanded\">\r\n <x-table-body\r\n [data]=\"row.children\"\r\n [columns]=\"table.columns\"\r\n [itemSize]=\"table.itemSize\"\r\n [rowHeight]=\"table.rowHeight\"\r\n [columnTpl]=\"table.bodyColumnTpl\"\r\n [allowSelectRow]=\"table.allowSelectRow\"\r\n [rowClass]=\"table.rowClass\"\r\n [cellConfig]=\"table.cellConfig?.tbody\"\r\n [(activatedRow)]=\"table.activatedRow\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n (activatedRowChange)=\"table.activatedRowChange.emit($event)\"\r\n [level]=\"row.level! + 1\"\r\n [table]=\"table\"\r\n ></x-table-body>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #rowTpl let-row=\"row\" let-i=\"i\">\r\n <ng-container *ngIf=\"level > 0 && expandTpl\">\r\n <ng-container *xOutlet=\"expandTpl; context: { $row: row, $index: i, $level: level }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"level === 0 || !expandTpl\">\r\n <ng-container *xOutlet=\"rowDefault; context: { row: row, i: i, level: level }\"></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #rowDefault let-row=\"row\" let-i=\"i\">\r\n <ng-container *ngFor=\"let column of columns; index as j; trackBy: trackByItem\">\r\n <td\r\n [style.width.px]=\"column.width\"\r\n [style.flex]=\"getFlex(column)\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-dragging]=\"column.dragging\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [ngClass]=\"!rowClass ? {} : rowClass(row, i)\"\r\n >\r\n <ng-template *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-template>\r\n </td>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-column=\"column\" let-row=\"row\" let-i=\"i\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox\r\n [data]=\"[{ id: true, label: '' }]\"\r\n [(ngModel)]=\"row[column.id]\"\r\n [disabled]=\"row.disabled\"\r\n (ngModelChange)=\"table.bodyChecked($event, column)\"\r\n ></x-checkbox>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'index'\">\r\n <div>{{ table.getIndex(i) }}</div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngIf=\"table.isExpandColumn(column)\">\r\n <x-button\r\n [class.is-leaf]=\"!row.leaf\"\r\n [class.is-expanded]=\"row.expanded\"\r\n (click)=\"onExpanded($event, row)\"\r\n icon=\"fto-chevron-right\"\r\n size=\"mini\"\r\n onlyIcon\r\n class=\"x-table-expand\"\r\n [style.margin-left.rem]=\"row.level - 0.5\"\r\n ></x-button>\r\n </ng-container>\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <ng-container *xOutlet=\"table.bodyTdTpl; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <div [innerHTML]=\"row[column.id]\" [style.text-align]=\"column.textAlign\"></div>\r\n {{ table.rowExpandNext && table.rowExpandNext.id === column.id ? 'x-table-body-level-' + row.level : '' }}\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i5.XCheckboxComponent, selector: "x-checkbox" }, { kind: "component", type: i6$1.XButtonComponent, selector: "x-button" }, { kind: "directive", type: i7$1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i7$1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i7$1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i8.XEmptyComponent, selector: "x-empty" }, { kind: "component", type: XTableBodyComponent, selector: "x-table-body", inputs: ["table"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
985
|
+
/** @nocollapse */ XTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XTableBodyComponent, selector: "x-table-body", inputs: { table: "table" }, viewQueries: [{ propertyName: "tbody", first: true, predicate: ["tbody"], descendants: true }, { propertyName: "virtualBody", first: true, predicate: ["virtualBody"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<tbody #tbody>\r\n <ng-container *ngIf=\"cellConfig; else virtualScrollTpl\">\r\n <tr *ngFor=\"let row of data; index as i; trackBy: trackByItem\" [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\">\r\n <td\r\n *ngFor=\"let column of cellConfig.cells; index as j\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.grid-area]=\"column.gridArea\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <x-empty *ngIf=\"isEmpty && level === 0\"></x-empty>\r\n</tbody>\r\n\r\n<ng-template #virtualScrollTpl>\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n *ngIf=\"virtualScroll; else bodyTpl\"\r\n [itemSize]=\"getItemSize\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [style.height.px]=\"bodyHeight\"\r\n >\r\n <tr\r\n *cdkVirtualFor=\"let row of data; let index = index; trackBy: trackByItem\"\r\n [class.x-table-activated]=\"allowSelectRow && activatedRow?.id === row.id\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n (click)=\"rowClick($event, row)\"\r\n >\r\n <!-- rowHeight \u4E3A 0 \u7684\u65F6\u5019\uFF0Cindex \u4E0B\u6807\u83B7\u53D6\u4E0D\u5230 -->\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: getIndex(index, row) }\"></ng-container>\r\n </tr>\r\n </cdk-virtual-scroll-viewport>\r\n</ng-template>\r\n\r\n<ng-template #bodyTpl>\r\n <ng-container *ngFor=\"let row of data; index as i; trackBy: trackByItem\">\r\n <tr\r\n [class.x-table-activated]=\"allowSelectRow && activatedRow?.id === row.id\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n (click)=\"rowClick($event, row)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: i }\"></ng-container>\r\n </tr>\r\n <div class=\"x-table-children\" [class.x-table-expandTpl]=\"expandTpl\" *ngIf=\"table.treeTable && row.children && row.expanded\">\r\n <x-table-body\r\n [data]=\"row.children\"\r\n [columns]=\"table.columns\"\r\n [itemSize]=\"table.itemSize\"\r\n [rowHeight]=\"table.rowHeight\"\r\n [columnTpl]=\"table.bodyColumnTpl\"\r\n [allowSelectRow]=\"table.allowSelectRow\"\r\n [rowClass]=\"table.rowClass\"\r\n [cellConfig]=\"table.cellConfig?.tbody\"\r\n [(activatedRow)]=\"table.activatedRow\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n (activatedRowChange)=\"table.activatedRowChange.emit($event)\"\r\n [level]=\"row.level! + 1\"\r\n [table]=\"table\"\r\n ></x-table-body>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #rowTpl let-row=\"row\" let-i=\"i\">\r\n <ng-container *ngIf=\"level > 0 && expandTpl\">\r\n <ng-container *xOutlet=\"expandTpl; context: { $row: row, $index: i, $level: level }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"level === 0 || !expandTpl\">\r\n <ng-container *xOutlet=\"rowDefault; context: { row: row, i: i, level: level }\"></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #rowDefault let-row=\"row\" let-i=\"i\">\r\n <ng-container *ngFor=\"let column of columns; index as j; trackBy: trackByItem\">\r\n <td\r\n [style.width.px]=\"column.width\"\r\n [style.flex]=\"getFlex(column)\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-dragging]=\"column.dragging\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [ngClass]=\"!rowClass ? {} : rowClass(row, i)\"\r\n >\r\n <ng-template *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-template>\r\n </td>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-column=\"column\" let-row=\"row\" let-i=\"i\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox\r\n [data]=\"[{ id: true, label: '' }]\"\r\n [(ngModel)]=\"row[column.id]\"\r\n [disabled]=\"row.disabled\"\r\n (ngModelChange)=\"table.bodyChecked($event, column, row)\"\r\n ></x-checkbox>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'index'\">\r\n <div>{{ table.getIndex(i) }}</div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngIf=\"table.isExpandColumn(column)\">\r\n <x-button\r\n [class.is-leaf]=\"!row.leaf\"\r\n [class.is-expanded]=\"row.expanded\"\r\n (click)=\"onExpanded($event, row)\"\r\n icon=\"fto-chevron-right\"\r\n size=\"mini\"\r\n onlyIcon\r\n class=\"x-table-expand\"\r\n [style.margin-left.rem]=\"row.level - 0.5\"\r\n ></x-button>\r\n </ng-container>\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <ng-container *xOutlet=\"table.bodyTdTpl; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <div [innerHTML]=\"row[column.id]\" [style.text-align]=\"column.textAlign\"></div>\r\n {{ table.rowExpandNext && table.rowExpandNext.id === column.id ? 'x-table-body-level-' + row.level : '' }}\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i5.XCheckboxComponent, selector: "x-checkbox" }, { kind: "component", type: i6$1.XButtonComponent, selector: "x-button" }, { kind: "directive", type: i7$1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i7$1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i7$1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i8.XEmptyComponent, selector: "x-empty" }, { kind: "component", type: XTableBodyComponent, selector: "x-table-body", inputs: ["table"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
979
986
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XTableBodyComponent, decorators: [{
|
|
980
987
|
type: Component,
|
|
981
|
-
args: [{ selector: `${XTableBodyPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<tbody #tbody>\r\n <ng-container *ngIf=\"cellConfig; else virtualScrollTpl\">\r\n <tr *ngFor=\"let row of data; index as i; trackBy: trackByItem\" [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\">\r\n <td\r\n *ngFor=\"let column of cellConfig.cells; index as j\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.grid-area]=\"column.gridArea\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <x-empty *ngIf=\"isEmpty && level === 0\"></x-empty>\r\n</tbody>\r\n\r\n<ng-template #virtualScrollTpl>\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n *ngIf=\"virtualScroll; else bodyTpl\"\r\n [itemSize]=\"getItemSize\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [style.height.px]=\"bodyHeight\"\r\n >\r\n <tr\r\n *cdkVirtualFor=\"let row of data; let index = index; trackBy: trackByItem\"\r\n [class.x-table-activated]=\"allowSelectRow && activatedRow?.id === row.id\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n (click)=\"rowClick($event, row)\"\r\n >\r\n <!-- rowHeight \u4E3A 0 \u7684\u65F6\u5019\uFF0Cindex \u4E0B\u6807\u83B7\u53D6\u4E0D\u5230 -->\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: getIndex(index, row) }\"></ng-container>\r\n </tr>\r\n </cdk-virtual-scroll-viewport>\r\n</ng-template>\r\n\r\n<ng-template #bodyTpl>\r\n <ng-container *ngFor=\"let row of data; index as i; trackBy: trackByItem\">\r\n <tr\r\n [class.x-table-activated]=\"allowSelectRow && activatedRow?.id === row.id\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n (click)=\"rowClick($event, row)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: i }\"></ng-container>\r\n </tr>\r\n <div class=\"x-table-children\" [class.x-table-expandTpl]=\"expandTpl\" *ngIf=\"table.treeTable && row.children && row.expanded\">\r\n <x-table-body\r\n [data]=\"row.children\"\r\n [columns]=\"table.columns\"\r\n [itemSize]=\"table.itemSize\"\r\n [rowHeight]=\"table.rowHeight\"\r\n [columnTpl]=\"table.bodyColumnTpl\"\r\n [allowSelectRow]=\"table.allowSelectRow\"\r\n [rowClass]=\"table.rowClass\"\r\n [cellConfig]=\"table.cellConfig?.tbody\"\r\n [(activatedRow)]=\"table.activatedRow\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n (activatedRowChange)=\"table.activatedRowChange.emit($event)\"\r\n [level]=\"row.level! + 1\"\r\n [table]=\"table\"\r\n ></x-table-body>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #rowTpl let-row=\"row\" let-i=\"i\">\r\n <ng-container *ngIf=\"level > 0 && expandTpl\">\r\n <ng-container *xOutlet=\"expandTpl; context: { $row: row, $index: i, $level: level }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"level === 0 || !expandTpl\">\r\n <ng-container *xOutlet=\"rowDefault; context: { row: row, i: i, level: level }\"></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #rowDefault let-row=\"row\" let-i=\"i\">\r\n <ng-container *ngFor=\"let column of columns; index as j; trackBy: trackByItem\">\r\n <td\r\n [style.width.px]=\"column.width\"\r\n [style.flex]=\"getFlex(column)\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-dragging]=\"column.dragging\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [ngClass]=\"!rowClass ? {} : rowClass(row, i)\"\r\n >\r\n <ng-template *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-template>\r\n </td>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-column=\"column\" let-row=\"row\" let-i=\"i\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox\r\n [data]=\"[{ id: true, label: '' }]\"\r\n [(ngModel)]=\"row[column.id]\"\r\n [disabled]=\"row.disabled\"\r\n (ngModelChange)=\"table.bodyChecked($event, column)\"\r\n ></x-checkbox>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'index'\">\r\n <div>{{ table.getIndex(i) }}</div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngIf=\"table.isExpandColumn(column)\">\r\n <x-button\r\n [class.is-leaf]=\"!row.leaf\"\r\n [class.is-expanded]=\"row.expanded\"\r\n (click)=\"onExpanded($event, row)\"\r\n icon=\"fto-chevron-right\"\r\n size=\"mini\"\r\n onlyIcon\r\n class=\"x-table-expand\"\r\n [style.margin-left.rem]=\"row.level - 0.5\"\r\n ></x-button>\r\n </ng-container>\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <ng-container *xOutlet=\"table.bodyTdTpl; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <div [innerHTML]=\"row[column.id]\" [style.text-align]=\"column.textAlign\"></div>\r\n {{ table.rowExpandNext && table.rowExpandNext.id === column.id ? 'x-table-body-level-' + row.level : '' }}\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n" }]
|
|
988
|
+
args: [{ selector: `${XTableBodyPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<tbody #tbody>\r\n <ng-container *ngIf=\"cellConfig; else virtualScrollTpl\">\r\n <tr *ngFor=\"let row of data; index as i; trackBy: trackByItem\" [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\">\r\n <td\r\n *ngFor=\"let column of cellConfig.cells; index as j\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.grid-area]=\"column.gridArea\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <x-empty *ngIf=\"isEmpty && level === 0\"></x-empty>\r\n</tbody>\r\n\r\n<ng-template #virtualScrollTpl>\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n *ngIf=\"virtualScroll; else bodyTpl\"\r\n [itemSize]=\"getItemSize\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [style.height.px]=\"bodyHeight\"\r\n >\r\n <tr\r\n *cdkVirtualFor=\"let row of data; let index = index; trackBy: trackByItem\"\r\n [class.x-table-activated]=\"allowSelectRow && activatedRow?.id === row.id\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n (click)=\"rowClick($event, row)\"\r\n >\r\n <!-- rowHeight \u4E3A 0 \u7684\u65F6\u5019\uFF0Cindex \u4E0B\u6807\u83B7\u53D6\u4E0D\u5230 -->\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: getIndex(index, row) }\"></ng-container>\r\n </tr>\r\n </cdk-virtual-scroll-viewport>\r\n</ng-template>\r\n\r\n<ng-template #bodyTpl>\r\n <ng-container *ngFor=\"let row of data; index as i; trackBy: trackByItem\">\r\n <tr\r\n [class.x-table-activated]=\"allowSelectRow && activatedRow?.id === row.id\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n (click)=\"rowClick($event, row)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: i }\"></ng-container>\r\n </tr>\r\n <div class=\"x-table-children\" [class.x-table-expandTpl]=\"expandTpl\" *ngIf=\"table.treeTable && row.children && row.expanded\">\r\n <x-table-body\r\n [data]=\"row.children\"\r\n [columns]=\"table.columns\"\r\n [itemSize]=\"table.itemSize\"\r\n [rowHeight]=\"table.rowHeight\"\r\n [columnTpl]=\"table.bodyColumnTpl\"\r\n [allowSelectRow]=\"table.allowSelectRow\"\r\n [rowClass]=\"table.rowClass\"\r\n [cellConfig]=\"table.cellConfig?.tbody\"\r\n [(activatedRow)]=\"table.activatedRow\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n (activatedRowChange)=\"table.activatedRowChange.emit($event)\"\r\n [level]=\"row.level! + 1\"\r\n [table]=\"table\"\r\n ></x-table-body>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #rowTpl let-row=\"row\" let-i=\"i\">\r\n <ng-container *ngIf=\"level > 0 && expandTpl\">\r\n <ng-container *xOutlet=\"expandTpl; context: { $row: row, $index: i, $level: level }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"level === 0 || !expandTpl\">\r\n <ng-container *xOutlet=\"rowDefault; context: { row: row, i: i, level: level }\"></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #rowDefault let-row=\"row\" let-i=\"i\">\r\n <ng-container *ngFor=\"let column of columns; index as j; trackBy: trackByItem\">\r\n <td\r\n [style.width.px]=\"column.width\"\r\n [style.flex]=\"getFlex(column)\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-dragging]=\"column.dragging\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [ngClass]=\"!rowClass ? {} : rowClass(row, i)\"\r\n >\r\n <ng-template *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-template>\r\n </td>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-column=\"column\" let-row=\"row\" let-i=\"i\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox\r\n [data]=\"[{ id: true, label: '' }]\"\r\n [(ngModel)]=\"row[column.id]\"\r\n [disabled]=\"row.disabled\"\r\n (ngModelChange)=\"table.bodyChecked($event, column, row)\"\r\n ></x-checkbox>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'index'\">\r\n <div>{{ table.getIndex(i) }}</div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngIf=\"table.isExpandColumn(column)\">\r\n <x-button\r\n [class.is-leaf]=\"!row.leaf\"\r\n [class.is-expanded]=\"row.expanded\"\r\n (click)=\"onExpanded($event, row)\"\r\n icon=\"fto-chevron-right\"\r\n size=\"mini\"\r\n onlyIcon\r\n class=\"x-table-expand\"\r\n [style.margin-left.rem]=\"row.level - 0.5\"\r\n ></x-button>\r\n </ng-container>\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <ng-container *xOutlet=\"table.bodyTdTpl; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <div [innerHTML]=\"row[column.id]\" [style.text-align]=\"column.textAlign\"></div>\r\n {{ table.rowExpandNext && table.rowExpandNext.id === column.id ? 'x-table-body-level-' + row.level : '' }}\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n" }]
|
|
982
989
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
983
990
|
type: Inject,
|
|
984
991
|
args: [DOCUMENT]
|
|
@@ -1322,11 +1329,12 @@ class XTableComponent extends XTableProperty {
|
|
|
1322
1329
|
}
|
|
1323
1330
|
});
|
|
1324
1331
|
this.setCheckedValues(column);
|
|
1325
|
-
this.headCheckboxChange.emit(this.checkedValues);
|
|
1332
|
+
this.headCheckboxChange.emit({ rows: this.tableData, checkbox: this.checkedValues });
|
|
1326
1333
|
this.detectChanges();
|
|
1327
1334
|
}
|
|
1328
|
-
bodyChecked(_checked, column) {
|
|
1335
|
+
bodyChecked(_checked, column, row) {
|
|
1329
1336
|
this.setCheckedValues(column);
|
|
1337
|
+
this.bodyCheckboxChange.emit(row);
|
|
1330
1338
|
this.detectChanges();
|
|
1331
1339
|
}
|
|
1332
1340
|
setCheckedValues(column) {
|