{"version":3,"sources":["feed/src/FeedWidget.js"],"names":["$","Craft","FeedWidget","Garnish","Base","extend","init","widgetId","url","limit","$widget","addClass","params","get","response","find","removeClass","this","data","direction","$tds","items","length","i","$td","widgetHtml","item","permalink","title","outerHTML","target","text","date","formatDate","html","catch","cp","displayError","t","jQuery"],"mappings":"CAAA,SAACA,GAEGC,MAAAC,WAAAC,QAAAC,KAAAC,OAAA,CACMH,QAAAA,KAGEI,KAAE,SAASC,EAATC,EAAwBC,GACrBC,KAAAA,QAAYV,EAAA,UAAYO,GACxBG,KAAAA,QAAQC,SAAS,WAIlBC,MAAQC,IAAA,mCAAA,CACCL,OAAAA,CADDA,IAAAA,KAIHE,KAALI,IACKJ,KAAQK,QAAKC,YACR,WACFC,KAAGP,QAAKA,KAAQK,SACZD,KAAAA,MAAAA,EAAAI,KAAZC,WADA,IAAIC,EAAOH,KAAKP,QAAQK,KAAK,MAGnBM,EAAUA,EAAMC,KAAQC,OAAK,GAE/BC,IAAO,IAACJ,EAAD,EAAXG,EAAAF,EAAAC,OAAAC,IAAA,CAEIE,IAAUC,EAAKL,EAAQE,GACZI,EAAAA,EADYP,EAAAG,IAGjBG,IAAKE,EAAAA,EAAAA,OAAAA,CACLC,KAJOH,EAAjBC,UAEIG,OAAQ,SAIZC,KAAeL,EAAAE,QACDf,IAAI,GAAAgB,UAAA,IADdH,EAAKM,OAIAP,GAAT,8BAAAxB,MAAAgC,WAAAP,EAAAM,MAAA,WAAAR,EAAIU,KAAKT,GAODxB,MAAEa,kBAASI,OAAAA,4BAAAA,CAFbA,KAAA,CADVV,IAAAA,EAMWU,KAAAJ,EAAAI,UAnCfiB,MAAA,KAuCHlB,KAAAP,QAAAM,YAAA,WA/CLf,MAAAmC,GAAAC,aAAApC,MAAAqC,EAAA,MAAA,iCAHJ,CAoDGC","file":"FeedWidget.min.js","sourcesContent":["(function($) {\n    /** global: Craft */\n    /** global: Garnish */\n    Craft.FeedWidget = Garnish.Base.extend({\n        $widget: null,\n\n        init: function(widgetId, url, limit) {\n            this.$widget = $('#widget' + widgetId);\n            this.$widget.addClass('loading');\n\n            // Get the feed data\n            axios.get('https://feed-proxy.craftcms.com/', {\n                params: {\n                    url: url,\n                },\n            }).then(response => {\n                this.$widget.removeClass('loading');\n                this.$widget.find('table')\n                    .attr('dir', response.data.direction);\n                let $tds = this.$widget.find('td');\n                let items = response.data.items || [];\n\n                for (let i = 0; i < items.length; i++) {\n                    let item = items[i];\n                    let $td = $($tds[i]);\n\n                    var widgetHtml = $('<a/>', {\n                        href: item.permalink,\n                        target: '_blank',\n                        text: item.title\n                    }).get(0).outerHTML + ' ';\n\n                    if (item.date) {\n                        widgetHtml += '<span class=\"light nowrap\">' + Craft.formatDate(item.date) + '</span>';\n                    }\n\n                    $td.html(widgetHtml);\n                }\n\n                // Now cache the data\n                Craft.sendActionRequest('POST', 'dashboard/cache-feed-data', {\n                    data: {\n                        url: url,\n                        data: response.data,\n                    },\n                });\n            }).catch(() => {\n                this.$widget.removeClass('loading');\n                Craft.cp.displayError(Craft.t('app', 'Could not load the feed'));\n            });\n        }\n    });\n})(jQuery);\n"]}