PageSourceSearch

https://www.barratthomes.co.uk/dist/js/PageContent-code-app-ArticleListing.67e3e2e3b1fea5595e7b.js

js barratthomes.co.uk collected 2026-10-03 19:26:22 UTC 9,625 bytes, 1 lines download raw bytes

1(self.webpackChunkbarratt_rebuild=self.webpackChunkbarratt_rebuild||[]).push([[2154],{48948(t,e,a){"use strict";a.d(e,{A:()=>l});var s=a(95093),i=a.n(s),r=a(15235);const l={name:"ArticleCard",filters:{formattedDate:t=>i()(t).format("ll"),truncatedText:t=>t?(0,r.A)(t,80):""},props:{content:{type:Object,required:!0}}}},73548(t,e,a){"use strict";a.d(e,{A:()=>l});var s=a(13700),i=a(33755),r=a(79298);const l={name:"ArticleListing",components:{ArticleCard:s.A,BrandCta:i.A},props:{loadMoreLabel:{type:String,default:"Load more"},pageSize:{type:[Number,String],default:8},articles:{type:Array,required:!0},initialCategoryFilter:{type:String,default:""},allArticlesFilterLabel:{type:String,default:"Clear"},brandCta:{type:Object,default:()=>{}},filtersToggleLabel:{type:String,default:"Filter by topics"}},data:()=>({allArticles:[],categories:[],filteredArticles:[],page:0,results:[],selectedCategories:[],filtersIsOpen:!0,loadMoreClass:"redrow"===document.body.dataset.brand?"primary":"secondary"}),computed:{showBrandCta(){return!(0,r.A)(this.brandCta)}},watch:{selectedCategories(){this.filterResults()}},created(){this.setUpCategoryFilters(this.articles),this.$nextTick(()=>this.filterResults(this.articles)),this.allArticles=this.articles,this.selectedCategories=this.initialCategoryFilter?[this.initialCategoryFilter]:[]},methods:{filterResults(t=this.allArticles){let e=t;if(this.selectedCategories.length>0){this.page=0;let a=this.selectedCategories;e=t.filter(t=>a.some(e=>t.categories&&t.categories.some(t=>t.value.toLowerCase()==e.toLowerCase())))}this.filteredArticles=this.sortByDateAscending(e),this.$nextTick(()=>{this.results=this.listResults()})},sortByDateAscending(t){if(t)return t.sort((t,e)=>new Date(e.date)-new Date(t.date))},setUpCategoryFilters(t){var e=t.filter(t=>t.categories);let a=[];e.map(t=>a=[...a,...t.categories]);const s=[...new Map(a.map(t=>[t.label,t])).values()];this.categories=s},listResults(){const{filteredArticles:t}=this.$data;if(t.length){const e=parseInt(this.pageSize,10),a=this.page*e,s=a+e;return t.slice(a,s)}return[]},handleLoadMore(){this.page=this.page+=1,this.$nextTick(()=>{const t=this.listResults();t&&(this.results=[...this.results,...t])})},handleToggleFilters(){this.filtersIsOpen=!this.filtersIsOpen},handleShowAll(){this.selectedCategories=[],this.page=0}}}},19993(t,e,a){"use strict";a.d(e,{A:()=>s});const s={name:"BrandCta",props:{image:{type:String,required:!0},text:{type:String,required:!0},link:{type:Object,required:!0},bodyAlignment:{type:String,default:"Overlay"}},computed:{linkStyle(){return"Primary"===this.link.style?"button button--primary":"button image-cta__link"},bodyClass(){return"Right"===this.bodyAlignment?"image-cta--right":""}}}},18197(t,e,a){"use strict";a.d(e,{X:()=>s,Y:()=>i});var s=function(){var t=this,e=t._self._c;return t.content?e("a",{staticClass:"article-card",attrs:{href:t.content.url}},[e("div",{staticClass:"article-card__image"},[e("img",{attrs:{src:t.content.thumbnail,alt:t.content.title}})]),t._v(" "),e("div",{staticClass:"article-card__content"},[e("h3",{staticClass:"article-card__heading"},[t._v("\n      "+t._s(t.content.title)+"\n    ")]),t._v(" "),e("div",{staticClass:"article-card__info"},[e("div",{staticClass:"article-card__date"},[t._v("\n        "+t._s(t._f("formattedDate")(t.content.date))+"\n      ")]),t._v(" "),e("ul",{staticClass:"article-card__tag-wrapper"},t._l(t.content.categories,function(a){return e("li",{key:a.value,staticClass:"article-card__tag"},[e("span",{staticClass:"article-card__tag-separator",attrs:{"aria-hidden":"true"}},[t._v("•")]),t._v("\n          "+t._s(a.label)+"\n        ")])}),0)])])]):t._e()},i=[];s._withStripped=!0},26092(t,e,a){"use strict";a.d(e,{X:()=>s,Y:()=>i});var s=function(){var t=this,e=t._self._c;return e("div",{staticClass:"article-list"},[e("div",{staticClass:"article-filters",class:{open:t.filtersIsOpen}},[e("button",{staticClass:"article-filters__toggle",attrs:{"aria-expanded":t.filtersIsOpen?"true":"false","aria-controls":"filters"},on:{click:t.handleToggleFilters}},[t._v("\n      "+t._s(t.filtersToggleLabel)+"\n      "),e("svg",{staticClass:"icon article-filters__toggle-icon",attrs:{viewBox:"0 0 24 24"}},[e("use",{attrs:{"xlink:href":"/dist/icons/icons.svg#arrow-right"}})])]),t._v(" "),e("div",{staticClass:"article-filters__collapse",attrs:{id:"filters",hidden:!t.filtersIsOpen}},[e("ul",{staticClass:"article-filters__list",attrs:{"aria-label":t.filtersToggleLabel}},[e("li",{staticClass:"article-filters__item"},[e("button",{staticClass:"article-filters__label article-filters__label--all",class:{active:0===t.selectedCategories.length},attrs:{type:"button"},on:{click:t.handleShowAll}},[t._v("\n            "+t._s(t.allArticlesFilterLabel)+"\n          ")])]),t._v(" "),t._l(t.categories,function(a){return e("li",{key:a.value,staticClass:"article-filters__item"},[e("label",{staticClass:"article-filters__label",attrs:{for:a.value}},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.selectedCategories,expression:"selectedCategories"}],staticClass:"article-filters__input",attrs:{id:a.value,type:"checkbox"},domProps:{value:a.value&&a.value.toLowerCase(),checked:Array.isArray(t.selectedCategories)?t._i(t.selectedCategories,a.value&&a.value.toLowerCase())>-1:t.selectedCategories},on:{change:function(e){var s=t.selectedCategories,i=e.target,r=!!i.checked;if(Array.isArray(s)){var l=a.value&&a.value.toLowerCase(),n=t._i(s,l);i.checked?n<0&&(t.selectedCategories=s.concat([l])):n>-1&&(t.selectedCategories=s.slice(0,n).concat(s.slice(n+1)))}else t.selectedCategories=r}}}),t._v("\n            "+t._s(a.label)+"\n          ")])])})],2)])]),t._v(" "),t.results?e("ul",{staticClass:"article-list__list"},[t._l(t.results.slice(0,t.showBrandCta?parseInt(t.brandCta.position)-1:3),function(t,a){return e("li",{key:`${t.date}${a}`,staticClass:"article-list__item"},[e("ArticleCard",{attrs:{content:t}})],1)}),t._v(" "),t.showBrandCta?e("li",{staticClass:"article-list__item article-list__item--full-width"},[e("BrandCta",{attrs:{image:t.brandCta.image,text:t.brandCta.text,link:t.brandCta.link,"body-alignment":t.brandCta.bodyAlignment}})],1):t._e(),t._v(" "),t._l(t.results.slice(t.showBrandCta?parseInt(t.brandCta.position)-1:3),function(t,a){return e("li",{key:`${t.date}${a}`,staticClass:"article-list__item"},[e("ArticleCard",{attrs:{content:t}})],1)})],2):t._e(),t._v(" "),t.results.length<t.filteredArticles.length?e("div",{staticClass:"article-list__navigation"},[e("button",{class:`button button--${t.loadMoreClass} article-list__load-more`,attrs:{type:"button","aria-label":`${t.loadMoreLabel?t.loadMoreLabel.toLowerCase():"Lo
1ad more"} articles`},on:{click:t.handleLoadMore}},[t._v("\n      "+t._s(t.loadMoreLabel)+"\n    ")])]):t._e()])},i=[];s._withStripped=!0},72209(t,e,a){"use strict";a.d(e,{X:()=>s,Y:()=>i});var s=function(){var t=this,e=t._self._c;return e("div",{staticClass:"image-cta",class:t.bodyClass},[e("div",{staticClass:"image-cta__container"},[e("div",{staticClass:"image-cta__image"},[e("img",{staticClass:"image-cta__fig",attrs:{draggable:"false","data-lazy":"",src:t.image,alt:t.text}})]),t._v(" "),e("div",{staticClass:"image-cta__content"},[e("div",{staticClass:"image-cta__copy"},[t._v("\n        "+t._s(t.text)+"\n      ")]),t._v(" "),e("div",{staticClass:"image-cta__actions"},[e("a",{class:t.linkStyle,attrs:{href:t.link.url,target:t.link.target}},[t._v("\n          "+t._s(t.link.label)+"\n        ")])])])])])},i=[];s._withStripped=!0},66740(t,e,a){"use strict";a.d(e,{default:()=>l});var s=a(64467),i=a(62893),r=a(10650);const l=class{constructor(t){(0,s.A)(this,"initVueInstance",()=>{const{pageSize:t,loadMoreLabel:e,articles:a,initialCategoryFilter:s,allArticlesFilterLabel:l,brandCta:n,filtersToggleLabel:c}=this._context.dataset;new(i.default.extend(r.A))({el:"#articleListing",propsData:{pageSize:t,loadMoreLabel:e,articles:JSON.parse(a),initialCategoryFilter:s,allArticlesFilterLabel:l,brandCta:n?JSON.parse(n):{},filtersToggleLabel:c}})}),this._context=t,this.initVueInstance()}};(Object.getOwnPropertyDescriptor(l,"name")||{}).writable||Object.defineProperty(l,"name",{value:"default",configurable:!0})},79298(t,e,a){"use strict";a.d(e,{A:()=>s});const s=t=>!Object.keys(t).length;(Object.getOwnPropertyDescriptor(s,"name")||{}).writable||Object.defineProperty(s,"name",{value:"default",configurable:!0})},15235(t,e,a){"use strict";a.d(e,{A:()=>s});const s=(t,e,a=" ",s="...")=>{if(t.length<=e)return t;let i=t.substr(0,e+a.length);const r=i.lastIndexOf(a);return r>=0&&(i=i.substr(0,r)),i&&(i+=s),i};(Object.getOwnPropertyDescriptor(s,"name")||{}).writable||Object.defineProperty(s,"name",{value:"default",configurable:!0})},11137(t){function e(t){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}e.keys=()=>
1[],e.resolve=e,e.id=11137,t.exports=e},13700(t,e,a){"use strict";a.d(e,{A:()=>r});var s=a(39842),i=a(28557);const r=(0,a(14486).A)(i.A,s.X,s.Y,!1,null,null,null).exports},10650(t,e,a){"use strict";a.d(e,{A:()=>r});var s=a(78165),i=a(55143);const r=(0,a(14486).A)(i.A,s.X,s.Y,!1,null,null,null).exports},33755(t,e,a){"use strict";a.d(e,{A:()=>r});var s=a(80544),i=a(81318);const r=(0,a(14486).A)(i.A,s.X,s.Y,!1,null,null,null).exports},28557(t,e,a){"use strict";a.d(e,{A:()=>s});const s=a(48948).A},55143(t,e,a){"use strict";a.d(e,{A:()=>s});const s=a(73548).A},81318(t,e,a){"use strict";a.d(e,{A:()=>s});const s=a(19993).A},39842(t,e,a){"use strict";a.d(e,{X:()=>s.X,Y:()=>s.Y});var s=a(18197)},78165(t,e,a){"use strict";a.d(e,{X:()=>s.X,Y:()=>s.Y});var s=a(26092)},80544(t,e,a){"use strict";a.d(e,{X:()=>s.X,Y:()=>s.Y});var s=a(72209)}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.