@bizy/core 19.0.15 → 19.0.16
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/fesm2022/bizy-core.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i1 from '@angular/common';
|
|
2
2
|
import { CommonModule, DOCUMENT, registerLocaleData, DatePipe } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { EventEmitter, ChangeDetectorRef, Output, Input, Inject, ChangeDetectionStrategy, Component, ElementRef, Renderer2, Injectable, Directive, ViewChild, ContentChildren, inject, Pipe, ContentChild, ViewContainerRef, TemplateRef,
|
|
4
|
+
import { EventEmitter, ChangeDetectorRef, Output, Input, Inject, ChangeDetectionStrategy, Component, ElementRef, Renderer2, Injectable, Directive, ViewChild, ContentChildren, inject, Pipe, ContentChild, ViewContainerRef, TemplateRef, RendererFactory2, NgModule, HostListener, Host } from '@angular/core';
|
|
5
5
|
import * as echarts from 'echarts';
|
|
6
6
|
import html2canvas from 'html2canvas';
|
|
7
7
|
import { Subscription, BehaviorSubject, Subject, filter, take, skip, auditTime, throttleTime, debounceTime, interval, fromEvent, merge, timer, of } from 'rxjs';
|
|
@@ -2570,9 +2570,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
|
|
|
2570
2570
|
class BizyGridForDirective {
|
|
2571
2571
|
viewContainerRef = inject(ViewContainerRef);
|
|
2572
2572
|
templateRef = inject(TemplateRef);
|
|
2573
|
-
items =
|
|
2573
|
+
#items = new BehaviorSubject([]);
|
|
2574
|
+
get items$() {
|
|
2575
|
+
return this.#items.asObservable();
|
|
2576
|
+
}
|
|
2574
2577
|
set gridForOf(items) {
|
|
2575
|
-
this
|
|
2578
|
+
this.#items.next(items);
|
|
2576
2579
|
}
|
|
2577
2580
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BizyGridForDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2578
2581
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BizyGridForDirective, isStandalone: true, selector: "[gridFor]", inputs: { gridForOf: "gridForOf" }, ngImport: i0 });
|
|
@@ -2602,43 +2605,43 @@ class BizyGridComponent {
|
|
|
2602
2605
|
notifier$ = new Subject();
|
|
2603
2606
|
rowHeight = 100;
|
|
2604
2607
|
itemRows = [];
|
|
2608
|
+
items = [];
|
|
2605
2609
|
itemTemplate;
|
|
2606
2610
|
itemsPerRow = 1;
|
|
2607
|
-
items = signal([]);
|
|
2608
2611
|
constructor(ref, document, renderer, elementRef) {
|
|
2609
2612
|
this.ref = ref;
|
|
2610
2613
|
this.document = document;
|
|
2611
2614
|
this.renderer = renderer;
|
|
2612
2615
|
this.elementRef = elementRef;
|
|
2613
|
-
effect(() => {
|
|
2614
|
-
this.#updateView();
|
|
2615
|
-
});
|
|
2616
2616
|
}
|
|
2617
2617
|
ngAfterContentInit() {
|
|
2618
2618
|
this.#rowScrollingMutationObserver = new MutationObserver(() => {
|
|
2619
2619
|
if (!this.gridDirective) {
|
|
2620
2620
|
return;
|
|
2621
2621
|
}
|
|
2622
|
-
this.
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
this.#resizeObserver = new ResizeObserver(() => this.notifier$.next());
|
|
2628
|
-
const resizeRef = this.resizeRef ? this.resizeRef : this.renderer.parentNode(this.elementRef.nativeElement) ? this.renderer.parentNode(this.elementRef.nativeElement) : this.elementRef.nativeElement;
|
|
2629
|
-
this.#resizeObserver.observe(resizeRef);
|
|
2630
|
-
this.#subscription.add(this.notifier$.pipe(debounceTime(50)).subscribe(() => {
|
|
2622
|
+
this.#subscription.add(this.gridDirective.items$.subscribe(items => {
|
|
2623
|
+
if (this.items.length === 0 && items.length === 0) {
|
|
2624
|
+
return;
|
|
2625
|
+
}
|
|
2626
|
+
this.items = items;
|
|
2631
2627
|
this.#updateView();
|
|
2628
|
+
if (!this.#view) {
|
|
2629
|
+
this.#view = this.gridDirective.viewContainerRef;
|
|
2630
|
+
this.#view.createEmbeddedView(this.content);
|
|
2631
|
+
}
|
|
2632
2632
|
}));
|
|
2633
2633
|
this.#rowScrollingMutationObserver.disconnect();
|
|
2634
2634
|
this.ref.detectChanges();
|
|
2635
2635
|
});
|
|
2636
2636
|
this.#rowScrollingMutationObserver.observe(this.document.body, { childList: true, subtree: true });
|
|
2637
|
+
this.#resizeObserver = new ResizeObserver(() => this.notifier$.next());
|
|
2638
|
+
const resizeRef = this.resizeRef ? this.resizeRef : this.renderer.parentNode(this.elementRef.nativeElement) ? this.renderer.parentNode(this.elementRef.nativeElement) : this.elementRef.nativeElement;
|
|
2639
|
+
this.#resizeObserver.observe(resizeRef);
|
|
2640
|
+
this.#subscription.add(this.notifier$.pipe(debounceTime(50)).subscribe(() => {
|
|
2641
|
+
this.#updateView();
|
|
2642
|
+
}));
|
|
2637
2643
|
}
|
|
2638
2644
|
#updateView = () => {
|
|
2639
|
-
if (!this.gridDirective) {
|
|
2640
|
-
return;
|
|
2641
|
-
}
|
|
2642
2645
|
this.itemTemplate = this.gridDirective.templateRef;
|
|
2643
2646
|
const rowWidth = this.elementRef.nativeElement.offsetWidth || this.elementRef.nativeElement.firstChild.offsetWidth;
|
|
2644
2647
|
let columnWidth = 100;
|
|
@@ -2674,8 +2677,8 @@ class BizyGridComponent {
|
|
|
2674
2677
|
this.itemsPerRow = (count - 1) <= 0 ? 1 : count - 1;
|
|
2675
2678
|
}
|
|
2676
2679
|
const itemRows = [];
|
|
2677
|
-
for (let i = 0; i < this.items
|
|
2678
|
-
const row = this.items
|
|
2680
|
+
for (let i = 0; i < this.items.length; i += this.itemsPerRow) {
|
|
2681
|
+
const row = this.items.slice(i, i + this.itemsPerRow);
|
|
2679
2682
|
itemRows.push(row);
|
|
2680
2683
|
}
|
|
2681
2684
|
this.itemRows = itemRows;
|
|
@@ -2694,11 +2697,11 @@ class BizyGridComponent {
|
|
|
2694
2697
|
}
|
|
2695
2698
|
}
|
|
2696
2699
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BizyGridComponent, deps: [{ token: ChangeDetectorRef }, { token: DOCUMENT }, { token: Renderer2 }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2697
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: BizyGridComponent, isStandalone: true, selector: "bizy-grid", inputs: { resizeRef: "resizeRef" }, queries: [{ propertyName: "gridDirective", first: true, predicate: BizyGridForDirective, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["gridScrollingContent"], descendants: true }], ngImport: i0, template: "<div class=\"bizy-grid\" [ngClass]=\"{'bizy-grid--empty': items
|
|
2700
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: BizyGridComponent, isStandalone: true, selector: "bizy-grid", inputs: { resizeRef: "resizeRef" }, queries: [{ propertyName: "gridDirective", first: true, predicate: BizyGridForDirective, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["gridScrollingContent"], descendants: true }], ngImport: i0, template: "<div class=\"bizy-grid\" [ngClass]=\"{'bizy-grid--empty': items && items.length === 0}\">\n\n <cdk-virtual-scroll-viewport\n class=\"bizy-grid__rows\"\n [itemSize]=\"rowHeight\"\n [minBufferPx]=\"rowHeight + (rowHeight * 5)\"\n [maxBufferPx]=\"rowHeight + (rowHeight * 10)\">\n\n <ng-content></ng-content>\n \n <ng-template #gridScrollingContent>\n <ng-template let-item cdkVirtualFor [cdkVirtualForOf]=\"itemRows\">\n <bizy-grid-row [rowHeight]=\"rowHeight\" [itemsPerRow]=\"itemsPerRow\">\n <ng-container *ngFor=\"let it of item; trackBy: trackById\">\n <ng-template *ngTemplateOutlet=\"itemTemplate; context: { $implicit: it }\"></ng-template>\n </ng-container>\n </bizy-grid-row>\n </ng-template>\n </ng-template>\n </cdk-virtual-scroll-viewport>\n\n</div>\n", styles: [":host{display:inline-block!important;min-height:var(--bizy-grid-min-height);max-height:var(--bizy-grid-max-height);height:var(--bizy-grid-height);width:var(--bizy-grid-width);flex:1;overflow-x:auto;overflow-y:hidden;font-size:1rem}:host:has(.bizy-grid--empty){height:0!important;min-height:0!important;max-height:0!important}.bizy-grid{width:inherit;height:inherit;min-width:fit-content;display:flex;flex-direction:column;row-gap:.3rem;overflow-x:clip;background-color:var(--bizy-grid-background-color)}.bizy-grid__rows{width:100%;display:flex;flex-direction:column;min-width:fit-content;overflow-x:hidden}::ng-deep .cdk-virtual-scrollable{height:100%;width:100%;overflow-y:auto!important;overflow-x:hidden!important;contain:inline-size!important}::ng-deep .cdk-virtual-scroll-content-wrapper{min-width:100%;max-width:100%}::ng-deep .cdk-virtual-scrollable::-webkit-scrollbar{width:.5rem;height:.5rem}::ng-deep .cdk-virtual-scrollable::-webkit-scrollbar-thumb{border-radius:1rem;background-color:var(--bizy-grid-scroll-bar-color)}::ng-deep .cdk-virtual-scrollable::-webkit-scrollbar-thumb:hover{background-color:var(--bizy-grid-scroll-bar-hover-color)}::ng-deep .cdk-virtual-scrollable::-webkit-scrollbar-button{height:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i2$3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2$3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2$3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: BizyGridRowComponent, selector: "bizy-grid-row", inputs: ["rowHeight", "itemsPerRow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2698
2701
|
}
|
|
2699
2702
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BizyGridComponent, decorators: [{
|
|
2700
2703
|
type: Component,
|
|
2701
|
-
args: [{ selector: 'bizy-grid', imports: [CommonModule, ScrollingModule, BizyGridRowComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bizy-grid\" [ngClass]=\"{'bizy-grid--empty': items
|
|
2704
|
+
args: [{ selector: 'bizy-grid', imports: [CommonModule, ScrollingModule, BizyGridRowComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bizy-grid\" [ngClass]=\"{'bizy-grid--empty': items && items.length === 0}\">\n\n <cdk-virtual-scroll-viewport\n class=\"bizy-grid__rows\"\n [itemSize]=\"rowHeight\"\n [minBufferPx]=\"rowHeight + (rowHeight * 5)\"\n [maxBufferPx]=\"rowHeight + (rowHeight * 10)\">\n\n <ng-content></ng-content>\n \n <ng-template #gridScrollingContent>\n <ng-template let-item cdkVirtualFor [cdkVirtualForOf]=\"itemRows\">\n <bizy-grid-row [rowHeight]=\"rowHeight\" [itemsPerRow]=\"itemsPerRow\">\n <ng-container *ngFor=\"let it of item; trackBy: trackById\">\n <ng-template *ngTemplateOutlet=\"itemTemplate; context: { $implicit: it }\"></ng-template>\n </ng-container>\n </bizy-grid-row>\n </ng-template>\n </ng-template>\n </cdk-virtual-scroll-viewport>\n\n</div>\n", styles: [":host{display:inline-block!important;min-height:var(--bizy-grid-min-height);max-height:var(--bizy-grid-max-height);height:var(--bizy-grid-height);width:var(--bizy-grid-width);flex:1;overflow-x:auto;overflow-y:hidden;font-size:1rem}:host:has(.bizy-grid--empty){height:0!important;min-height:0!important;max-height:0!important}.bizy-grid{width:inherit;height:inherit;min-width:fit-content;display:flex;flex-direction:column;row-gap:.3rem;overflow-x:clip;background-color:var(--bizy-grid-background-color)}.bizy-grid__rows{width:100%;display:flex;flex-direction:column;min-width:fit-content;overflow-x:hidden}::ng-deep .cdk-virtual-scrollable{height:100%;width:100%;overflow-y:auto!important;overflow-x:hidden!important;contain:inline-size!important}::ng-deep .cdk-virtual-scroll-content-wrapper{min-width:100%;max-width:100%}::ng-deep .cdk-virtual-scrollable::-webkit-scrollbar{width:.5rem;height:.5rem}::ng-deep .cdk-virtual-scrollable::-webkit-scrollbar-thumb{border-radius:1rem;background-color:var(--bizy-grid-scroll-bar-color)}::ng-deep .cdk-virtual-scrollable::-webkit-scrollbar-thumb:hover{background-color:var(--bizy-grid-scroll-bar-hover-color)}::ng-deep .cdk-virtual-scrollable::-webkit-scrollbar-button{height:1rem}\n"] }]
|
|
2702
2705
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef, decorators: [{
|
|
2703
2706
|
type: Inject,
|
|
2704
2707
|
args: [ChangeDetectorRef]
|