const DataViewProps = [ { name: "value", type: "array", default: "null", description: "An array of objects to display." }, { name: "layout", type: "string", default: "list", description: 'Layout of the items, valid values are "list" and "grid".' }, { name: "rows", type: "number", default: "0", description: "Number of rows to display per page." }, { name: "first", type: "number", default: "0", description: "ndex of the first record to render." }, { name: "totalRecords", type: "number", default: "null", description: "Number of total records, defaults to length of value when not defined." }, { name: "paginator", type: "boolean", default: "false", description: "When specified as true, enables the pagination." }, { name: "paginatorPosition", type: "string", default: "bottom", description: 'Position of the paginator, options are "top","bottom" or "both".' }, { name: "alwaysShowPaginator", type: "boolean", default: "true", description: "Whether to show it even there is only one page." }, { name: "paginatorTemplate", type: "string", default: "FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown", description: "Template of the paginator." }, { name: "pageLinkSize", type: "number", default: "5", description: "Number of page links to display." }, { name: "rowsPerPageOptions", type: "array", default: "null", description: "Array of integer values to display inside rows per page dropdown." }, { name: "currentPageReportTemplate", type: "string", default: "({currentPage} of {totalPages})", description: "Template of the current page report element." }, { name: "sortField", type: "string", default: "null", description: "Property name or a getter function of data to use in sorting by default." }, { name: "sortOrder", type: "number", default: "null", description: "Order to sort the data by default." }, { name: "lazy", type: "boolean", default: "false", description: "Defines if data is loaded and interacted with in lazy manner." } ]; const DataViewEvents = [ { name: "page", description: "Callback to invoke when page changes, the event object contains information about the new state.", arguments: [ { name: "event.page", type: "number", description: "New page number" }, { name: "event.first", type: "number", description: "Index of first record" }, { name: "event.rows", type: "number", description: "Number of rows to display in new page" }, { name: "event.pageCount", type: "number", description: "Total number of pages" } ] } ]; const DataViewSlots = [ { name: "header", description: "Custom content for the component's header" }, { name: "paginatorLeft", description: "Custom content for the component paginator's left side" }, { name: "paginatorRight", description: "Custom content for the component paginator's right side" }, { name: "list", description: "Content for the list layout" }, { name: "grid", description: "Content for the grid layout" }, { name: "empty", description: "Custom content when there is no data to display" }, { name: "footer", description: "Custom content for the component's footer" } ]; module.exports = { dataview: { name: "DataView", description: "DataView displays data in grid or list layout with pagination and sorting features.", props: DataViewProps, events: DataViewEvents, slots: DataViewSlots } };