[{"data":1,"prerenderedAt":1286},["ShallowReactive",2],{"navigation":3,"\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fcollection-component":358,"\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fcollection-component-surround":1281},[4,14,36,69,140,341],{"title":5,"path":6,"stem":7,"children":8},"Introduction","\u002Fgetting-started","1.getting-started\u002F1.index",[9,10],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":15,"path":16,"stem":17,"children":18,"page":35},"Guides","\u002Fguides","2.guides",[19,23,27,31],{"title":20,"path":21,"stem":22},"Your First Layout","\u002Fguides\u002Fyour-first-layout","2.guides\u002F1.your-first-layout",{"title":24,"path":25,"stem":26},"Your First Page Template","\u002Fguides\u002Fyour-first-page-template","2.guides\u002F2.your-first-page-template",{"title":28,"path":29,"stem":30},"Your First Component","\u002Fguides\u002Fyour-first-component","2.guides\u002F3.your-first-component",{"title":32,"path":33,"stem":34},"Alternative UI Variants","\u002Fguides\u002Falternative-ui-variants","2.guides\u002F4.alternative-ui-variants",false,{"title":37,"path":38,"stem":39,"children":40,"page":35},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[41,45,49,53,57,61,65],{"title":42,"path":43,"stem":44},"How It All Works","\u002Fcore-concepts\u002Farchitecture","3.core-concepts\u002F1.architecture",{"title":46,"path":47,"stem":48},"The Data Model","\u002Fcore-concepts\u002Fthe-data-model","3.core-concepts\u002F2.the-data-model",{"title":50,"path":51,"stem":52},"Layouts & Pages","\u002Fcore-concepts\u002Flayouts-and-pages","3.core-concepts\u002F3.layouts-and-pages",{"title":54,"path":55,"stem":56},"Dynamic Pages","\u002Fcore-concepts\u002Fdynamic-pages","3.core-concepts\u002F4.dynamic-pages",{"title":58,"path":59,"stem":60},"Components","\u002Fcore-concepts\u002Fcomponents","3.core-concepts\u002F5.components",{"title":62,"path":63,"stem":64},"Draft & Publish Workflow","\u002Fcore-concepts\u002Fdraft-and-publish","3.core-concepts\u002F6.draft-and-publish",{"title":66,"path":67,"stem":68},"The Admin Panel","\u002Fcore-concepts\u002Fadmin-panel","3.core-concepts\u002F7.admin-panel",{"title":70,"path":71,"stem":72,"children":73,"page":35},"Api","\u002Fapi","4.api",[74,78,116,120,124,128,132,136],{"title":75,"path":76,"stem":77},"Bundle Setup","\u002Fapi\u002Fbundle-setup","4.api\u002F1.bundle-setup",{"title":58,"path":79,"stem":80,"children":81,"page":35},"\u002Fapi\u002Fcomponents","4.api\u002F2.components",[82,86,103],{"title":83,"path":84,"stem":85},"Creating Components","\u002Fapi\u002Fcomponents\u002Fcreating-components","4.api\u002F2.components\u002F1.creating-components",{"title":87,"path":88,"stem":89,"children":90,"page":35},"Annotations","\u002Fapi\u002Fcomponents\u002Fannotations","4.api\u002F2.components\u002F2.annotations",[91,95,99],{"title":92,"path":93,"stem":94},"Publishable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fpublishable","4.api\u002F2.components\u002F2.annotations\u002F1.publishable",{"title":96,"path":97,"stem":98},"Uploadable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fuploadable","4.api\u002F2.components\u002F2.annotations\u002F2.uploadable",{"title":100,"path":101,"stem":102},"Timestamped","\u002Fapi\u002Fcomponents\u002Fannotations\u002Ftimestamped","4.api\u002F2.components\u002F2.annotations\u002F3.timestamped",{"title":104,"path":105,"stem":106,"children":107,"page":35},"Built Ins","\u002Fapi\u002Fcomponents\u002Fbuilt-ins","4.api\u002F2.components\u002F3.built-ins",[108,112],{"title":109,"path":110,"stem":111},"Collection Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fcollection-component","4.api\u002F2.components\u002F3.built-ins\u002F1.collection-component",{"title":113,"path":114,"stem":115},"Form Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fform-component","4.api\u002F2.components\u002F3.built-ins\u002F2.form-component",{"title":117,"path":118,"stem":119},"Dynamic & Nested Pages","\u002Fapi\u002Fdynamic-pages","4.api\u002F3.dynamic-pages",{"title":121,"path":122,"stem":123},"Users & Security","\u002Fapi\u002Fusers-and-security","4.api\u002F4.users-and-security",{"title":125,"path":126,"stem":127},"Data Fixtures","\u002Fapi\u002Fdata-fixtures","4.api\u002F5.data-fixtures",{"title":129,"path":130,"stem":131},"Configuration Reference","\u002Fapi\u002Fconfiguration","4.api\u002F6.configuration",{"title":133,"path":134,"stem":135},"Console Commands","\u002Fapi\u002Fconsole-commands","4.api\u002F7.console-commands",{"title":137,"path":138,"stem":139},"Debugging & Profiler","\u002Fapi\u002Fdebugging","4.api\u002F8.debugging",{"title":141,"path":142,"stem":143,"children":144,"page":35},"Nuxt Module","\u002Fnuxt-module","5.nuxt-module",[145,149,162,182,207,211,295,320,324],{"title":146,"path":147,"stem":148},"Module Setup","\u002Fnuxt-module\u002Fmodule-setup","5.nuxt-module\u002F1.module-setup",{"title":150,"path":151,"stem":152,"children":153,"page":35},"Configuration","\u002Fnuxt-module\u002Fconfiguration","5.nuxt-module\u002F2.configuration",[154,158],{"title":155,"path":156,"stem":157},"Nuxt Config","\u002Fnuxt-module\u002Fconfiguration\u002Fnuxt-config","5.nuxt-module\u002F2.configuration\u002F1.nuxt-config",{"title":159,"path":160,"stem":161},"Site Config & SEO","\u002Fnuxt-module\u002Fconfiguration\u002Fsite-config-and-seo","5.nuxt-module\u002F2.configuration\u002F2.site-config-and-seo",{"title":163,"path":164,"stem":165,"children":166,"page":35},"Building Your Ui","\u002Fnuxt-module\u002Fbuilding-your-ui","5.nuxt-module\u002F3.building-your-ui",[167,171,175,178],{"title":168,"path":169,"stem":170},"Layouts","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-layouts","5.nuxt-module\u002F3.building-your-ui\u002F1.creating-layouts",{"title":172,"path":173,"stem":174},"Page Templates","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-page-templates","5.nuxt-module\u002F3.building-your-ui\u002F2.creating-page-templates",{"title":83,"path":176,"stem":177},"\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-components","5.nuxt-module\u002F3.building-your-ui\u002F3.creating-components",{"title":179,"path":180,"stem":181},"CLI Generator","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcwa-cli","5.nuxt-module\u002F3.building-your-ui\u002F4.cwa-cli",{"title":183,"path":184,"stem":185,"children":186,"page":35},"Cwa Components","\u002Fnuxt-module\u002Fcwa-components","5.nuxt-module\u002F4.cwa-components",[187,191,195,199,203],{"title":188,"path":189,"stem":190},"\u003CCwaComponentGroup \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-component-group","5.nuxt-module\u002F4.cwa-components\u002F1.cwa-component-group",{"title":192,"path":193,"stem":194},"\u003CCwaPage \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-page","5.nuxt-module\u002F4.cwa-components\u002F2.cwa-page",{"title":196,"path":197,"stem":198},"\u003CCwaLink \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-link","5.nuxt-module\u002F4.cwa-components\u002F3.cwa-link",{"title":200,"path":201,"stem":202},"\u003CCwaImage \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-image","5.nuxt-module\u002F4.cwa-components\u002F4.cwa-image",{"title":204,"path":205,"stem":206},"\u003CCwaDefaultLayout \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-default-layout","5.nuxt-module\u002F4.cwa-components\u002F5.cwa-default-layout",{"title":208,"path":209,"stem":210},"The useCwa() API","\u002Fnuxt-module\u002Fcwa-api","5.nuxt-module\u002F5.cwa-api",{"title":212,"path":213,"stem":214,"children":215,"page":35},"Composables","\u002Fnuxt-module\u002Fcomposables","5.nuxt-module\u002F6.composables",[216,224,261,278],{"title":217,"path":218,"stem":219,"children":220,"page":35},"Layout","\u002Fnuxt-module\u002Fcomposables\u002Flayout","5.nuxt-module\u002F6.composables\u002F0.layout",[221],{"title":217,"path":222,"stem":223},"\u002Fnuxt-module\u002Fcomposables\u002Flayout\u002Fuse-cwa-layout","5.nuxt-module\u002F6.composables\u002F0.layout\u002F1.use-cwa-layout",{"title":225,"path":226,"stem":227,"children":228,"page":35},"Component","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent","5.nuxt-module\u002F6.composables\u002F1.component",[229,233,237,241,245,249,253,257],{"title":230,"path":231,"stem":232},"Component (recommended)","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-component","5.nuxt-module\u002F6.composables\u002F1.component\u002F0.use-cwa-component",{"title":234,"path":235,"stem":236},"Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F1.use-cwa-resource",{"title":238,"path":239,"stem":240},"Collection Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-collection-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F2.use-cwa-collection-resource",{"title":242,"path":243,"stem":244},"Image Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-image-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F3.use-cwa-image-resource",{"title":246,"path":247,"stem":248},"Form","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form","5.nuxt-module\u002F6.composables\u002F1.component\u002F4.use-cwa-form",{"title":250,"path":251,"stem":252},"Form Input","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-input","5.nuxt-module\u002F6.composables\u002F1.component\u002F5.use-cwa-form-input",{"title":254,"path":255,"stem":256},"Form Repeated","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-repeated","5.nuxt-module\u002F6.composables\u002F1.component\u002F6.use-cwa-form-repeated",{"title":258,"path":259,"stem":260},"Form Collection","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-collection","5.nuxt-module\u002F6.composables\u002F1.component\u002F7.use-cwa-form-collection",{"title":262,"path":263,"stem":264,"children":265,"page":35},"Admin Manager","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager","5.nuxt-module\u002F6.composables\u002F2.admin-manager",[266,270,274],{"title":267,"path":268,"stem":269},"Manager Tab","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-manager-tab","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F1.use-cwa-resource-manager-tab",{"title":271,"path":272,"stem":273},"Resource Model","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-model","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F2.use-cwa-resource-model",{"title":275,"path":276,"stem":277},"Resource Upload","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-upload","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F3.use-cwa-resource-upload",{"title":279,"path":280,"stem":281,"children":282,"page":35},"Utilities","\u002Fnuxt-module\u002Fcomposables\u002Futilities","5.nuxt-module\u002F6.composables\u002F3.utilities",[283,287,291],{"title":284,"path":285,"stem":286},"Resource Endpoint","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-endpoint","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F1.use-cwa-resource-endpoint",{"title":288,"path":289,"stem":290},"Query Model","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-query-bound-model","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F2.use-query-bound-model",{"title":292,"path":293,"stem":294},"Resource Route","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-route","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F3.use-cwa-resource-route",{"title":296,"path":297,"stem":298,"children":299,"page":35},"Component Helpers","\u002Fnuxt-module\u002Fcomponent-helpers","5.nuxt-module\u002F7.component-helpers",[300,304,308,312,316],{"title":301,"path":302,"stem":303},"Images & Media","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fimages-and-uploads","5.nuxt-module\u002F7.component-helpers\u002F1.images-and-uploads",{"title":305,"path":306,"stem":307},"Collections & Pagination","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fcollections-and-pagination","5.nuxt-module\u002F7.component-helpers\u002F2.collections-and-pagination",{"title":309,"path":310,"stem":311},"HTML Content","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fhtml-content","5.nuxt-module\u002F7.component-helpers\u002F3.html-content",{"title":313,"path":314,"stem":315},"Real-Time Updates","\u002Fnuxt-module\u002Fcomponent-helpers\u002Freal-time-updates","5.nuxt-module\u002F7.component-helpers\u002F4.real-time-updates",{"title":317,"path":318,"stem":319},"Forms","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fforms","5.nuxt-module\u002F7.component-helpers\u002F5.forms",{"title":321,"path":322,"stem":323},"Authentication","\u002Fnuxt-module\u002Fauthentication","5.nuxt-module\u002F8.authentication",{"title":325,"path":326,"stem":327,"children":328,"page":35},"Cwa Layer","\u002Fnuxt-module\u002Fcwa-layer","5.nuxt-module\u002F9.cwa-layer",[329,333,337],{"title":330,"path":331,"stem":332},"Overview","\u002Fnuxt-module\u002Fcwa-layer\u002Foverview","5.nuxt-module\u002F9.cwa-layer\u002F1.overview",{"title":334,"path":335,"stem":336},"Auth Pages","\u002Fnuxt-module\u002Fcwa-layer\u002Fauth-pages","5.nuxt-module\u002F9.cwa-layer\u002F2.auth-pages",{"title":338,"path":339,"stem":340},"Admin Panel","\u002Fnuxt-module\u002Fcwa-layer\u002Fadmin-panel","5.nuxt-module\u002F9.cwa-layer\u002F3.admin-panel",{"title":342,"path":343,"stem":344,"children":345,"page":35},"Deployment","\u002Fdeployment","6.deployment",[346,350,354],{"title":347,"path":348,"stem":349},"Docker","\u002Fdeployment\u002Fdocker","6.deployment\u002F1.docker",{"title":351,"path":352,"stem":353},"Kubernetes & Helm","\u002Fdeployment\u002Fkubernetes","6.deployment\u002F2.kubernetes",{"title":355,"path":356,"stem":357},"CI\u002FCD","\u002Fdeployment\u002Fci-cd","6.deployment\u002F3.ci-cd",{"id":359,"title":109,"badge":360,"body":363,"description":1275,"extension":1276,"links":1277,"meta":1278,"navigation":1139,"path":110,"seo":1279,"stem":111,"__hash__":1280},"docs\u002F4.api\u002F2.components\u002F3.built-ins\u002F1.collection-component.md",{"label":361,"color":362},"Draft","amber",{"type":364,"value":365,"toc":1266},"minimark",[366,375,380,383,426,430,435,541,614,618,624,938,953,957,964,1180,1184,1199,1203,1234,1238,1262],[367,368,369,370,374],"p",{},"The ",[371,372,373],"code",{},"Collection"," component is a built-in CWA resource that acts as a configurable proxy to any other resource's collection endpoint. An admin creates a Collection, points it at a resource IRI, sets page size and default query parameters, and the front-end renders the results — with pagination, filtering, and real-time updates.",[376,377,379],"h2",{"id":378},"enabling","Enabling",[367,381,382],{},"Enabled by default. To disable:",[384,385,390],"pre",{"className":386,"code":387,"language":388,"meta":389,"style":389},"language-yaml shiki shiki-themes github-light github-dark material-theme-palenight","silverback_api_components:\n    enabled_components:\n        collection: false\n","yaml","",[371,391,392,405,413],{"__ignoreMap":389},[393,394,397,401],"span",{"class":395,"line":396},"line",1,[393,398,400],{"class":399},"s-h7I","silverback_api_components",[393,402,404],{"class":403},"sOvfz",":\n",[393,406,408,411],{"class":395,"line":407},2,[393,409,410],{"class":399},"    enabled_components",[393,412,404],{"class":403},[393,414,416,419,422],{"class":395,"line":415},3,[393,417,418],{"class":399},"        collection",[393,420,421],{"class":403},":",[393,423,425],{"class":424},"swWMF"," false\n",[376,427,429],{"id":428},"creating-a-collection","Creating a Collection",[367,431,432,421],{},[371,433,434],{},"POST \u002Fcomponent\u002Fcollections",[384,436,440],{"className":437,"code":438,"language":439,"meta":389,"style":389},"language-json shiki shiki-themes github-light github-dark material-theme-palenight","{\n    \"resourceIri\": \"\u002Fpage_data\u002Fblog_articles\",\n    \"perPage\": 6,\n    \"defaultQueryParameters\": {\n        \"order[createdAt]\": \"desc\"\n    }\n}\n","json",[371,441,442,447,475,492,507,529,535],{"__ignoreMap":389},[393,443,444],{"class":395,"line":396},[393,445,446],{"class":403},"{\n",[393,448,449,453,457,460,462,466,470,472],{"class":395,"line":407},[393,450,452],{"class":451},"sBtbT","    \"",[393,454,456],{"class":455},"sphPO","resourceIri",[393,458,459],{"class":451},"\"",[393,461,421],{"class":403},[393,463,465],{"class":464},"seSrl"," \"",[393,467,469],{"class":468},"sLL54","\u002Fpage_data\u002Fblog_articles",[393,471,459],{"class":464},[393,473,474],{"class":403},",\n",[393,476,477,479,482,484,486,490],{"class":395,"line":415},[393,478,452],{"class":451},[393,480,481],{"class":455},"perPage",[393,483,459],{"class":451},[393,485,421],{"class":403},[393,487,489],{"class":488},"scSvc"," 6",[393,491,474],{"class":403},[393,493,495,497,500,502,504],{"class":395,"line":494},4,[393,496,452],{"class":451},[393,498,499],{"class":455},"defaultQueryParameters",[393,501,459],{"class":451},[393,503,421],{"class":403},[393,505,506],{"class":403}," {\n",[393,508,510,513,517,519,521,523,526],{"class":395,"line":509},5,[393,511,512],{"class":451},"        \"",[393,514,516],{"class":515},"sbW4m","order[createdAt]",[393,518,459],{"class":451},[393,520,421],{"class":403},[393,522,465],{"class":464},[393,524,525],{"class":468},"desc",[393,527,528],{"class":464},"\"\n",[393,530,532],{"class":395,"line":531},6,[393,533,534],{"class":403},"    }\n",[393,536,538],{"class":395,"line":537},7,[393,539,540],{"class":403},"}\n",[542,543,544,560],"table",{},[545,546,547],"thead",{},[548,549,550,554,557],"tr",{},[551,552,553],"th",{},"Field",[551,555,556],{},"Type",[551,558,559],{},"Description",[561,562,563,582,600],"tbody",{},[548,564,565,570,575],{},[566,567,568],"td",{},[371,569,456],{},[566,571,572],{},[371,573,574],{},"string",[566,576,577,578,581],{},"The collection endpoint to proxy (must pass the ",[371,579,580],{},"ResourceIri"," validator)",[548,583,584,588,593],{},[566,585,586],{},[371,587,481],{},[566,589,590],{},[371,591,592],{},"int|null",[566,594,595,596,599],{},"Maximum items per page. ",[371,597,598],{},"null"," uses the API Platform default",[548,601,602,606,611],{},[566,603,604],{},[371,605,499],{},[566,607,608],{},[371,609,610],{},"array|null",[566,612,613],{},"Query params appended to every proxied request — ordering, filters, etc.",[376,615,617],{"id":616},"the-response","The Response",[367,619,369,620,623],{},[371,621,622],{},"collection"," property in the response is a full Hydra collection:",[384,625,627],{"className":437,"code":626,"language":439,"meta":389,"style":389},"{\n    \"@id\": \"\u002Fcomponent\u002Fcollections\u002F018e-...\",\n    \"@type\": \"Collection\",\n    \"resourceIri\": \"\u002Fpage_data\u002Fblog_articles\",\n    \"perPage\": 6,\n    \"defaultQueryParameters\": { \"order[createdAt]\": \"desc\" },\n    \"collection\": {\n        \"@context\": \"\u002Fcontexts\u002FBlogArticle\",\n        \"@id\": \"\u002Fpage_data\u002Fblog_articles?order[createdAt]=desc\",\n        \"@type\": \"hydra:Collection\",\n        \"hydra:member\": [ \u002F* resource objects *\u002F ],\n        \"hydra:totalItems\": 24,\n        \"hydra:view\": {\n            \"hydra:first\": \"\u002Fpage_data\u002Fblog_articles?page=1\",\n            \"hydra:last\": \"\u002Fpage_data\u002Fblog_articles?page=4\",\n            \"hydra:next\": \"\u002Fpage_data\u002Fblog_articles?page=2\"\n        }\n    }\n}\n",[371,628,629,633,653,672,690,704,734,746,767,787,807,829,846,860,882,903,922,928,933],{"__ignoreMap":389},[393,630,631],{"class":395,"line":396},[393,632,446],{"class":403},[393,634,635,637,640,642,644,646,649,651],{"class":395,"line":407},[393,636,452],{"class":451},[393,638,639],{"class":455},"@id",[393,641,459],{"class":451},[393,643,421],{"class":403},[393,645,465],{"class":464},[393,647,648],{"class":468},"\u002Fcomponent\u002Fcollections\u002F018e-...",[393,650,459],{"class":464},[393,652,474],{"class":403},[393,654,655,657,660,662,664,666,668,670],{"class":395,"line":415},[393,656,452],{"class":451},[393,658,659],{"class":455},"@type",[393,661,459],{"class":451},[393,663,421],{"class":403},[393,665,465],{"class":464},[393,667,373],{"class":468},[393,669,459],{"class":464},[393,671,474],{"class":403},[393,673,674,676,678,680,682,684,686,688],{"class":395,"line":494},[393,675,452],{"class":451},[393,677,456],{"class":455},[393,679,459],{"class":451},[393,681,421],{"class":403},[393,683,465],{"class":464},[393,685,469],{"class":468},[393,687,459],{"class":464},[393,689,474],{"class":403},[393,691,692,694,696,698,700,702],{"class":395,"line":509},[393,693,452],{"class":451},[393,695,481],{"class":455},[393,697,459],{"class":451},[393,699,421],{"class":403},[393,701,489],{"class":488},[393,703,474],{"class":403},[393,705,706,708,710,712,714,717,719,721,723,725,727,729,731],{"class":395,"line":531},[393,707,452],{"class":451},[393,709,499],{"class":455},[393,711,459],{"class":451},[393,713,421],{"class":403},[393,715,716],{"class":403}," {",[393,718,465],{"class":451},[393,720,516],{"class":515},[393,722,459],{"class":451},[393,724,421],{"class":403},[393,726,465],{"class":464},[393,728,525],{"class":468},[393,730,459],{"class":464},[393,732,733],{"class":403}," },\n",[393,735,736,738,740,742,744],{"class":395,"line":537},[393,737,452],{"class":451},[393,739,622],{"class":455},[393,741,459],{"class":451},[393,743,421],{"class":403},[393,745,506],{"class":403},[393,747,749,751,754,756,758,760,763,765],{"class":395,"line":748},8,[393,750,512],{"class":451},[393,752,753],{"class":515},"@context",[393,755,459],{"class":451},[393,757,421],{"class":403},[393,759,465],{"class":464},[393,761,762],{"class":468},"\u002Fcontexts\u002FBlogArticle",[393,764,459],{"class":464},[393,766,474],{"class":403},[393,768,770,772,774,776,778,780,783,785],{"class":395,"line":769},9,[393,771,512],{"class":451},[393,773,639],{"class":515},[393,775,459],{"class":451},[393,777,421],{"class":403},[393,779,465],{"class":464},[393,781,782],{"class":468},"\u002Fpage_data\u002Fblog_articles?order[createdAt]=desc",[393,784,459],{"class":464},[393,786,474],{"class":403},[393,788,790,792,794,796,798,800,803,805],{"class":395,"line":789},10,[393,791,512],{"class":451},[393,793,659],{"class":515},[393,795,459],{"class":451},[393,797,421],{"class":403},[393,799,465],{"class":464},[393,801,802],{"class":468},"hydra:Collection",[393,804,459],{"class":464},[393,806,474],{"class":403},[393,808,810,812,815,817,819,822,826],{"class":395,"line":809},11,[393,811,512],{"class":451},[393,813,814],{"class":515},"hydra:member",[393,816,459],{"class":451},[393,818,421],{"class":403},[393,820,821],{"class":403}," [",[393,823,825],{"class":824},"sTBSN"," \u002F* resource objects *\u002F",[393,827,828],{"class":403}," ],\n",[393,830,832,834,837,839,841,844],{"class":395,"line":831},12,[393,833,512],{"class":451},[393,835,836],{"class":515},"hydra:totalItems",[393,838,459],{"class":451},[393,840,421],{"class":403},[393,842,843],{"class":488}," 24",[393,845,474],{"class":403},[393,847,849,851,854,856,858],{"class":395,"line":848},13,[393,850,512],{"class":451},[393,852,853],{"class":515},"hydra:view",[393,855,459],{"class":451},[393,857,421],{"class":403},[393,859,506],{"class":403},[393,861,863,866,869,871,873,875,878,880],{"class":395,"line":862},14,[393,864,865],{"class":451},"            \"",[393,867,868],{"class":488},"hydra:first",[393,870,459],{"class":451},[393,872,421],{"class":403},[393,874,465],{"class":464},[393,876,877],{"class":468},"\u002Fpage_data\u002Fblog_articles?page=1",[393,879,459],{"class":464},[393,881,474],{"class":403},[393,883,885,887,890,892,894,896,899,901],{"class":395,"line":884},15,[393,886,865],{"class":451},[393,888,889],{"class":488},"hydra:last",[393,891,459],{"class":451},[393,893,421],{"class":403},[393,895,465],{"class":464},[393,897,898],{"class":468},"\u002Fpage_data\u002Fblog_articles?page=4",[393,900,459],{"class":464},[393,902,474],{"class":403},[393,904,906,908,911,913,915,917,920],{"class":395,"line":905},16,[393,907,865],{"class":451},[393,909,910],{"class":488},"hydra:next",[393,912,459],{"class":451},[393,914,421],{"class":403},[393,916,465],{"class":464},[393,918,919],{"class":468},"\u002Fpage_data\u002Fblog_articles?page=2",[393,921,528],{"class":464},[393,923,925],{"class":395,"line":924},17,[393,926,927],{"class":403},"        }\n",[393,929,931],{"class":395,"line":930},18,[393,932,534],{"class":403},[393,934,936],{"class":395,"line":935},19,[393,937,540],{"class":403},[367,939,369,940,942,943,946,947,949,950,952],{},[371,941,622],{}," field is read-only (",[371,944,945],{},"#[ApiProperty(writable: false)]","). The bundle populates it by proxying the request to ",[371,948,456],{}," with ",[371,951,499],{}," merged in.",[376,954,956],{"id":955},"using-in-a-fixture","Using in a Fixture",[367,958,959,960,963],{},"From ",[371,961,962],{},"AppScaffold.php"," in the playground — creating a blog listing collection and linking it to a component group:",[384,965,969],{"className":966,"code":967,"language":968,"meta":389,"style":389},"language-php shiki shiki-themes github-light github-dark material-theme-palenight","$collection = new Collection();\n$collection->setResourceIri(\n    $this->iriConverter->getIriFromResource(\n        BlogArticleData::class,\n        UrlGeneratorInterface::ABS_PATH,\n        new Get(uriVariables: [])\n    )\n);\n$collection->setPerPage(12);\n$collection->setDefaultQueryParameters(['order[createdAt]' => 'desc']);\n\n$cwa->component($collection)\n    ->group('content');\n","php",[371,970,971,994,1010,1027,1040,1053,1073,1078,1083,1101,1135,1141,1161],{"__ignoreMap":389},[393,972,973,976,980,984,988,991],{"class":395,"line":396},[393,974,975],{"class":403},"$",[393,977,979],{"class":978},"sPB8G","collection ",[393,981,983],{"class":982},"sVlFx","=",[393,985,987],{"class":986},"stmX-"," new",[393,989,990],{"class":515}," Collection",[393,992,993],{"class":403},"();\n",[393,995,996,998,1000,1003,1007],{"class":395,"line":407},[393,997,975],{"class":403},[393,999,622],{"class":978},[393,1001,1002],{"class":982},"->",[393,1004,1006],{"class":1005},"sKpYG","setResourceIri",[393,1008,1009],{"class":403},"(\n",[393,1011,1012,1015,1017,1020,1022,1025],{"class":395,"line":415},[393,1013,1014],{"class":451},"    $this",[393,1016,1002],{"class":982},[393,1018,1019],{"class":978},"iriConverter",[393,1021,1002],{"class":982},[393,1023,1024],{"class":1005},"getIriFromResource",[393,1026,1009],{"class":403},[393,1028,1029,1032,1035,1038],{"class":395,"line":494},[393,1030,1031],{"class":515},"        BlogArticleData",[393,1033,1034],{"class":982},"::",[393,1036,1037],{"class":986},"class",[393,1039,474],{"class":403},[393,1041,1042,1045,1047,1051],{"class":395,"line":509},[393,1043,1044],{"class":515},"        UrlGeneratorInterface",[393,1046,1034],{"class":982},[393,1048,1050],{"class":1049},"sc2zw","ABS_PATH",[393,1052,474],{"class":403},[393,1054,1055,1058,1061,1064,1068,1070],{"class":395,"line":531},[393,1056,1057],{"class":986},"        new",[393,1059,1060],{"class":515}," Get",[393,1062,1063],{"class":403},"(",[393,1065,1067],{"class":1066},"sRCss","uriVariables",[393,1069,421],{"class":403},[393,1071,1072],{"class":403}," [])\n",[393,1074,1075],{"class":395,"line":537},[393,1076,1077],{"class":403},"    )\n",[393,1079,1080],{"class":395,"line":748},[393,1081,1082],{"class":403},");\n",[393,1084,1085,1087,1089,1091,1094,1096,1099],{"class":395,"line":769},[393,1086,975],{"class":403},[393,1088,622],{"class":978},[393,1090,1002],{"class":982},[393,1092,1093],{"class":1005},"setPerPage",[393,1095,1063],{"class":403},[393,1097,1098],{"class":488},"12",[393,1100,1082],{"class":403},[393,1102,1103,1105,1107,1109,1112,1115,1118,1120,1122,1125,1128,1130,1132],{"class":395,"line":789},[393,1104,975],{"class":403},[393,1106,622],{"class":978},[393,1108,1002],{"class":982},[393,1110,1111],{"class":1005},"setDefaultQueryParameters",[393,1113,1114],{"class":403},"([",[393,1116,1117],{"class":464},"'",[393,1119,516],{"class":468},[393,1121,1117],{"class":464},[393,1123,1124],{"class":982}," =>",[393,1126,1127],{"class":464}," '",[393,1129,525],{"class":468},[393,1131,1117],{"class":464},[393,1133,1134],{"class":403},"]);\n",[393,1136,1137],{"class":395,"line":809},[393,1138,1140],{"emptyLinePlaceholder":1139},true,"\n",[393,1142,1143,1145,1148,1150,1153,1156,1158],{"class":395,"line":831},[393,1144,975],{"class":403},[393,1146,1147],{"class":978},"cwa",[393,1149,1002],{"class":982},[393,1151,1152],{"class":1005},"component",[393,1154,1155],{"class":403},"($",[393,1157,622],{"class":978},[393,1159,1160],{"class":403},")\n",[393,1162,1163,1166,1169,1171,1173,1176,1178],{"class":395,"line":848},[393,1164,1165],{"class":982},"    ->",[393,1167,1168],{"class":1005},"group",[393,1170,1063],{"class":403},[393,1172,1117],{"class":464},[393,1174,1175],{"class":468},"content",[393,1177,1117],{"class":464},[393,1179,1082],{"class":403},[376,1181,1183],{"id":1182},"perpage-vs-api-platform-pagination","perPage vs API Platform Pagination",[367,1185,1186,1188,1189,1192,1193,1195,1196,1198],{},[371,1187,481],{}," is a fixed server-side limit. If you want users to change the page size on the fly, enable ",[371,1190,1191],{},"client_items_per_page"," in API Platform on the proxied resource and use ",[371,1194,499],{}," to set the default. The ",[371,1197,481],{}," field alone is for non-user-configurable, fixed-size lists.",[376,1200,1202],{"id":1201},"on-the-front-end","On the Front-End",[367,1204,1205,1206,1209,1210,1213,1214,1217,1218,1221,1222,1225,1226,1229,1230,1233],{},"Use ",[371,1207,1208],{},"useCwaComponent"," with the ",[371,1211,1212],{},"withCollection()"," plugin in the Vue component. It unwraps ",[371,1215,1216],{},"collection.hydra:member",", exposes ",[371,1219,1220],{},"totalPages",", and provides ",[371,1223,1224],{},"goToNextPage"," \u002F ",[371,1227,1228],{},"goToPreviousPage"," helpers — see ",[1231,1232,305],"a",{"href":306}," for the full reference.",[376,1235,1237],{"id":1236},"admin-setting-up-a-collection-in-the-cms","Admin: Setting Up a Collection in the CMS",[1239,1240,1241,1245,1250,1259],"ol",{},[1242,1243,1244],"li",{},"Add the Collection component to a component group via the admin panel",[1242,1246,1247,1248],{},"The manager tab lets you search and select the ",[371,1249,456],{},[1242,1251,1252,1253,1255,1256,1258],{},"Set ",[371,1254,481],{}," and ",[371,1257,499],{}," as needed",[1242,1260,1261],{},"The collection renders immediately — no deploy required",[1263,1264,1265],"style",{},"html pre.shiki code .s-h7I, html code.shiki .s-h7I{--shiki-light:#22863A;--shiki-default:#85E89D;--shiki-dark:#F07178}html pre.shiki code .sOvfz, html code.shiki .sOvfz{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#89DDFF}html pre.shiki code .swWMF, html code.shiki .swWMF{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#FF9CAC}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBtbT, html code.shiki .sBtbT{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#89DDFF}html pre.shiki code .sphPO, html code.shiki .sphPO{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#C792EA}html pre.shiki code .seSrl, html code.shiki .seSrl{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#89DDFF}html pre.shiki code .sLL54, html code.shiki .sLL54{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#C3E88D}html pre.shiki code .scSvc, html code.shiki .scSvc{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#F78C6C}html pre.shiki code .sbW4m, html code.shiki .sbW4m{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#FFCB6B}html pre.shiki code .sTBSN, html code.shiki .sTBSN{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sPB8G, html code.shiki .sPB8G{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#BABED8}html pre.shiki code .sVlFx, html code.shiki .sVlFx{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#89DDFF}html pre.shiki code .stmX-, html code.shiki .stmX-{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F78C6C}html pre.shiki code .sKpYG, html code.shiki .sKpYG{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#82AAFF}html pre.shiki code .sc2zw, html code.shiki .sc2zw{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#BABED8}html pre.shiki code .sRCss, html code.shiki .sRCss{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#FFCB6B}",{"title":389,"searchDepth":407,"depth":407,"links":1267},[1268,1269,1270,1271,1272,1273,1274],{"id":378,"depth":407,"text":379},{"id":428,"depth":407,"text":429},{"id":616,"depth":407,"text":617},{"id":955,"depth":407,"text":956},{"id":1182,"depth":407,"text":1183},{"id":1201,"depth":407,"text":1202},{"id":1236,"depth":407,"text":1237},"The built-in Collection resource for rendering paginated lists of other API resources as a CWA component.","md",null,{},{"title":109,"description":1275},"o6Cf9prOFVDKVM-G_RysdNQG01dVlMwovMArYrUjdGI",[1282,1284],{"title":100,"path":101,"stem":102,"description":1283,"children":-1},"Automatically record created and modified timestamps on any component or page data entity.",{"title":113,"path":114,"stem":115,"description":1285,"children":-1},"Render Symfony form types via the API, handle validation field-by-field, and process submissions with FormSuccessEvent.",1782512902069]