Search in sources :

Example 1 with Listheader

use of org.zkoss.zul.Listheader in project adempiere by adempiere.

the class WFieldRecordInfo method dynInit.

//	init
/**
	 * 	Dynamic Init
	 *	@param title title
	 *	@return true if table initialized
	 */
private boolean dynInit(String title) {
    //	Title
    if (AD_Table_ID != 0) {
        MTable table1 = MTable.get(Env.getCtx(), AD_Table_ID);
        setTitle(title + " - " + table1.getName());
    }
    //	Only Client Preference can view Change Log
    if (!MRole.PREFERENCETYPE_Client.equals(MRole.getDefault().getPreferenceType()))
        return false;
    if (Record_ID == 0)
        return false;
    //	Data
    String sql = "SELECT AD_Column_ID, Updated, UpdatedBy, OldValue, NewValue " + "FROM AD_ChangeLog " + "WHERE AD_Table_ID=? AND Record_ID=? AND AD_Column_ID=?" + "ORDER BY Updated DESC";
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
        pstmt = DB.prepareStatement(sql, null);
        pstmt.setInt(1, AD_Table_ID);
        pstmt.setInt(2, Record_ID);
        pstmt.setInt(3, AD_Column_ID);
        rs = pstmt.executeQuery();
        while (rs.next()) {
            addLine(rs.getInt(1), rs.getTimestamp(2), rs.getInt(3), rs.getString(4), rs.getString(5));
        }
    } catch (Exception e) {
        log.log(Level.SEVERE, sql, e);
    } finally {
        DB.close(rs, pstmt);
    }
    //
    Vector<String> columnNames = new Vector<String>();
    columnNames.add(Msg.translate(Env.getCtx(), "NewValue"));
    columnNames.add(Msg.translate(Env.getCtx(), "OldValue"));
    columnNames.add(Msg.translate(Env.getCtx(), "UpdatedBy"));
    columnNames.add(Msg.translate(Env.getCtx(), "Updated"));
    Listhead listhead = new Listhead();
    listhead.setSizable(true);
    for (int i = 0; i < columnNames.size(); i++) {
        Listheader listheader = new Listheader(columnNames.get(i).replaceAll("[&]", ""));
        listhead.appendChild(listheader);
    }
    table.appendChild(listhead);
    List<Object> list = new ArrayList<Object>();
    for (Vector<String> data : m_data) {
        list.add(data.toString());
    }
    SimpleListModel model = new SimpleListModel(list);
    table.setItemRenderer(model);
    table.setModel(model);
    return true;
}
Also used : Listheader(org.zkoss.zul.Listheader) Listhead(org.zkoss.zul.Listhead) ArrayList(java.util.ArrayList) PreparedStatement(java.sql.PreparedStatement) MTable(org.compiere.model.MTable) SimpleListModel(org.adempiere.webui.component.SimpleListModel) ResultSet(java.sql.ResultSet) Vector(java.util.Vector)

Example 2 with Listheader

use of org.zkoss.zul.Listheader in project collect by openforis.

the class SurveySelectVM method reloadSurveySummaries.

private void reloadSurveySummaries(Binder binder) {
    Listheader lastSortedHeader = null;
    boolean lastSortDirectionDescending = true;
    if (binder != null) {
        Component view = binder.getView();
        Iterable<Component> listHeaders = view.queryAll("listheader");
        for (Component headerComp : listHeaders) {
            Listheader listHeader = (Listheader) headerComp;
            String sortDirection = listHeader.getSortDirection();
            if (!"natural".equals(sortDirection)) {
                lastSortedHeader = listHeader;
                lastSortDirectionDescending = "descending".equals(sortDirection);
                break;
            }
        }
    }
    List<SurveySummarySortField> sortFields;
    if (lastSortedHeader == null) {
        sortFields = Arrays.asList(new SurveySummarySortField(Sortable.MODIFIED_DATE, true), new SurveySummarySortField(Sortable.NAME));
    } else {
        String id = lastSortedHeader.getId();
        Sortable sortableField;
        if ("surveysListNameHeader".equals(id)) {
            sortableField = Sortable.NAME;
        } else if ("surveysListProjectNameHeader".equals(id)) {
            sortableField = Sortable.PROJECT_NAME;
        } else if ("surveysListLastModifiedDateHeader".equals(id)) {
            sortableField = Sortable.MODIFIED_DATE;
        } else if ("surveysListTargetHeader".equals(id)) {
            sortableField = Sortable.TARGET;
        } else if ("surveysListModifiedHeader".equals(id)) {
            sortableField = Sortable.MODIFIED;
        } else if ("surveysListPublishedHeader".equals(id)) {
            sortableField = Sortable.PUBLISHED;
        } else {
            throw new IllegalStateException("Unsupported sorting for column with header id " + id);
        }
        sortFields = Arrays.asList(new SurveySummarySortField(sortableField, lastSortDirectionDescending), new SurveySummarySortField(Sortable.NAME, lastSortDirectionDescending));
    }
    summaries = loadSurveySummaries(sortFields);
    notifyChange("surveySummaries");
    if (lastSortedHeader != null) {
        lastSortedHeader.sort(!lastSortDirectionDescending);
    }
}
Also used : Listheader(org.zkoss.zul.Listheader) SurveySummarySortField(org.openforis.collect.metamodel.SurveySummarySortField) Sortable(org.openforis.collect.metamodel.SurveySummarySortField.Sortable) Component(org.zkoss.zk.ui.Component)

