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