@tetacom/ng-components 1.0.74 → 1.0.75
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/component/tree/tree/tree.component.d.ts +6 -2
- package/component/tree/tree.service.d.ts +3 -0
- package/esm2020/component/tree/tree/tree.component.mjs +20 -7
- package/esm2020/component/tree/tree.service.mjs +6 -1
- package/fesm2015/tetacom-ng-components.mjs +22 -5
- package/fesm2015/tetacom-ng-components.mjs.map +1 -1
- package/fesm2020/tetacom-ng-components.mjs +22 -5
- package/fesm2020/tetacom-ng-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -8538,8 +8538,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
8538
8538
|
class TreeService {
|
|
8539
8539
|
constructor() {
|
|
8540
8540
|
this._openItems = new BehaviorSubject([]);
|
|
8541
|
+
this._scrollToIndex = new BehaviorSubject(0);
|
|
8541
8542
|
this.compareItems = (item) => item;
|
|
8542
8543
|
this.openItems = this._openItems.asObservable();
|
|
8544
|
+
this.scrollToIndex = this._scrollToIndex.asObservable();
|
|
8543
8545
|
}
|
|
8544
8546
|
openItem(item) {
|
|
8545
8547
|
const newValue = this.addOrRemove(item, this._openItems.value);
|
|
@@ -8548,6 +8550,9 @@ class TreeService {
|
|
|
8548
8550
|
setOpenItems(items) {
|
|
8549
8551
|
this._openItems.next(items);
|
|
8550
8552
|
}
|
|
8553
|
+
scrollTo(index) {
|
|
8554
|
+
this._scrollToIndex.next(index);
|
|
8555
|
+
}
|
|
8551
8556
|
addOrRemove(needle, list) {
|
|
8552
8557
|
const found = list?.find((x) => this.compareItems(x) === this.compareItems(needle));
|
|
8553
8558
|
if (found) {
|
|
@@ -8667,9 +8672,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
8667
8672
|
}] } });
|
|
8668
8673
|
|
|
8669
8674
|
class TreeComponent {
|
|
8670
|
-
constructor(_service, _cdr) {
|
|
8675
|
+
constructor(_service, _cdr, _zone) {
|
|
8671
8676
|
this._service = _service;
|
|
8672
8677
|
this._cdr = _cdr;
|
|
8678
|
+
this._zone = _zone;
|
|
8673
8679
|
this.padding = 8;
|
|
8674
8680
|
this.childNodeName = 'children';
|
|
8675
8681
|
this.height = 28;
|
|
@@ -8713,11 +8719,19 @@ class TreeComponent {
|
|
|
8713
8719
|
ngOnChanges(changes) {
|
|
8714
8720
|
this.displayData = this.getDisplayData(this._data, 0);
|
|
8715
8721
|
this.childPadding = this.hasChildren(this._data);
|
|
8716
|
-
//this._cdr.detectChanges();
|
|
8717
8722
|
}
|
|
8718
8723
|
ngOnDestroy() {
|
|
8719
8724
|
this._alive = false;
|
|
8720
8725
|
}
|
|
8726
|
+
ngAfterViewInit() {
|
|
8727
|
+
this._service.scrollToIndex.pipe(takeWhile(() => this._alive)).subscribe((index) => {
|
|
8728
|
+
this._zone.runOutsideAngular(() => {
|
|
8729
|
+
setTimeout(() => {
|
|
8730
|
+
this.virtualScroll.scrollToIndex(index, 'smooth');
|
|
8731
|
+
});
|
|
8732
|
+
});
|
|
8733
|
+
});
|
|
8734
|
+
}
|
|
8721
8735
|
hasChildren(data) {
|
|
8722
8736
|
return data.some((_) => _[this.childNodeName]?.length > 0);
|
|
8723
8737
|
}
|
|
@@ -8734,12 +8748,12 @@ class TreeComponent {
|
|
|
8734
8748
|
return result;
|
|
8735
8749
|
}
|
|
8736
8750
|
}
|
|
8737
|
-
TreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TreeComponent, deps: [{ token: TreeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8738
|
-
TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: TreeComponent, selector: "teta-tree", inputs: { data: "data", padding: "padding", childNodeName: "childNodeName", virtual: "virtual", height: "height", openItems: "openItems", compareItems: "compareItems" }, outputs: { service: "service", openItemsChange: "openItemsChange" }, host: { properties: { "class.tree": "this.treeClass" } }, providers: [TreeService], queries: [{ propertyName: "template", first: true, predicate: TetaTemplateDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual; else default\"\n class=\"table-body-container\"\n [itemSize]=\"height\">\n <teta-tree-item *cdkVirtualFor=\"let item of displayData;templateCacheSize: 0; trackBy: trackRow;\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</cdk-virtual-scroll-viewport>\n<ng-template #default>\n <teta-tree-item *ngFor=\"let item of displayData; trackBy: trackRow\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-template>\n", styles: [""], dependencies: [{ 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: i5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i5.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: TreeItemComponent, selector: "teta-tree-item", inputs: ["item", "depth", "padding", "childNodeName", "template", "childPadding"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8751
|
+
TreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TreeComponent, deps: [{ token: TreeService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
8752
|
+
TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: TreeComponent, selector: "teta-tree", inputs: { data: "data", padding: "padding", childNodeName: "childNodeName", virtual: "virtual", height: "height", openItems: "openItems", compareItems: "compareItems" }, outputs: { service: "service", openItemsChange: "openItemsChange" }, host: { properties: { "class.tree": "this.treeClass" } }, providers: [TreeService], queries: [{ propertyName: "template", first: true, predicate: TetaTemplateDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "virtualScroll", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual; else default\"\n class=\"table-body-container\"\n [itemSize]=\"height\">\n <teta-tree-item *cdkVirtualFor=\"let item of displayData;templateCacheSize: 0; trackBy: trackRow;\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</cdk-virtual-scroll-viewport>\n<ng-template #default>\n <teta-tree-item *ngFor=\"let item of displayData; trackBy: trackRow\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-template>\n", styles: [""], dependencies: [{ 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: i5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i5.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: TreeItemComponent, selector: "teta-tree-item", inputs: ["item", "depth", "padding", "childNodeName", "template", "childPadding"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8739
8753
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TreeComponent, decorators: [{
|
|
8740
8754
|
type: Component,
|
|
8741
8755
|
args: [{ selector: 'teta-tree', providers: [TreeService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual; else default\"\n class=\"table-body-container\"\n [itemSize]=\"height\">\n <teta-tree-item *cdkVirtualFor=\"let item of displayData;templateCacheSize: 0; trackBy: trackRow;\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</cdk-virtual-scroll-viewport>\n<ng-template #default>\n <teta-tree-item *ngFor=\"let item of displayData; trackBy: trackRow\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-template>\n" }]
|
|
8742
|
-
}], ctorParameters: function () { return [{ type: TreeService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
8756
|
+
}], ctorParameters: function () { return [{ type: TreeService }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { data: [{
|
|
8743
8757
|
type: Input
|
|
8744
8758
|
}], padding: [{
|
|
8745
8759
|
type: Input
|
|
@@ -8755,6 +8769,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
8755
8769
|
type: Output
|
|
8756
8770
|
}], openItemsChange: [{
|
|
8757
8771
|
type: Output
|
|
8772
|
+
}], virtualScroll: [{
|
|
8773
|
+
type: ViewChild,
|
|
8774
|
+
args: [CdkVirtualScrollViewport, { static: false }]
|
|
8758
8775
|
}], template: [{
|
|
8759
8776
|
type: ContentChild,
|
|
8760
8777
|
args: [TetaTemplateDirective, { static: true }]
|