Example 3 with Listheader

use of org.zkoss.zul.Listheader in project adempiere by adempiere.

the class WAcctViewer method actionQuery.

// sortAddItem
/**
	 *  Query
	 */
private void actionQuery() {
    //  Parameter Info
    StringBuffer para = new StringBuffer();
    //  Reset Selection Data
    m_data.C_AcctSchema_ID = 0;
    m_data.AD_Org_ID = 0;
    //  Save Selection Choices
    Listitem listitem = selAcctSchema.getSelectedItem();
    KeyNamePair kp = null;
    if (listitem != null)
        kp = (KeyNamePair) listitem.getValue();
    if (kp != null)
        m_data.C_AcctSchema_ID = kp.getKey();
    para.append("C_AcctSchema_ID=").append(m_data.C_AcctSchema_ID);
    listitem = selPostingType.getSelectedItem();
    ValueNamePair vp = null;
    if (listitem != null)
        vp = (ValueNamePair) listitem.getValue();
    else
        return;
    m_data.PostingType = vp.getValue();
    para.append(", PostingType=").append(m_data.PostingType);
    //  Document
    m_data.documentQuery = selDocument.isChecked();
    para.append(", DocumentQuery=").append(m_data.documentQuery);
    if (selDocument.isChecked()) {
        if (m_data.AD_Table_ID == 0 || m_data.Record_ID == 0)
            return;
        para.append(", AD_Table_ID=").append(m_data.AD_Table_ID).append(", Record_ID=").append(m_data.Record_ID);
    } else {
        m_data.DateFrom = selDateFrom.getValue() != null ? new Timestamp(selDateFrom.getValue().getTime()) : null;
        para.append(", DateFrom=").append(m_data.DateFrom);
        m_data.DateTo = selDateTo.getValue() != null ? new Timestamp(selDateTo.getValue().getTime()) : null;
        para.append(", DateTo=").append(m_data.DateTo);
        listitem = selOrg.getSelectedItem();
        if (listitem != null)
            kp = (KeyNamePair) listitem.getValue();
        else
            kp = null;
        if (kp != null)
            m_data.AD_Org_ID = kp.getKey();
        para.append(", AD_Org_ID=").append(m_data.AD_Org_ID);
        //
        Iterator<String> it = m_data.whereInfo.values().iterator();
        while (it.hasNext()) para.append(", ").append(it.next());
    }
    //  Save Display Choices
    m_data.displayQty = displayQty.isChecked();
    para.append(" - Display Qty=").append(m_data.displayQty);
    m_data.displaySourceAmt = displaySourceAmt.isChecked();
    para.append(", Source=").append(m_data.displaySourceAmt);
    m_data.displayDocumentInfo = displayDocumentInfo.isChecked();
    para.append(", Doc=").append(m_data.displayDocumentInfo);
    listitem = sortBy1.getSelectedItem();
    vp = null;
    if (listitem != null) {
        vp = (ValueNamePair) listitem.getValue();
        if (vp.getName() != null && vp.getName().trim().length() > 0) {
            //vp.getName();
            m_data.sortBy1 = vp.getValue();
            m_data.group1 = group1.isChecked();
            para.append(" - Sorting: ").append(m_data.sortBy1).append("/").append(m_data.group1);
        }
    }
    listitem = sortBy2.getSelectedItem();
    vp = null;
    if (listitem != null) {
        vp = (ValueNamePair) listitem.getValue();
        if (vp.getName() != null && vp.getName().trim().length() > 0) {
            //vp.getName();
            m_data.sortBy2 = vp.getValue();
            m_data.group2 = group2.isChecked();
            para.append(", ").append(m_data.sortBy2).append("/").append(m_data.group2);
        }
    }
    listitem = sortBy3.getSelectedItem();
    vp = null;
    if (listitem != null) {
        vp = (ValueNamePair) listitem.getValue();
        if (vp.getName() != null && vp.getName().trim().length() > 0) {
            //vp.getName();
            m_data.sortBy3 = vp.getValue();
            m_data.group3 = group3.isChecked();
            para.append(", ").append(m_data.sortBy3).append("/").append(m_data.group3);
        }
    }
    listitem = sortBy4.getSelectedItem();
    vp = null;
    if (listitem != null) {
        vp = (ValueNamePair) listitem.getValue();
        if (vp.getName() != null && vp.getName().trim().length() > 0) {
            //vp.getName();
            m_data.sortBy4 = vp.getValue();
            m_data.group4 = group4.isChecked();
            para.append(", ").append(m_data.sortBy4).append("/").append(m_data.group4);
        }
    }
    bQuery.setEnabled(false);
    statusLine.setValue(" " + Msg.getMsg(Env.getCtx(), "Processing"));
    log.config(para.toString());
    //  Switch to Result pane
    tabbedPane.setSelectedIndex(1);
    //  Set TableModel with Query
    RModel rmodel = m_data.query();
    m_queryData = rmodel.getRows();
    List<ArrayList<Object>> list = null;
    paging.setPageSize(PAGE_SIZE);
    if (m_queryData.size() > PAGE_SIZE) {
        list = m_queryData.subList(0, PAGE_SIZE);
        paging.setTotalSize(m_queryData.size());
        pagingPanel.setVisible(true);
    } else {
        list = m_queryData;
        paging.setTotalSize(m_queryData.size());
        pagingPanel.setVisible(false);
    }
    paging.setActivePage(0);
    ListModelTable listmodeltable = new ListModelTable(list);
    if (table.getListhead() == null) {
        Listhead listhead = new Listhead();
        listhead.setSizable(true);
        for (int i = 0; i < rmodel.getColumnCount(); i++) {
            // Replace user columns with the user selected names
            String displayColumnName = rmodel.getColumnName(i);
            ;
            String columnName;
            RColumn col = rmodel.getColumn(i);
            columnName = col.getColumnName();
            MAcctSchema as = MAcctSchema.get(Env.getCtx(), m_data.C_AcctSchema_ID);
            if (columnName.equals("User1_ID")) {
                MAcctSchemaElement ase = as.getAcctSchemaElement(MAcctSchemaElement.ELEMENTTYPE_UserList1);
                if (ase != null)
                    displayColumnName = Msg.translate(Env.getCtx(), ase.getName());
            } else if (columnName.equals("User2_ID")) {
                MAcctSchemaElement ase = as.getAcctSchemaElement(MAcctSchemaElement.ELEMENTTYPE_UserList2);
                if (ase != null)
                    displayColumnName = Msg.translate(Env.getCtx(), ase.getName());
            } else if (columnName.equals("User3_ID")) {
                MAcctSchemaElement ase = as.getAcctSchemaElement(MAcctSchemaElement.ELEMENTTYPE_UserList3);
                if (ase != null)
                    displayColumnName = Msg.translate(Env.getCtx(), ase.getName());
            } else if (columnName.equals("User4_ID")) {
                MAcctSchemaElement ase = as.getAcctSchemaElement(MAcctSchemaElement.ELEMENTTYPE_UserList4);
                if (ase != null)
                    displayColumnName = Msg.translate(Env.getCtx(), ase.getName());
            }
            Listheader listheader = new Listheader(displayColumnName);
            listheader.setTooltiptext(rmodel.getColumnName(i));
            listhead.appendChild(listheader);
        }
        table.appendChild(listhead);
    } else // Elaine 2008/07/28
    {
        Listhead listhead = table.getListhead();
        // remove existing column header
        listhead.getChildren().clear();
        // add in new column header
        for (int i = 0; i < rmodel.getColumnCount(); i++) {
            Listheader listheader = new Listheader(rmodel.getColumnName(i));
            listhead.appendChild(listheader);
        }
    }
    //
    table.getItems().clear();
    table.setItemRenderer(new WListItemRenderer());
    table.setModel(listmodeltable);
    resultPanel.invalidate();
    bQuery.setEnabled(true);
    statusLine.setValue(" " + Msg.getMsg(Env.getCtx(), "ViewerOptions"));
}
Also used : WListItemRenderer(org.adempiere.webui.component.WListItemRenderer) Listheader(org.zkoss.zul.Listheader) Listhead(org.zkoss.zul.Listhead) Listitem(org.zkoss.zul.Listitem) ArrayList(java.util.ArrayList) RModel(org.compiere.report.core.RModel) ListModelTable(org.adempiere.webui.component.ListModelTable) RColumn(org.compiere.report.core.RColumn) Timestamp(java.sql.Timestamp) MAcctSchema(org.compiere.model.MAcctSchema) KeyNamePair(org.compiere.util.KeyNamePair) ValueNamePair(org.compiere.util.ValueNamePair) MAcctSchemaElement(org.compiere.model.MAcctSchemaElement)

