primevue-mirror/api-generator/components/virtualscroller.js

176 lines
4.8 KiB
JavaScript

const VirtualScrollerProps = [
{
name: "id",
type: "string",
default: "null",
description: "Unique identifier of the element."
},
{
name: "style",
type: "any",
default: "null",
description: "Inline style of the component."
},
{
name: "class",
type: "string",
default: "null",
description: "Style class of the component."
},
{
name: "items",
type: "array",
default: "null",
description: "An array of objects to display."
},
{
name: "itemSize",
type: "number|array",
default: "null",
description: "The height/width of item according to orientation."
},
{
name: "scrollHeight",
type: "string",
default: "null",
description: "Height of the scroll viewport."
},
{
name: "scrollWidth",
type: "string",
default: "null",
description: "Width of the scroll viewport."
},
{
name: "orientation",
type: "string",
default: "vertical",
description: "The orientation of scrollbar, valid values are 'vertical', 'horizontal' and 'both'."
},
{
name: "numToleratedItems",
type: "number",
default: "null",
description: "Determines how many additional elements to add to the DOM outside of the view. According to the scrolls made up and down, extra items are added in a certain algorithm in the form of multiples of this number. Default value is half the number of items shown in the view."
},
{
name: "delay",
type: "number",
default: "0",
description: "Delay in scroll before new data is loaded."
},
{
name: "lazy",
type: "boolean",
default: "false",
description: "Defines if data is loaded and interacted with in lazy manner."
},
{
name: "disabled",
type: "boolean",
default: "false",
description: "If disabled, the VirtualScroller feature is eliminated and the content is displayed directly."
},
{
name: "loaderDisabled",
type: "boolean",
default: "false",
description: "Used to implement a custom loader instead of using the loader feature in the VirtualScroller."
},
{
name: "loading",
type: "boolean",
default: "false",
description: "Whether the data is loaded."
},
{
name: "showSpacer",
type: "boolean",
default: "true",
description: "Used to implement a custom spacer instead of using the spacer feature in the VirtualScroller."
},
{
name: "showLoader",
type: "boolean",
default: "false",
description: "Whether to show loader."
},
{
name: "tabindex",
type: "number|string",
default: "0",
description: "Index of the element in tabbing order."
}
];
const VirtualScrollerEvents = [
{
name: "scroll",
description: "Callback to invoke when scroll position changes.",
arguments: [
{
name: "event",
type: "any",
description: "Browser event."
}
]
},
{
name: "scroll-index-change",
description: "Callback to invoke when scroll position and item's range in view changes.",
arguments: [
{
name: "event.first",
type: "number",
description: "First index of the new data range to be loaded."
},
{
name: "event.last",
type: "number",
description: "Last index of the new data range to be loaded."
}
]
},
{
name: "lazy-load",
description: "Callback to invoke in lazy mode to load new data.",
arguments: [
{
name: "event.first",
type: "number",
description: "First index of the new data range to be loaded."
},
{
name: "event.last",
type: "number",
description: "Last index of the new data range to be loaded."
}
]
}
];
const VirtualScrollerSlots = [
{
name: "item",
description: "Content for the item"
},
{
name: "content",
description: "Custom content for the component"
},
{
name: "loader",
description: "Custom content for the loader items"
}
];
module.exports = {
virtualscroller: {
name: "VirtualScroller",
description: "VirtualScroller is a performant approach to handle huge data efficiently.",
props: VirtualScrollerProps,
events: VirtualScrollerEvents,
slots: VirtualScrollerSlots
}
};