Package info.jtrac.domain

Examples of info.jtrac.domain.ColumnHeading


        columnChoice.setChoices(new AbstractReadOnlyModel() {
            public Object getObject() {
                // avoid lazy init problem
                Space s = getJtrac().loadSpace(space.getId());
                List<ColumnHeading> list = ColumnHeading.getColumnHeadings(s);
                list.remove(new ColumnHeading(Name.ID));
                list.remove(new ColumnHeading(Name.SPACE));
                return list;
            }
        });                
        columnChoice.setChoiceRenderer(new IChoiceRenderer() {
            public Object getDisplayValue(Object o) {
                ColumnHeading ch = (ColumnHeading) o;
                if(ch.isField()) {
                    return ch.getLabel();
                }
                return labelsMap.get(ch.getName());
            }
            public String getIdValue(Object o, int i) {
                ColumnHeading ch = (ColumnHeading) o;
                return ch.getNameText();
            }
        });
        columnChoice.setModel(new PropertyModel(column, "columnHeading"));
        columnChoice.setNullValid(true);
       
        form.add(columnChoice);
       
        Button previewButton = new Button("preview") {
            @Override
            public void onSubmit() {               
                if(column.getColumnHeading() == null) {
                    return;
                }               
            }           
        };        
       
        form.add(previewButton);
       
        form.add(new Link("cancel") {
            public void onClick() {
                setResponsePage(previous);
            }
        });        
       
        final WebMarkupContainer columnCellsContainer = new WebMarkupContainer("columnCells") {
            @Override
            public boolean isVisible() {
                return column.getColumnHeading() != null;
            }
        };
       
        form.add(columnCellsContainer);
       
        final WebMarkupContainer distinctCellsContainer = new WebMarkupContainer("distinctCells") {
            @Override
            public boolean isVisible() {
                ColumnHeading ch = column.getColumnHeading();
                return ch != null && ch.isDropDownType();
            }
        };        
       
        columnCellsContainer.add(new Label("header", new PropertyModel(column, "label")));       
        columnCellsContainer.add(new ReadOnlyRefreshingView("rows") {           
            public List getObjectList() {
                return columnCells;
            }           
            protected void populateItem(Item item) {
                if(item.getIndex() % 2 == 1) {
                    item.add(CLASS_ALT);
                }          
                item.add(new Label("index", item.getIndex() + 1 + ""));
                Cell cell = (Cell) item.getModelObject();
                Label label = new Label("cell", new PropertyModel(cell, "valueAsString"));
                label.setEscapeModelStrings(false);               
                if(!cell.isValid(column.getColumnHeading())) {
                    label.add(CLASS_ERROR_BACK);
                }
                item.add(label);
                if(mappedDisplayValues != null && distinctCellsContainer.isVisible() && cell.getKey() != null) {
                    String mapped = mappedDisplayValues.get(cell.getKey());
                    item.add(new Label("mapped", mapped));
                } else {
                    item.add(new WebMarkupContainer("mapped"));               
                }
            }
        });
               
        form.add(distinctCellsContainer);
       
        distinctCellsContainer.add(new DistinctCellsView("rows"));
       
        Button updateButton = new Button("update") {
            @Override
            public void onSubmit() {
                if(distinctCellsContainer.isVisible()) {
                    ColumnHeading ch = column.getColumnHeading();
                    for(Cell cell : columnCells) {
                        IModel model = mappedKeys.get(cell.getValueAsString());
                        Object o = model.getObject();                       
                        cell.setKey(o);                       
                    }
                }              
            }
            @Override
            public boolean isVisible() {
                return distinctCellsContainer.isVisible();
            }
        };
       
        form.add(updateButton);
       
       
        Button submitButton = new Button("submit") {
            @Override
            public void onSubmit() {
                ColumnHeading ch = column.getColumnHeading();
                for(Cell cell : columnCells) {
                    if(!cell.isValid(ch)) {
                        error(localize("excel_view.error.invalidValue"));
                        return;
                    }
                }               
                if(ch.isField()) {
                    column.setLabel(ch.getLabel());
                } else {
                    column.setLabel(labelsMap.get(column.getColumnHeading().getName()));
                }
                excelFile.getColumns().set(index, column);
                if(distinctCellsContainer.isVisible()) {
View Full Code Here


        }                       
       
        private void initChoices() {   
            // TODO reduce code duplication
            space = getJtrac().loadSpace(space.getId());
            ColumnHeading ch = column.getColumnHeading();
            if (ch.isField() || ch.getName() == ColumnHeading.Name.STATUS) {
                final Map<Integer, String> options;
                if(ch.isField()) {
                    options = ch.getField().getOptionsWithIntegerKeys();                           
                } else { // STATE
                    options = space.getMetadata().getStatesMap();
                    options.remove(State.NEW);
                }
                final List<Integer> keys;
View Full Code Here

       
        final List<ColumnHeading> columnHeadings = itemSearch.getColumnHeadingsToRender();
       
        ListView headings = new ListView("headings", columnHeadings) {
            protected void populateItem(ListItem listItem) {
                final ColumnHeading ch = (ColumnHeading) listItem.getModelObject();
                Link headingLink = new Link("heading") {
                    public void onClick() {
                        doSort(ch.getNameText());
                    }
                };
                listItem.add(headingLink);
                String label = ch.isField() ? ch.getLabel() : localize("item_list." + ch.getName());
                headingLink.add(new Label("heading", label));
                if (ch.getNameText().equals(itemSearch.getSortFieldName())) {
                    String order = itemSearch.isSortDescending() ? "order-down" : "order-up";
                    listItem.add(new SimpleAttributeModifier("class", order));
                }
            }
        };
       
        add(headings);
       
        //======================== ITEMS =======================================
       
        final long selectedItemId = itemSearch.getSelectedItemId();
       
        final SimpleAttributeModifier sam = new SimpleAttributeModifier("class", "alt");
       
        ListView itemList = new ListView("itemList", itemListModel) {
            protected void populateItem(ListItem listItem) {
                // cast to AbstactItem - show history may be == true
                final AbstractItem item = (AbstractItem) listItem.getModelObject();
               
                if (selectedItemId == item.getId()) {
                    listItem.add(new SimpleAttributeModifier("class", "selected"));
                } else if(listItem.getIndex() % 2 == 1) {
                    listItem.add(sam);
                }               
               
                final boolean showHistory = itemSearch.isShowHistory();
               
                ListView fieldValues = new ListView("columns", columnHeadings) {
                    protected void populateItem(ListItem listItem) {
                        ColumnHeading ch = (ColumnHeading) listItem.getModelObject();
                        IModel value = null;
                        if(ch.isField()) {
                            value = new Model(item.getCustomValue(ch.getField().getName()));
                        } else {
                            switch(ch.getName()) {
                                case ID:
                                    String refId = item.getRefId();
                                    Fragment refIdFrag = new Fragment("column", "refId", ItemListPanel.this);
                                    refIdFrag.setRenderBodyOnly(true);
                                    listItem.add(refIdFrag);
                                    Link refIdLink = new BookmarkablePageLink("refId", ItemViewPage.class, new PageParameters("0=" + refId));                               
                                    refIdFrag.add(refIdLink);
                                    refIdLink.add(new Label("refId", refId));
                                    if (showHistory) {                                                                                                           
                                        int index = ((History) item).getIndex();
                                        if (index > 0) {
                                            refIdFrag.add(new Label("index", " (" + index + ")"));
                                        } else {
                                            refIdFrag.add(new WebMarkupContainer("index").setVisible(false));
                                        }
                                    } else {                                                                          
                                        refIdFrag.add(new WebMarkupContainer("index").setVisible(false));
                                    }
                                    // the first column ID is a special case, where we add a fragment.
                                    // since we have already added a fragment return, instead of "break"
                                    // so avoid going to the new Label("column", value) after the switch case                                   
                                    return;                                   
                                case SUMMARY:
                                    value = new PropertyModel(item, "summary");
                                    break;
                                case DETAIL:                               
                                    if(showHistory) {
                                        Fragment detailFrag = new Fragment("column", "detail", ItemListPanel.this);
                                        final History history = (History) item;
                                        detailFrag.add(new AttachmentLinkPanel("attachment", history.getAttachment()));
                                        if (history.getIndex() > 0) {
                                            detailFrag.add(new Label("detail", new PropertyModel(history, "comment")));
                                        } else {
                                            detailFrag.add(new Label("detail", new PropertyModel(history, "detail")));
                                        }
                                        listItem.add(detailFrag);
                                        return;
                                    } else {                                   
                                        value = new PropertyModel(item, "detail");                                   
                                    }
                                    break;
                                case LOGGED_BY:
                                    value = new PropertyModel(item, "loggedBy.name");
                                    break;
                                case STATUS:
                                    value = new PropertyModel(item, "statusValue");
                                    break;
                                case ASSIGNED_TO:
                                    value = new PropertyModel(item, "assignedTo.name");
                                    break;
                                case TIME_STAMP:
                                    value = new Model(DateUtils.formatTimeStamp(item.getTimeStamp()));
                                    break;
                                case SPACE:
                                    if(showHistory) {
                                        value = new PropertyModel(item, "parent.space.name");
                                    } else {
                                        value = new PropertyModel(item, "space.name");
                                    }
                                    break;
                                default:
                                    throw new RuntimeException("Unexpected name: '" + ch.getName() + "'");                               
                            }
                        }
                        Label label = new Label("column", value);
                        label.setRenderBodyOnly(true);
                        listItem.add(label);
View Full Code Here

                        if(space == null) {
                            error(localize("excel_view.error.noSpaceSelected"));
                            return;                           
                        }
                        Map<Name, String> labelsMap = BasePage.getLocalizedLabels(ExcelImportPage.this);
                        ColumnHeading duplicate = excelFile.getDuplicatedColumnHeadings();
                        if(duplicate != null) {
                            error(localize("excel_view.error.duplicateMapping", labelsMap.get(duplicate.getName())));
                            return;                             
                        }
                        List<ColumnHeading> unMapped = excelFile.getUnMappedColumnHeadings();
                        if(unMapped.size() > 0) {                           
                            for(ColumnHeading ch : unMapped) {
View Full Code Here

                return !expandAll;
            }
        });
        form.add(new ListView("columns", itemSearch.getColumnHeadings()) {
            protected void populateItem(final ListItem listItem) {
                final ColumnHeading ch = (ColumnHeading) listItem.getModelObject();
                String label = ch.isField() ? ch.getLabel() : localize("item_list." + ch.getName());
                listItem.add(new Label("columnName", label));
                listItem.add(new CheckBox("visible", new PropertyModel(ch, "visible")));
                List<Expression> validExpressions = ch.getValidFilterExpressions();
                DropDownChoice expressionChoice = new IndicatingDropDownChoice("expression", validExpressions, new IChoiceRenderer() {
                    public Object getDisplayValue(Object o) {
                        String key = ((Expression) o).getKey();
                        return localize("item_filter." + key);
                    }
                    public String getIdValue(Object o, int i) {
                        return ((Expression) o).getKey();
                    }
                });
                // always pre-select "equal to" for filter criteria on ID
                if(ch.getName() == ColumnHeading.Name.ID) {
                    ch.getFilterCriteria().setExpression(Expression.EQ);
                }                               
                if(expandAll && ch.getFilterCriteria().getExpression() == null) {                 
                    ch.getFilterCriteria().setExpression(validExpressions.get(0));                                
                }
                expressionChoice.setModel(new PropertyModel(ch.getFilterCriteria(), "expression"));
                expressionChoice.setNullValid(true);
                listItem.add(expressionChoice);
                Component fragParent = null;
                fragParent = getFilterUiFragment(ch);
                fragParent.setOutputMarkupId(true);
                listItem.add(fragParent);                                      
                expressionChoice.add(new AjaxFormComponentUpdatingBehavior("onChange") {
                    protected void onUpdate(AjaxRequestTarget target) {
                        if(!ch.getFilterCriteria().requiresUiFragmentUpdate()) {
                            return;
                        }
                        Component fragment = getFilterUiFragment(ch);
                        fragment.setOutputMarkupId(true);
                        listItem.replace(fragment);
View Full Code Here

TOP

Related Classes of info.jtrac.domain.ColumnHeading

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.