Example 4 with Listheader

use of org.zkoss.zul.Listheader in project adempiere by adempiere.

the class WRecordInfo method dynInit.

//	jbInit
/**
	 * 	Dynamic Init
	 */
private void dynInit() {
    Listhead listhead = new Listhead();
    listhead.setSizable(true);
    //	Add Columns
    for (String columnName : getColumnNames()) {
        Listheader listheader = new Listheader(columnName.replaceAll("[&]", ""));
        listhead.appendChild(listheader);
    }
    //	Instance Table
    table.appendChild(listhead);
    SimpleListModel model = new SimpleListModel(getData());
    table.setItemRenderer(model);
    table.setModel(model);
}
Also used : Listheader(org.zkoss.zul.Listheader) Listhead(org.zkoss.zul.Listhead) SimpleListModel(org.adempiere.webui.component.SimpleListModel)

Example 5 with Listheader

use of org.zkoss.zul.Listheader in project collect by openforis.

the class SurveySelectComposer method setGridDefaultSortDirection.

public void setGridDefaultSortDirection() {
    Component comp = this.getBinder().getView();
    Listheader lastModifiedDateHeader = (org.zkoss.zul.Listheader) comp.query("#" + LAST_MODIFIED_DATE_HEADER_ID);
    // reset sorting feedback
    for (Component header : lastModifiedDateHeader.getParent().getChildren()) {
        ((Listheader) header).setSortDirection("natural");
    }
    // set descending sort direction on last modified date column header
    lastModifiedDateHeader.setSortDirection("descending");
}
Also used : Listheader(org.zkoss.zul.Listheader) Component(org.zkoss.zk.ui.Component)

Aggregations

Listheader (org.zkoss.zul.Listheader)5 Listhead (org.zkoss.zul.Listhead)3 ArrayList (java.util.ArrayList)2 SimpleListModel (org.adempiere.webui.component.SimpleListModel)2 Component (org.zkoss.zk.ui.Component)2 PreparedStatement (java.sql.PreparedStatement)1 ResultSet (java.sql.ResultSet)1 Timestamp (java.sql.Timestamp)1 Vector (java.util.Vector)1 ListModelTable (org.adempiere.webui.component.ListModelTable)1 WListItemRenderer (org.adempiere.webui.component.WListItemRenderer)1 MAcctSchema (org.compiere.model.MAcctSchema)1 MAcctSchemaElement (org.compiere.model.MAcctSchemaElement)1 MTable (org.compiere.model.MTable)1 RColumn (org.compiere.report.core.RColumn)1 RModel (org.compiere.report.core.RModel)1 KeyNamePair (org.compiere.util.KeyNamePair)1 ValueNamePair (org.compiere.util.ValueNamePair)1 SurveySummarySortField (org.openforis.collect.metamodel.SurveySummarySortField)1 Sortable (org.openforis.collect.metamodel.SurveySummarySortField.Sortable)1