0

In Paging when use change page i whant to use busy component

asked 2018-07-24 21:58:02 +0800

Radoslav86 gravatar image Radoslav86
13 3

Hi , use this for paging

<listfoot>
                    <listfooter span="11" width="99%" align="center" >
                        <paging activePage="@load(vm.firstPage)"
                                detailed="true" 
                                pageSize="@load(vm.getItemsPerPage())"
                                totalSize="@load(vm.totalSize)"
                                onPaging="@command('onPageChanged')"/>
                    </listfooter>
                </listfoot>

I want when press buttons to change page this buttons or all listbox to become busy component.

This is inner class in VM for paging

    private class PagingListModel extends SortablePagingListModel<Items> {
    public PagingListModel(int activePage, int pageSize, String initialOrderByProperty, boolean isInitialOrderAsc) {
        super(activePage, pageSize, initialOrderByProperty, isInitialOrderAsc);
    }

    @Override
    protected List<Items> getPageItems(ListModelFilter filter) {
        exportedResultsFilter = filter;
         List<Items> list = service.findAllItems();
        return list;
    }

    @Override
    public void resetPaging() {
        activePage = 0;
    }

    @Override
    public int getTotalSize() {
            return service.findAllItemsCount();
        }
    }
}

other methods in vm :

private int activePage = 0;

public int getFirstPage() {
    return 0;
}

public int getTotalSize() {
    return items == null ? 0 : items.getTotalSize();
}

public static int getItemsPerPage() {
    return ITEMS_PER_PAGE;
}

and onPaging command is :

@Command
public void onPageChanged(@ContextParam(ContextType.TRIGGER_EVENT) PagingEvent pagingEvent, @BindingParam("listheader") Listheader listheader) {
    activePage = pagingEvent.getActivePage();
    items.setCurrentPage(activePage);
}

I tried several options to use Clients.showBusy() and Clients.clearBusy(), but without result. if I use only Clients.showBusy() it works. I use him in onPageChanged or in getPageItems , but all page changed functionality is like one method and wherever I put Clients.clearBusy() , Clients.showBusy() effect disappears. the only thing that shows that he is currently charging is the progress icon in the upper left corner. But the changin but the buttons to change the page are active and if user pres them a queue of queries will form.

delete flag offensive retag edit

Comments

The effect dissapears because you do the 2 things in 1 request. You need to seperate it then in 2 different request.

chillworld ( 2018-07-25 04:51:58 +0800 )edit
Be the first one to answer this question!
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow

RSS

Stats

Asked: 2018-07-24 21:58:02 +0800

Seen: 4 times

Last updated: Jul 24

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More