{"version":3,"file":"../../../javascript/pages/projects.js","names":["$","window","$results","loadMore","$container","on","e","preventDefault","$loadMore","this","attr","ajax","url","data","type","done","payload","listing_items","append","load_more_link","addClass","Astro","fancyGrid","addEventListener","event","bounding","getBoundingClientRect","top","left","bottom","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","hasAttribute","button","querySelector","click"],"sources":["pages/projects.js"],"mappings":"CAAC,SAAUA,EAAGC,GACV,IAAIC,EAAWF,EAAE,iCACbG,EAAWH,EAAE,iBAAiB,GAC9BI,EAAaJ,EAAE,mCAEnBA,EAAE,mCAAmCK,GAAG,QAAS,gBAAiB,SAAUC,GACxEA,EAAEC,iBACF,IAAIC,EAAYR,EAAES,MAElBD,EAAUE,KAAK,WAAW,GAE1BV,EAAEW,KAAK,CACHC,IAAKJ,EAAUK,KAAK,QACpBC,KAAM,QAELC,KAAK,SAAUF,GACRA,EAAKG,UACDH,EAAKG,QAAQC,eACbf,EAASgB,OAAOL,EAAKG,QAAQC,eAG7BJ,EAAKG,QAAQG,gBACbX,EAAUE,KAAK,UAAW,MAC1BF,EAAUE,KAAK,YAAaG,EAAKG,QAAQG,gBACzCX,EAAUK,KAAK,OAAQA,EAAKG,QAAQG,iBAEpCf,EAAWgB,SAAS,wBAG5BC,MAAMC,WACV,EACR,GAYInB,GACAF,EAAOsB,iBAAiB,SAAU,SAASC,GACvC,IAXAC,EAWiBtB,EAXDuB,yBAEPC,KAAO,GAChBF,EAASG,MAAQ,GACjBH,EAASI,SAAW5B,EAAO6B,aAAeC,SAASC,gBAAgBC,eACnER,EAASS,QAAUjC,EAAOkC,YAAcJ,SAASC,gBAAgBI,eAOxDjC,EAASkC,aAAa,WAAY,CACnC,IAAIC,EAASP,SAASQ,cAAc,iBAEhCD,GACAA,EAAOE,OAEf,CAnBO,IACXf,CAoBJ,GAAG,EAGV,CAzDA,CAyDEzB,EAAGC","ignoreList":[],"sourceRoot":"../../../../../resources/javascript","sourcesContent":[";(function($, window, undefined) {\n    var $results = $('.js-projects-listing__results');\n    var loadMore = $('.js-load-more')[0];\n    var $container = $('.js-projects-listing__load-more')\n\n    $('.js-projects-listing__load-more').on('click', '.js-load-more', function (e) {\n        e.preventDefault();\n        var $loadMore = $(this);\n\n        $loadMore.attr('loading', true);\n\n        $.ajax({\n            url: $loadMore.data('next'),\n            type: 'get',\n        })\n            .done(function (data) {\n                if (data.payload) {\n                    if (data.payload.listing_items) {\n                        $results.append(data.payload.listing_items);\n                    }\n\n                    if (data.payload.load_more_link) {\n                        $loadMore.attr('loading', null);\n                        $loadMore.attr('data-next', data.payload.load_more_link);\n                        $loadMore.data('next', data.payload.load_more_link);\n                    } else {\n                        $container.addClass('load-more--disabled');\n                    }\n                }\n                Astro.fancyGrid();\n            });\n    });\n\n    var isInViewport = function(elem) {\n        var bounding = elem.getBoundingClientRect();\n        return (\n            bounding.top >= 0 &&\n            bounding.left >= 0 &&\n            bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n            bounding.right <= (window.innerWidth || document.documentElement.clientWidth)\n        );\n    };\n\n    if (loadMore) {\n        window.addEventListener('scroll', function(event) {\n            if (isInViewport(loadMore)) {\n                if (!loadMore.hasAttribute('loading')) {\n                    var button = document.querySelector('.js-load-more');\n\n                    if (button) {\n                        button.click();\n                    }\n                }\n            }\n        }, false);\n    }\n\n})($, window);\n"]}