{"version":3,"file":"primeng-dataview.mjs","sources":["../../src/dataview/style/dataviewstyle.ts","../../src/dataview/dataview.ts","../../src/dataview/primeng-dataview.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-dataview {\n    border-color: ${dt('dataview.border.color')};\n    border-width: ${dt('dataview.border.width')};\n    border-style: solid;\n    border-radius: ${dt('dataview.border.radius')};\n    padding: ${dt('dataview.padding')};\n}\n\n.p-dataview-header {\n    background: ${dt('dataview.header.background')};\n    color: ${dt('dataview.header.color')};\n    border-color: ${dt('dataview.header.border.color')};\n    border-width: ${dt('dataview.header.border.width')};\n    border-style: solid;\n    padding: ${dt('dataview.header.padding')};\n    border-radius: ${dt('dataview.header.border.radius')};\n}\n\n.p-dataview-content {\n    background: ${dt('dataview.content.background')};\n    border-color: ${dt('dataview.content.border.color')};\n    border-width: ${dt('dataview.content.border.width')};\n    border-style: solid;\n    color: ${dt('dataview.content.color')};\n    padding: ${dt('dataview.content.padding')};\n    border-radius: ${dt('dataview.content.border.radius')};\n}\n\n.p-dataview-footer {\n    background: ${dt('dataview.footer.background')};\n    color: ${dt('dataview.footer.color')};\n    border-color: ${dt('dataview.footer.border.color')};\n    border-width: ${dt('dataview.footer.border.width')};\n    border-style: solid;\n    padding: ${dt('dataview.footer.padding')};\n    border-radius: ${dt('dataview.footer.border.radius')};\n}\n\n.p-dataview-paginator-top {\n    border-width: ${dt('dataview.paginator.top.border.width')};\n    border-color: ${dt('dataview.paginator.top.border.color')};\n    border-style: solid;\n}\n\n.p-dataview-paginator-bottom {\n    border-width: ${dt('dataview.paginator.bottom.border.width')};\n    border-color: ${dt('dataview.paginator.bottom.border.color')};\n    border-style: solid;\n}\n`;\n\nconst classes = {\n    root: ({ props }) => [\n        'p-dataview p-component',\n        {\n            'p-dataview-list': props.layout === 'list',\n            'p-dataview-grid': props.layout === 'grid'\n        }\n    ],\n    header: 'p-dataview-header',\n    pcPaginator: ({ position }) => 'p-dataview-paginator-' + position,\n    content: 'p-dataview-content',\n    emptyMessage: 'p-dataview-empty-message', // TODO: remove?\n    footer: 'p-dataview-footer'\n};\n\n@Injectable()\nexport class DataViewStyle extends BaseStyle {\n    name = 'dataview';\n\n    theme = theme;\n\n    classes = classes;\n}\n\n/**\n *\n * DataView displays data in grid or list layout with pagination and sorting features.\n *\n * [Live Demo](https://www.primeng.org/dataview/)\n *\n * @module dataviewstyle\n *\n */\nexport enum DataViewClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-dataview',\n    /**\n     * Class name of the header element\n     */\n    header = 'p-dataview-header',\n    /**\n     * Class name of the paginator element\n     */\n    pcPaginator = 'p-dataview-paginator-[position]',\n    /**\n     * Class name of the content element\n     */\n    content = 'p-dataview-content',\n    /**\n     * Class name of the empty message element\n     */\n    emptyMessage = 'p-dataview-empty-message', // TODO: remove?\n    /**\n     * Class name of the footer element\n     */\n    footer = 'p-dataview-footer'\n}\n\nexport interface DataViewStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport {\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    Component,\n    ContentChild,\n    ElementRef,\n    EventEmitter,\n    inject,\n    Input,\n    NgModule,\n    numberAttribute,\n    OnChanges,\n    OnDestroy,\n    OnInit,\n    Output,\n    SimpleChanges,\n    TemplateRef,\n    ViewEncapsulation\n} from '@angular/core';\nimport { resolveFieldData } from '@primeuix/utils';\nimport { BlockableUI, FilterService, Footer, Header, SharedModule, TranslationKeys } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { SpinnerIcon } from 'primeng/icons';\nimport { PaginatorModule } from 'primeng/paginator';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { Subscription } from 'rxjs';\nimport { DataViewLayoutChangeEvent, DataViewLazyLoadEvent, DataViewPageEvent, DataViewPaginatorState, DataViewSortEvent } from './dataview.interface';\nimport { DataViewStyle } from './style/dataviewstyle';\n\n/**\n * DataView displays data in grid or list layout with pagination and sorting features.\n * @group Components\n */\n@Component({\n    selector: 'p-dataView, p-dataview, p-data-view',\n    standalone: true,\n    imports: [CommonModule, PaginatorModule, SpinnerIcon, SharedModule],\n    template: `\n        <div [ngClass]=\"{ 'p-dataview p-component': true, 'p-dataview-list': layout === 'list', 'p-dataview-grid': layout === 'grid' }\" [ngStyle]=\"style\" [class]=\"styleClass\">\n            <div class=\"p-dataview-loading\" *ngIf=\"loading\">\n                <div class=\"p-dataview-loading-overlay p-overlay-mask\">\n                    <i *ngIf=\"loadingIcon\" [class]=\"'p-dataview-loading-icon pi-spin ' + loadingIcon\"></i>\n                    <ng-container *ngIf=\"!loadingIcon\">\n                        <SpinnerIcon *ngIf=\"!loadingicon\" [spin]=\"true\" [styleClass]=\"'p-dataview-loading-icon'\" />\n                        <ng-template *ngTemplateOutlet=\"loadingicon\"></ng-template>\n                    </ng-container>\n                </div>\n            </div>\n            <div class=\"p-dataview-header\" *ngIf=\"header || headerTemplate\">\n                <ng-content select=\"p-header\"></ng-content>\n                <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n            </div>\n            <p-paginator\n                [rows]=\"rows\"\n                [first]=\"first\"\n                [totalRecords]=\"totalRecords\"\n                [pageLinkSize]=\"pageLinks\"\n                [alwaysShow]=\"alwaysShowPaginator\"\n                (onPageChange)=\"paginate($event)\"\n                styleClass=\"p-paginator-top\"\n                [rowsPerPageOptions]=\"rowsPerPageOptions\"\n                *ngIf=\"paginator && (paginatorPosition === 'top' || paginatorPosition == 'both')\"\n                [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n                [dropdownScrollHeight]=\"paginatorDropdownScrollHeight\"\n                [templateLeft]=\"paginatorleft\"\n                [templateRight]=\"paginatorright\"\n                [currentPageReportTemplate]=\"currentPageReportTemplate\"\n                [showFirstLastIcon]=\"showFirstLastIcon\"\n                [dropdownItemTemplate]=\"paginatordropdownitem\"\n                [showCurrentPageReport]=\"showCurrentPageReport\"\n                [showJumpToPageDropdown]=\"showJumpToPageDropdown\"\n                [showPageLinks]=\"showPageLinks\"\n                [styleClass]=\"paginatorStyleClass\"\n            ></p-paginator>\n\n            <div class=\"p-dataview-content\">\n                @if (layout === 'list') {\n                    <ng-container\n                        *ngTemplateOutlet=\"\n                            listTemplate;\n                            context: {\n                                $implicit: paginator ? (filteredValue || value | slice: (lazy ? 0 : first) : (lazy ? 0 : first) + rows) : filteredValue || value\n                            }\n                        \"\n                    ></ng-container>\n                }\n                @if (layout === 'grid') {\n                    <ng-container\n                        *ngTemplateOutlet=\"\n                            gridTemplate;\n                            context: {\n                                $implicit: paginator ? (filteredValue || value | slice: (lazy ? 0 : first) : (lazy ? 0 : first) + rows) : filteredValue || value\n                            }\n                        \"\n                    ></ng-container>\n                }\n                <div *ngIf=\"isEmpty() && !loading\">\n                    <div class=\"p-dataview-emptymessage\">\n                        <ng-container *ngIf=\"!emptymessageTemplate; else empty\">\n                            {{ emptyMessageLabel }}\n                        </ng-container>\n                        <ng-container #empty *ngTemplateOutlet=\"emptymessageTemplate\"></ng-container>\n                    </div>\n                </div>\n            </div>\n            <p-paginator\n                [rows]=\"rows\"\n                [first]=\"first\"\n                [totalRecords]=\"totalRecords\"\n                [pageLinkSize]=\"pageLinks\"\n                [alwaysShow]=\"alwaysShowPaginator\"\n                (onPageChange)=\"paginate($event)\"\n                styleClass=\"p-paginator-bottom\"\n                [rowsPerPageOptions]=\"rowsPerPageOptions\"\n                *ngIf=\"paginator && (paginatorPosition === 'bottom' || paginatorPosition == 'both')\"\n                [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n                [dropdownScrollHeight]=\"paginatorDropdownScrollHeight\"\n                [templateLeft]=\"paginatorleft\"\n                [templateRight]=\"paginatorright\"\n                [currentPageReportTemplate]=\"currentPageReportTemplate\"\n                [showFirstLastIcon]=\"showFirstLastIcon\"\n                [dropdownItemTemplate]=\"paginatordropdownitem\"\n                [showCurrentPageReport]=\"showCurrentPageReport\"\n                [showJumpToPageDropdown]=\"showJumpToPageDropdown\"\n                [showPageLinks]=\"showPageLinks\"\n                [styleClass]=\"paginatorStyleClass\"\n            ></p-paginator>\n            <div class=\"p-dataview-footer\" *ngIf=\"footer || footerTemplate\">\n                <ng-content select=\"p-footer\"></ng-content>\n                <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n            </div>\n        </div>\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [DataViewStyle]\n})\nexport class DataView extends BaseComponent implements OnInit, OnDestroy, BlockableUI, OnChanges {\n    /**\n     * When specified as true, enables the pagination.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) paginator: boolean | undefined;\n    /**\n     * Number of rows to display per page.\n     * @group Props\n     */\n    @Input({ transform: numberAttribute }) rows: number | undefined;\n    /**\n     * Number of total records, defaults to length of value when not defined.\n     * @group Props\n     */\n    @Input({ transform: numberAttribute }) totalRecords: number | undefined;\n    /**\n     * Number of page links to display in paginator.\n     * @group Props\n     */\n    @Input({ transform: numberAttribute }) pageLinks: number = 5;\n    /**\n     * Array of integer/object values to display inside rows per page dropdown of paginator\n     * @group Props\n     */\n    @Input() rowsPerPageOptions: number[] | any[] | undefined;\n    /**\n     * Position of the paginator.\n     * @group Props\n     */\n    @Input() paginatorPosition: 'top' | 'bottom' | 'both' = 'bottom';\n    /**\n     * Custom style class for paginator\n     * @group Props\n     */\n    @Input() paginatorStyleClass: string | undefined;\n    /**\n     * Whether to show it even there is only one page.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) alwaysShowPaginator: boolean = true;\n    /**\n     * Target element to attach the paginator dropdown overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n     * @group Props\n     */\n    @Input() paginatorDropdownAppendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n    /**\n     * Paginator dropdown height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n     * @group Props\n     */\n    @Input() paginatorDropdownScrollHeight: string = '200px';\n    /**\n     * Template of the current page report element. Available placeholders are {currentPage},{totalPages},{rows},{first},{last} and {totalRecords}\n     * @group Props\n     */\n    @Input() currentPageReportTemplate: string = '{currentPage} of {totalPages}';\n    /**\n     * Whether to display current page report.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) showCurrentPageReport: boolean | undefined;\n    /**\n     * Whether to display a dropdown to navigate to any page.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) showJumpToPageDropdown: boolean | undefined;\n    /**\n     * When enabled, icons are displayed on paginator to go first and last page.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) showFirstLastIcon: boolean = true;\n    /**\n     * Whether to show page links.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) showPageLinks: boolean = true;\n    /**\n     * Defines if data is loaded and interacted with in lazy manner.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) lazy: boolean | undefined;\n    /**\n     * Whether to call lazy loading on initialization.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) lazyLoadOnInit: boolean = true;\n    /**\n     * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n     * @group Props\n     */\n    @Input() emptyMessage: string = '';\n    /**\n     * Inline style of the component.\n     * @group Props\n     */\n    @Input() style: { [klass: string]: any } | null | undefined;\n    /**\n     * Style class of the component.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n    /**\n     * Style class of the grid.\n     * @group Props\n     */\n    @Input() gridStyleClass: string = '';\n    /**\n     * Function to optimize the dom operations by delegating to ngForTrackBy, default algorithm checks for object identity.\n     * @group Props\n     */\n    @Input() trackBy: Function = (index: number, item: any) => item;\n    /**\n     * Comma separated list of fields in the object graph to search against.\n     * @group Props\n     */\n    @Input() filterBy: string | undefined;\n    /**\n     * Locale to use in filtering. The default locale is the host environment's current locale.\n     * @group Props\n     */\n    @Input() filterLocale: string | undefined;\n    /**\n     * Displays a loader to indicate data load is in progress.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) loading: boolean | undefined;\n    /**\n     * The icon to show while indicating data load is in progress.\n     * @group Props\n     */\n    @Input() loadingIcon: string | undefined;\n    /**\n     * Index of the first row to be displayed.\n     * @group Props\n     */\n    @Input({ transform: numberAttribute }) first: number | undefined = 0;\n    /**\n     * Property name of data to use in sorting by default.\n     * @group Props\n     */\n    @Input() sortField: string | undefined;\n    /**\n     * Order to sort the data by default.\n     * @group Props\n     */\n    @Input({ transform: numberAttribute }) sortOrder: number | undefined;\n    /**\n     * An array of objects to display.\n     * @group Props\n     */\n    @Input() value: any[] | undefined;\n    /**\n     * Defines the layout mode.\n     * @group Props\n     */\n    @Input() layout: 'list' | 'grid' = 'list';\n    /**\n     * Callback to invoke when paging, sorting or filtering happens in lazy mode.\n     * @param {DataViewLazyLoadEvent} event - Custom lazy load event.\n     * @group Emits\n     */\n    @Output() onLazyLoad: EventEmitter<DataViewLazyLoadEvent> = new EventEmitter<DataViewLazyLoadEvent>();\n    /**\n     * Callback to invoke when pagination occurs.\n     * @param {DataViewPageEvent} event - Custom page event.\n     * @group Emits\n     */\n    @Output() onPage: EventEmitter<DataViewPageEvent> = new EventEmitter<DataViewPageEvent>();\n    /**\n     * Callback to invoke when sorting occurs.\n     * @param {DataViewSortEvent} event - Custom sort event.\n     * @group Emits\n     */\n    @Output() onSort: EventEmitter<DataViewSortEvent> = new EventEmitter<DataViewSortEvent>();\n    /**\n     * Callback to invoke when changing layout.\n     * @param {DataViewLayoutChangeEvent} event - Custom layout change event.\n     * @group Emits\n     */\n    @Output() onChangeLayout: EventEmitter<DataViewLayoutChangeEvent> = new EventEmitter<DataViewLayoutChangeEvent>();\n    /**\n     * Template for the list layout.\n     * @group Templates\n     */\n    @ContentChild('list') listTemplate: Nullable<TemplateRef<any>>;\n    /**\n     * Template for grid layout.\n     * @group Templates\n     */\n    @ContentChild('grid') gridTemplate: TemplateRef<any>;\n    /**\n     * Template for the header section.\n     * @group Templates\n     */\n    @ContentChild('header') headerTemplate: TemplateRef<any>;\n    /**\n     * Template for the empty message section.\n     * @group Templates\n     */\n    @ContentChild('emptymessage') emptymessageTemplate: TemplateRef<any>;\n    /**\n     * Template for the footer section.\n     * @group Templates\n     */\n    @ContentChild('footer') footerTemplate: TemplateRef<any>;\n    /**\n     * Template for the left side of paginator.\n     * @group Templates\n     */\n    @ContentChild('paginatorleft') paginatorleft: TemplateRef<any>;\n    /**r* Template for the right side of paginator.\n     * @group Templates\n     */\n    @ContentChild('paginatorright') paginatorright: TemplateRef<any>;\n    /**\n     * Template for items in paginator dropdown.\n     * @group Templates\n     */\n    @ContentChild('paginatordropdownitem') paginatordropdownitem: TemplateRef<any>;\n    /**\n     * Template for loading icon.\n     * @group Templates\n     */\n    @ContentChild('loadingIcon') loadingicon: TemplateRef<any>;\n    /**\n     * Template for list icon.\n     * @group Templates\n     */\n    @ContentChild('listicon') listicon: TemplateRef<any>;\n    /**\n     * Template for grid icon.\n     * @group Templates\n     */\n    @ContentChild('gridicon') gridicon: TemplateRef<any>;\n\n    @ContentChild(Header) header: any;\n\n    @ContentChild(Footer) footer: any;\n\n    _value: Nullable<any[]>;\n\n    filteredValue: Nullable<any[]>;\n\n    filterValue: Nullable<string>;\n\n    initialized: Nullable<boolean>;\n\n    _layout: 'list' | 'grid' = 'list';\n\n    translationSubscription: Nullable<Subscription>;\n\n    _componentStyle = inject(DataViewStyle);\n\n    get emptyMessageLabel(): string {\n        return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);\n    }\n\n    filterService = inject(FilterService);\n\n    ngOnInit() {\n        super.ngOnInit();\n        if (this.lazy && this.lazyLoadOnInit) {\n            this.onLazyLoad.emit(this.createLazyLoadMetadata());\n        }\n\n        this.translationSubscription = this.config.translationObserver.subscribe(() => {\n            this.cd.markForCheck();\n        });\n        this.initialized = true;\n    }\n\n    ngAfterViewInit() {\n        super.ngAfterViewInit();\n    }\n\n    ngOnChanges(simpleChanges: SimpleChanges) {\n        super.ngOnChanges(simpleChanges);\n        if (simpleChanges.value) {\n            this._value = simpleChanges.value.currentValue;\n            this.updateTotalRecords();\n\n            if (!this.lazy && this.hasFilter()) {\n                this.filter(this.filterValue as string);\n            }\n        }\n\n        if (simpleChanges.sortField || simpleChanges.sortOrder) {\n            //avoid triggering lazy load prior to lazy initialization at onInit\n            if (!this.lazy || this.initialized) {\n                this.sort();\n            }\n        }\n    }\n\n    updateTotalRecords() {\n        this.totalRecords = this.lazy ? this.totalRecords : this._value ? this._value.length : 0;\n    }\n\n    paginate(event: DataViewPaginatorState) {\n        this.first = event.first;\n        this.rows = event.rows;\n\n        if (this.lazy) {\n            this.onLazyLoad.emit(this.createLazyLoadMetadata());\n        }\n\n        this.onPage.emit({\n            first: <number>this.first,\n            rows: <number>this.rows\n        });\n    }\n\n    sort() {\n        this.first = 0;\n\n        if (this.lazy) {\n            this.onLazyLoad.emit(this.createLazyLoadMetadata());\n        } else if (this.value) {\n            this.value.sort((data1, data2) => {\n                let value1 = resolveFieldData(data1, this.sortField);\n                let value2 = resolveFieldData(data2, this.sortField);\n                let result = null;\n\n                if (value1 == null && value2 != null) result = -1;\n                else if (value1 != null && value2 == null) result = 1;\n                else if (value1 == null && value2 == null) result = 0;\n                else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2);\n                else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n\n                return (this.sortOrder as number) * result;\n            });\n\n            if (this.hasFilter()) {\n                this.filter(this.filterValue as string);\n            }\n        }\n\n        this.onSort.emit({\n            sortField: <string>this.sortField,\n            sortOrder: <number>this.sortOrder\n        });\n    }\n\n    isEmpty() {\n        let data = this.filteredValue || this.value;\n        return data == null || data.length == 0;\n    }\n\n    createLazyLoadMetadata(): DataViewLazyLoadEvent {\n        return {\n            first: <number>this.first,\n            rows: <number>this.rows,\n            sortField: <string>this.sortField,\n            sortOrder: <number>this.sortOrder\n        };\n    }\n\n    getBlockableElement(): HTMLElement {\n        return this.el.nativeElement.children[0];\n    }\n\n    filter(filter: string, filterMatchMode: string = 'contains') {\n        this.filterValue = filter;\n\n        if (this.value && this.value.length) {\n            let searchFields = (this.filterBy as string).split(',');\n            this.filteredValue = this.filterService.filter(this.value, searchFields, filter, filterMatchMode, this.filterLocale);\n\n            if (this.filteredValue.length === this.value.length) {\n                this.filteredValue = null;\n            }\n\n            if (this.paginator) {\n                this.first = 0;\n                this.totalRecords = this.filteredValue ? this.filteredValue.length : this.value ? this.value.length : 0;\n            }\n\n            this.cd.markForCheck();\n        }\n    }\n\n    hasFilter() {\n        return this.filterValue && this.filterValue.trim().length > 0;\n    }\n\n    ngOnDestroy() {\n        if (this.translationSubscription) {\n            this.translationSubscription.unsubscribe();\n        }\n        super.ngOnDestroy();\n    }\n}\n\n@NgModule({\n    imports: [DataView, SharedModule],\n    exports: [DataView, SharedModule]\n})\nexport class DataViewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}