private void initDataListener() { if (_dataListener == null) _dataListener = new ListDataListener() { public void onChange(ListDataEvent event) { // ZK-1864: share listmodelist cause un-predictable reload if (event.getType() != ListDataEvent.SELECTION_CHANGED) onListDataChange(event); } }; _model.addListDataListener(_dataListener); // ZK-3088: for updating group status GroupsModel g = getGroupsModel(); if (g != null) { if (_groupsDataListener == null) { _groupsDataListener = new GroupsDataListener() { public void onChange(GroupsDataEvent event) { onGroupsDataChange(event); } }; } g.addGroupsDataListener(_groupsDataListener); } }
public void onPageDetached(Page page) { super.onPageDetached(page); if (_model != null && _dataListener != null) _model.removeListDataListener(_dataListener); GroupsModel groupsModel = getGroupsModel(); if (groupsModel != null && _groupsDataListener != null) groupsModel.removeGroupsDataListener(_groupsDataListener); }
public void onPageAttached(Page newpage, Page oldpage) { super.onPageAttached(newpage, oldpage); if (oldpage == null) { Executions.getCurrent().setAttribute("zkoss.Grid.deferInitModel_" + getUuid(), Boolean.TRUE); //prepare a right moment to init Grid(must be as early as possible) this.addEventListener("onInitModel", _modelInitListener = new ModelInitListener()); Events.postEvent(20000, new Event("onInitModel", this)); //first event to be called } GroupsModel groupsModel = getGroupsModel(); if (_model != null || groupsModel != null) { getDataLoader().syncModel(-1, -1); postOnInitRender(); } if (_model != null && _dataListener != null) { _model.removeListDataListener(_dataListener); _model.addListDataListener(_dataListener); } if (groupsModel != null && _groupsDataListener != null) { groupsModel.removeGroupsDataListener(_groupsDataListener); groupsModel.addGroupsDataListener(_groupsDataListener); } }
if (_model != null) { _model.removeListDataListener(_dataListener); GroupsModel groupsModel = getGroupsModel(); if (groupsModel != null) { ((GroupsListModel) _model).cleanInternalListener(); GroupsModel g = getGroupsModel(); if (g != null) g.removeGroupsDataListener(_groupsDataListener);