{"version":3,"file":"tethys-pro-dashboard.mjs","sources":["../../../../packages/components/dashboard/widget/header/widget-header.component.ts","../../../../packages/components/dashboard/widget/header/widget-header.component.html","../../../../packages/components/dashboard/widget/body/widget-body.component.ts","../../../../packages/components/dashboard/widget/body/widget-body.component.html","../../../../packages/components/dashboard/dashboard.component.ts","../../../../packages/components/dashboard/dashboard.component.html","../../../../packages/components/dashboard/module.ts","../../../../packages/components/dashboard/widget/widget.component.ts","../../../../packages/components/dashboard/tethys-pro-dashboard.ts"],"sourcesContent":["import { OnInit, Component, TemplateRef, ChangeDetectionStrategy, input, contentChild } from '@angular/core';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { NgClass } from '@angular/common';\n\n@Component({\n    selector: 'thy-dashboard-widget-header',\n    templateUrl: './widget-header.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: { class: 'thy-dashboard-widget-header' },\n    imports: [NgClass, ThySharedModule]\n})\nexport class ThyDashboardWidgetHeaderComponent implements OnInit {\n    readonly thyTitle = input.required<string | TemplateRef<any>>();\n\n    readonly thyDescription = input.required<string | TemplateRef<any>>();\n\n    readonly operationTemplateRef = contentChild.required<TemplateRef<any>>('operation');\n\n    constructor() {}\n\n    ngOnInit() {}\n}\n","<div class=\"widget-header-title\" [ngClass]=\"{ 'mb-3': !thyDescription() }\">\n  <span class=\"title-text text-truncate\" *thyStringOrTemplateOutlet=\"thyTitle()\"></span>\n</div>\n@if (thyDescription()) {\n  <div class=\"widget-header-description text-truncate\" [ngClass]=\"{ 'mb-3': thyDescription() }\">\n    <ng-container *thyStringOrTemplateOutlet=\"thyDescription()\"></ng-container>\n  </div>\n}\n","import { OnInit, Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n    selector: 'thy-dashboard-widget-body',\n    templateUrl: './widget-body.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: { class: 'thy-dashboard-widget-body' },\n    standalone: true\n})\nexport class ThyDashboardWidgetBodyComponent implements OnInit {\n    constructor() {}\n\n    ngOnInit() {}\n}\n","<ng-content></ng-content>\n","import {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ElementRef,\n    NgZone,\n    OnDestroy,\n    effect,\n    input,\n    output,\n    viewChild\n} from '@angular/core';\nimport { CompactType, DisplayGrid, GridType, Gridster, GridsterConfig, GridsterItem, GridsterItemConfig } from 'angular-gridster2';\nimport { ThyViewOutletDirective } from 'ngx-tethys/shared';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { Observable, Subject, of } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\nimport { ThyWidgetItem, ThyWidgetVieOutletWithContext, ThyWidgetViewOutlet, WidgetGridsterItem } from './dashboard.class';\n\n@Component({\n    selector: 'thy-dashboard',\n    templateUrl: './dashboard.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: { class: 'thy-dashboard' },\n    imports: [Gridster, GridsterItem, ThyViewOutletDirective]\n})\nexport class ThyDashboardComponent implements AfterViewInit, OnDestroy {\n    /**\n     * 仪表盘部件对应组件或模版映射\n     */\n    readonly thyWidgetViews = input<Record<string, ThyWidgetViewOutlet | ThyWidgetVieOutletWithContext>>({});\n\n    /**\n     * 仪表盘部件是否允许拖拽\n     */\n    readonly thyDraggable = input(false, { transform: coerceBooleanProperty });\n\n    /**\n     * 仪表盘部件数据\n     */\n    readonly thyWidgets = input<ThyWidgetItem[]>([]);\n\n    /**\n     * 部件变更\n     */\n    readonly thyWidgetsChange = output<ThyWidgetItem[]>();\n\n    /**\n     * 仪表盘整体大小发生变化\n     */\n    readonly thyResizeChange = output<void>();\n\n    readonly gridster = viewChild.required('gridster', { read: ElementRef });\n\n    public widgetGridsterItems: WidgetGridsterItem[] = [];\n\n    private ngUnsubscribe$ = new Subject<void>();\n\n    public config: GridsterConfig = {\n        gridType: GridType.VerticalFixed,\n        margin: 8,\n        compactType: CompactType.None,\n        displayGrid: DisplayGrid.None,\n        maxCols: 12,\n        minCols: 12,\n        fixedRowHeight: 120,\n        disableScrollHorizontal: true,\n        pushItems: true,\n        disablePushOnDrag: true,\n        useTransformPositioning: false,\n        outerMargin: true,\n        itemChangeCallback: (item: GridsterItemConfig) => {\n            const widgets = this.thyWidgets();\n            const changedWidget = widgets.find((widget) => {\n                return widget._id === item.widget._id;\n            });\n\n            if (changedWidget) {\n                changedWidget.position = { x: item.x, y: item.y };\n                changedWidget.size = { cols: item.cols, rows: item.rows };\n                this.thyWidgetsChange.emit(widgets);\n            }\n        }\n    };\n\n    constructor(\n        private cdr: ChangeDetectorRef,\n        private ngZone: NgZone\n    ) {\n        effect(\n            () => {\n                this.widgetGridsterItems = this.buildWidgetGridsterItems();\n            },\n            { allowSignalWrites: true }\n        );\n\n        effect(\n            () => {\n                this.setDraggable(this.thyDraggable());\n            },\n            { allowSignalWrites: true }\n        );\n    }\n\n    ngAfterViewInit() {\n        this.ngZone.runOutsideAngular(() => {\n            this.createResizeObserver(this.gridster().nativeElement)\n                .pipe(debounceTime(100), takeUntil(this.ngUnsubscribe$))\n                .subscribe(() => {\n                    if (this.config.api && this.config.api.resize) {\n                        this.config.api.resize();\n                    }\n                    this.thyResizeChange.emit();\n                });\n        });\n    }\n\n    trackBy(index: number, item: WidgetGridsterItem) {\n        return item.widget?._id || index;\n    }\n\n    createResizeObserver(element: HTMLElement) {\n        return typeof ResizeObserver === 'undefined'\n            ? of(null)\n            : new Observable((observer) => {\n                  const resize = new ResizeObserver((entries) => {\n                      observer.next(entries);\n                  });\n                  resize.observe(element);\n                  return () => {\n                      resize.disconnect();\n                  };\n              });\n    }\n\n    private buildWidgetGridsterItems() {\n        const widgets = this.thyWidgets();\n        const widgetViews = this.thyWidgetViews();\n        return (widgets || []).map((widget) => {\n            const widgetView = widgetViews[widget.type];\n            const gridsterItem: WidgetGridsterItem = {\n                x: widget.position?.x,\n                y: widget.position?.y,\n                cols: widget.size.cols,\n                rows: widget.size.rows,\n                minItemCols: widget.minSize?.cols,\n                minItemRows: widget.minSize?.rows,\n                outlet: (widgetView as ThyWidgetVieOutletWithContext)?.outlet || (widgetView as ThyWidgetViewOutlet),\n                outletContext: {\n                    ...(widgetView as ThyWidgetVieOutletWithContext)?.context,\n                    widget\n                },\n                widget\n            };\n\n            return gridsterItem;\n        });\n    }\n\n    private setDraggable(draggable: boolean) {\n        if (draggable) {\n            this.config = {\n                ...this.config,\n                minRows: 12,\n                draggable: {\n                    enabled: true\n                },\n                resizable: {\n                    enabled: true\n                },\n                displayGrid: DisplayGrid.Always\n            };\n        } else {\n            this.config = {\n                ...this.config,\n                minRows: 1,\n                draggable: {\n                    enabled: false\n                },\n                resizable: {\n                    enabled: false\n                },\n                displayGrid: DisplayGrid.None\n            };\n        }\n        this.cdr.markForCheck();\n    }\n\n    ngOnDestroy() {\n        this.ngUnsubscribe$.next();\n        this.ngUnsubscribe$.complete();\n    }\n}\n","<gridster #gridster class=\"dashboard-gridster\" [options]=\"config\">\n  @for (gridsterItem of widgetGridsterItems; track trackBy($index, gridsterItem)) {\n    <gridster-item class=\"dashboard-girdster-item\" [item]=\"gridsterItem\">\n      <ng-container *thyViewOutlet=\"gridsterItem.outlet; context: gridsterItem.outletContext\"> </ng-container>\n    </gridster-item>\n  }\n  <div class=\"empty-block\" [style.top.px]=\"gridster.rows * 128\"></div>\n</gridster>\n","import { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyActionModule } from 'ngx-tethys/action';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyTooltipModule } from 'ngx-tethys/tooltip';\nimport { ThyDashboardWidgetHeaderComponent } from './widget/header/widget-header.component';\nimport { ThyDashboardWidgetBodyComponent } from './widget/body/widget-body.component';\nimport { ThyDashboardComponent } from './dashboard.component';\n\nconst TETHYS_MODULES = [ThyTooltipModule, ThyIconModule, ThyActionModule, ThySharedModule];\n\n@NgModule({\n    imports: [\n        ...TETHYS_MODULES,\n        RouterModule,\n        CommonModule,\n        ThyDashboardComponent,\n        ThyDashboardWidgetHeaderComponent,\n        ThyDashboardWidgetBodyComponent\n    ],\n    exports: [ThyDashboardComponent, ThyDashboardWidgetHeaderComponent, ThyDashboardWidgetBodyComponent],\n    providers: []\n})\nexport class ThyProDashboardModule {}\n","import { Directive } from '@angular/core';\nimport { ThyWidgetItem } from '../dashboard.class';\n\n@Directive()\nexport class ThyDashboardWidgetComponent<T = unknown> {\n    set widget(value: ThyWidgetItem<T>) {\n        this._widget = value;\n    }\n    get widget() {\n        return this._widget;\n    }\n\n    private _widget!: ThyWidgetItem<T>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}