or run

npx @tessl/cli init
Log in

Version

Files

docs

api-services.mdbase-classes.mdcomposables.mdconfiguration.mdindex.mdutilities.md
tile.json

rubric.jsonevals/scenario-9/

{
  "context": "Evaluates how well the solution leverages PrimeVue's data rendering components to deliver the specified table, filtering, and virtualized card experiences. Scores favor implementations that rely on PrimeVue-provided pagination, sorting, filtering, and loading hooks instead of custom replacements.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "DataTable setup",
      "description": "Uses PrimeVue DataTable with Column components bound to products, enabling built-in paginator controls with rows set to 5 by default and page navigation when more items exist.",
      "max_score": 25
    },
    {
      "name": "Price sorting",
      "description": "Enables sortable PrimeVue Column for price (or sets DataTable sortField/sortOrder) so clicking the header toggles ascending/descending ordering rendered by DataTable itself.",
      "max_score": 20
    },
    {
      "name": "Category filter",
      "description": "Implements category filtering via PrimeVue DataTable filters API (e.g., filters object with matchMode) and a PrimeVue input control such as Dropdown/SelectButton that updates filters and resets DataTable first page.",
      "max_score": 20
    },
    {
      "name": "Virtualized cards",
      "description": "Card view uses PrimeVue VirtualScroller or DataView with virtualScrollerOptions to render products as card templates, limiting DOM rendering to the visible window for datasets over 50 items.",
      "max_score": 20
    },
    {
      "name": "Loading placeholders",
      "description": "Propagates the loading flag into PrimeVue components (DataTable loading/ loadingIcon or VirtualScroller showLoader) and displays PrimeVue Skeleton or loader slot content instead of full rows/cards while loading.",
      "max_score": 15
    }
  ]
}