Quantcast
Channel: Limiting Number of Facebook Feed Posts Using Javascript Array - Stack Overflow
Viewing all articles
Browse latest Browse all 2

Limiting Number of Facebook Feed Posts Using Javascript Array

$
0
0

I have a facebook feed aggregator that displays the latest posts from all my pages. I only want 10 posts displayed at a time and then a "more button underneath that displays more posts if clicked. Everything is function except that it displays every post from every page that can be scrolled. The page loads so slowly because of the thousands of posts loading. I have achieved this with my twitter posts but for some reason not with Facebook. I have posted both the facebook and twitter code so you can compare. I need help limiting the number of posts displayed. Thanks

Here is a link to a screenshot of the software. https://gyazo.com/d1c2363d553de2e267c3eddea5857fc3

Facebook

    this.morefacebookpagefeeds = function () {
    var obj = vm.currentfacebookpaging();
    var feedinfo = new Object();
    feedinfo.facebookfeeds = new Array();
    feedinfo.PagingList = new Array();
    var item = 0;
    obj.forEach(function (e, index, array) {
        item++;
        var parameters = e.next.split("?")[1];
        var page = ko.utils.arrayFirst(vm.currentfeedModelArray(), function (i) {
            return i.Id == e.PageId;
        });
        FB.api("/" + facebookuserid + "/feed?" + parameters, 'get', { access_token: facebookaccesstoken }, function (response) {
            response.data.forEach(function (feed, index, array) {
                var feedsdata = new Object();
                feedsdata.Description = feed.description;
                feedsdata.Picture = feed.picture;
                feedsdata.Name = feed.name;
                feedsdata.Link = feed.link;
                feedsdata.Message = feed.message;
                feedsdata.PageName = page.ProfileName != undefined ? page.ProfileName : "";
                feedsdata.PostDate = moment(new Date(feed.created_time)).format('ddd MMM DD YYYY hh:MM a');
                feedsdata.ProfileImage = page.ProfileImageUrl;
                feedsdata.PageUrl = page.ProfileUrl != undefined ? page.ProfileUrl : "";
                feedsdata.Id = page.ProfileId != undefined ? page.ProfileId : "";
                feedinfo.facebookfeeds.push(feedsdata);
                if (response.paging != null) {
                    feedsdata.Paging = new Object();
                    feedsdata.Paging.previous = response.paging.previous;
                    feedsdata.Paging.next = response.paging.next;
                    feedsdata.Paging.PageId = pageId;
                }
                feedinfo.PagingList.push(feedsdata.Paging);
            });

            if (item == array.length) {
                feedinfo.facebookfeeds.forEach(function (item) {
                    vm.currentfeedModelArray.push(item);
                });
                feedinfo.PagingList.forEach(function (item) {
                    vm.currentfacebookpaging.push(item);
                })
            }
        });
    });
}

Twitter

 this.twitterfeeds = function (sinceid) {
    if (sinceid) {
        var sinceidvalue = vm.currenttwitterfeedModelArray()[vm.currenttwitterfeedModelArray().length - 1].Id;
    }
    ajaxExt({
        type: "POST",
        throbberPosition: { my: "center center", at: "center center", of: $(window), offset: "5 0" },
        data: { sinceid: sinceidvalue },
        url: baseUrl + 'Social/TwitterFeed',
        showThrobber: true,
        success: function (data) {
            vm.feedModelArray.removeAll();
            if (sinceidvalue == undefined || sinceidvalue == null) {
                vm.currenttwitterfeedModelArray.removeAll();
            }
            if (data.Object == null || data.Object.length == 0) {
                $('#loadmoretwitter_btn').css('display', 'none');
            }
            data.Object.forEach(function (item) {
                vm.currenttwitterfeedModelArray.push(item);
            });


        }
    });
}

Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images