Example usage for com.vaadin.ui Button setStyleName

List of usage examples for com.vaadin.ui Button setStyleName

Introduction

In this page you can find the example usage for com.vaadin.ui Button setStyleName.

Prototype

@Override
    public void setStyleName(String style) 

Source Link

Usage

From source file:com.esofthead.mycollab.module.project.view.bug.BugRelatedField.java

License:Open Source License

public void displayRelatedBugs(final SimpleBug bug) {
    this.bug = bug;
    VerticalLayout mainLayout = new VerticalLayout();
    mainLayout.setWidth("100%");
    mainLayout.setMargin(true);/*from   w  w w  .j  a  v  a  2  s .  c o m*/
    mainLayout.setSpacing(true);

    HorizontalLayout layoutAdd = new HorizontalLayout();
    layoutAdd.setSpacing(true);

    Label lbBug = new Label("Bug:");
    lbBug.setWidth("70px");
    layoutAdd.addComponent(lbBug);
    layoutAdd.setComponentAlignment(lbBug, Alignment.MIDDLE_LEFT);

    itemField = new TextField();
    itemField.setWidth("300px");
    itemField.setNullRepresentation("");
    itemField.setReadOnly(true);
    itemField.setEnabled(true);
    layoutAdd.addComponent(itemField);
    layoutAdd.setComponentAlignment(itemField, Alignment.MIDDLE_LEFT);

    browseBtn = new Button("", new Button.ClickListener() {
        private static final long serialVersionUID = 1L;

        @Override
        public void buttonClick(com.vaadin.ui.Button.ClickEvent event) {
            callItemSelectionWindow();

        }
    });
    browseBtn.setIcon(MyCollabResource.newResource(WebResourceIds._16_browseItem));
    browseBtn.setStyleName("link");

    layoutAdd.addComponent(browseBtn);
    layoutAdd.setComponentAlignment(browseBtn, Alignment.MIDDLE_LEFT);

    clearBtn = new Button("", new Button.ClickListener() {
        private static final long serialVersionUID = 1L;

        @Override
        public void buttonClick(com.vaadin.ui.Button.ClickEvent event) {
            setItemFieldValue("");
        }
    });
    clearBtn.setIcon(MyCollabResource.newResource("icons/16/clearItem.png"));
    clearBtn.setStyleName("link");

    layoutAdd.addComponent(clearBtn);
    layoutAdd.setComponentAlignment(clearBtn, Alignment.MIDDLE_LEFT);

    Label lbIs = new Label("is");
    layoutAdd.addComponent(lbIs);
    layoutAdd.setComponentAlignment(lbIs, Alignment.MIDDLE_LEFT);

    comboRelation = new BugRelationComboBox();
    comboRelation.setWidth("200px");
    layoutAdd.addComponent(comboRelation);
    layoutAdd.setComponentAlignment(comboRelation, Alignment.MIDDLE_LEFT);

    btnRelate = new Button("Relate");
    btnRelate.setStyleName(UIConstants.THEME_GREEN_LINK);
    btnRelate.setIcon(MyCollabResource.newResource(WebResourceIds._16_addRecord));

    ProjectMemberService memberService = ApplicationContextUtil.getSpringBean(ProjectMemberService.class);
    SimpleProjectMember member = memberService.findMemberByUsername(AppContext.getUsername(),
            CurrentProjectVariables.getProjectId(), AppContext.getAccountId());

    if (member != null) {
        btnRelate.setEnabled((member.getIsadmin() || (AppContext.getUsername().equals(bug.getAssignuser()))
                || (AppContext.getUsername().equals(bug.getLogby())))
                && CurrentProjectVariables.canWrite(ProjectRolePermissionCollections.BUGS));
    }

    btnRelate.addClickListener(new Button.ClickListener() {
        private static final long serialVersionUID = 1L;

        @Override
        public void buttonClick(com.vaadin.ui.Button.ClickEvent event) {
            if (!itemField.getValue().toString().trim().equals("") && relatedBean != null
                    && !relatedBean.getSummary().equals(bug.getSummary())) {
                SimpleRelatedBug relatedBug = new SimpleRelatedBug();
                relatedBug.setBugid(bug.getId());
                relatedBug.setRelatedid(relatedBean.getId());
                relatedBug.setRelatetype((String) comboRelation.getValue());
                relatedBug.setComment(txtComment.getValue().toString());
                relatedBugService.saveWithSession(relatedBug, AppContext.getUsername());

                SimpleRelatedBug oppositeRelation = new SimpleRelatedBug();
                oppositeRelation.setBugid(relatedBean.getId());
                oppositeRelation.setRelatedid(bug.getId());
                oppositeRelation.setComment(txtComment.getValue().toString());

                if (comboRelation.getValue().toString().equals(BugRelationConstants.PARENT)) {
                    oppositeRelation.setRelatetype(BugRelationConstants.CHILD);
                } else if (comboRelation.getValue().toString().equals(BugRelationConstants.CHILD)) {
                    oppositeRelation.setRelatetype(BugRelationConstants.PARENT);
                } else if (comboRelation.getValue().toString().equals(BugRelationConstants.RELATED)) {
                    oppositeRelation.setRelatetype(BugRelationConstants.RELATED);
                } else if (comboRelation.getValue().toString().equals(BugRelationConstants.BEFORE)) {
                    oppositeRelation.setRelatetype(BugRelationConstants.AFTER);
                } else if (comboRelation.getValue().toString().equals(BugRelationConstants.AFTER)) {
                    oppositeRelation.setRelatetype(BugRelationConstants.BEFORE);
                } else if (comboRelation.getValue().toString().equals(BugRelationConstants.DUPLICATED)) {
                    oppositeRelation.setRelatetype(BugRelationConstants.DUPLICATED);
                    BugService bugService = ApplicationContextUtil.getSpringBean(BugService.class);
                    bug.setStatus(BugStatus.Resolved.name());
                    bug.setResolution(BugResolution.Duplicate.name());
                    bugService.updateWithSession(bug, AppContext.getUsername());
                }
                relatedBugService.saveWithSession(oppositeRelation, AppContext.getUsername());

                setCriteria();

                setItemFieldValue("");
                txtComment.setValue("");
                relatedBean = null;
            }
        }
    });
    layoutAdd.addComponent(btnRelate);
    layoutAdd.setComponentAlignment(btnRelate, Alignment.MIDDLE_LEFT);

    Label lbInstruction = new Label("<strong>Relate to an existing ticket</strong>", ContentMode.HTML);
    mainLayout.addComponent(lbInstruction);

    mainLayout.addComponent(layoutAdd);

    HorizontalLayout layoutComment = new HorizontalLayout();
    layoutComment.setSpacing(true);
    Label lbComment = new Label("Comment:");
    lbComment.setWidth("70px");
    layoutComment.addComponent(lbComment);
    layoutComment.setComponentAlignment(lbComment, Alignment.TOP_LEFT);
    txtComment = new RichTextArea();
    txtComment.setHeight("130px");
    txtComment.setWidth("565px");
    layoutComment.addComponent(txtComment);
    layoutComment.setComponentAlignment(txtComment, Alignment.MIDDLE_LEFT);
    mainLayout.addComponent(layoutComment);

    tableItem = new DefaultPagedBeanTable<RelatedBugService, BugRelatedSearchCriteria, SimpleRelatedBug>(
            ApplicationContextUtil.getSpringBean(RelatedBugService.class), SimpleRelatedBug.class,
            Arrays.asList(
                    new TableViewField(BugI18nEnum.RELATED_BUG_NAME, "bugName",
                            UIConstants.TABLE_EX_LABEL_WIDTH),
                    new TableViewField(BugI18nEnum.RELATED_BUG_TYPE, "relatetype",
                            UIConstants.TABLE_S_LABEL_WIDTH),
                    new TableViewField(BugI18nEnum.RELATED_BUG_COMMENT, "comment",
                            UIConstants.TABLE_EX_LABEL_WIDTH),
                    new TableViewField(null, "id", UIConstants.TABLE_CONTROL_WIDTH)));

    tableItem.addGeneratedColumn("bugName", new Table.ColumnGenerator() {
        private static final long serialVersionUID = 1L;

        @Override
        public com.vaadin.ui.Component generateCell(Table source, final Object itemId, Object columnId) {
            final SimpleRelatedBug relatedItem = tableItem.getBeanByIndex(itemId);
            String bugname = "[%s-%s] %s";
            bugname = String.format(bugname, CurrentProjectVariables.getProject().getShortname(),
                    relatedItem.getRelatedid(), relatedItem.getBugName());

            BugService bugService = ApplicationContextUtil.getSpringBean(BugService.class);
            final SimpleBug bug = bugService.findById(relatedItem.getRelatedid(), AppContext.getAccountId());

            LabelLink b = new LabelLink(bugname,
                    ProjectLinkBuilder.generateBugPreviewFullLink(bug.getBugkey(), bug.getProjectShortName()));

            if (StringUtils.isNotBlank(bug.getPriority())) {
                String iconPriority = ProjectResources.getIconResourceLink12ByBugPriority(bug.getPriority());

                b.setIconLink(iconPriority);
            }

            if (BugStatus.Verified.name().equals(bug.getStatus())) {
                b.addStyleName(UIConstants.LINK_COMPLETED);
            } else if (bug.getDuedate() != null
                    && (bug.getDuedate().before(new GregorianCalendar().getTime()))) {
                b.addStyleName(UIConstants.LINK_OVERDUE);
            }
            b.setWidth("100%");
            return b;

        }
    });

    tableItem.addGeneratedColumn("id", new ColumnGenerator() {
        private static final long serialVersionUID = 1L;

        @Override
        public Object generateCell(Table source, Object itemId, Object columnId) {
            final SimpleRelatedBug relatedItem = tableItem.getBeanByIndex(itemId);

            Button deleteBtn = new Button(null, new Button.ClickListener() {
                private static final long serialVersionUID = 1L;

                @Override
                public void buttonClick(com.vaadin.ui.Button.ClickEvent event) {
                    BugRelatedSearchCriteria relateBugIdCriteria = new BugRelatedSearchCriteria();
                    relateBugIdCriteria.setBugId(new NumberSearchField(relatedItem.getBugid()));
                    relateBugIdCriteria.setRelatedId(new NumberSearchField(relatedItem.getRelatedid()));

                    relatedBugService.removeByCriteria(relateBugIdCriteria, AppContext.getAccountId());

                    BugRelatedSearchCriteria relateIdCriteria = new BugRelatedSearchCriteria();
                    relateIdCriteria.setBugId(new NumberSearchField(relatedItem.getRelatedid()));
                    relateIdCriteria.setRelatedId(new NumberSearchField(relatedItem.getBugid()));

                    relatedBugService.removeByCriteria(relateIdCriteria, AppContext.getAccountId());

                    BugRelatedField.this.setCriteria();
                }
            });
            deleteBtn.setStyleName("link");
            deleteBtn.setIcon(MyCollabResource.newResource("icons/16/delete.png"));
            relatedItem.setExtraData(deleteBtn);

            ProjectMemberService memberService = ApplicationContextUtil
                    .getSpringBean(ProjectMemberService.class);
            SimpleProjectMember member = memberService.findMemberByUsername(AppContext.getUsername(),
                    CurrentProjectVariables.getProjectId(), AppContext.getAccountId());

            if (member != null) {
                deleteBtn.setEnabled(
                        member.getIsadmin() || (AppContext.getUsername().equals(bug.getAssignuser()))
                                || (AppContext.getUsername().equals(bug.getLogby())));
            }
            return deleteBtn;
        }
    });

    mainLayout.addComponent(tableItem);

    setCriteria();

    this.setCompositionRoot(mainLayout);
}

From source file:com.esofthead.mycollab.module.project.view.bug.BugSearchPanel.java

License:Open Source License

private ComponentContainer constructHeader() {
    Label headerText = new ProjectViewHeader(ProjectTypeConstants.BUG,
            AppContext.getMessage(BugI18nEnum.VIEW_LIST_TITLE));

    final Button createBtn = new Button(AppContext.getMessage(BugI18nEnum.BUTTON_NEW_BUG),
            new Button.ClickListener() {
                private static final long serialVersionUID = 1L;

                @Override//from w  ww  .  j a v a2  s. c  o  m
                public void buttonClick(final ClickEvent event) {
                    EventBusFactory.getInstance().post(new BugEvent.GotoAdd(this, null));
                }
            });
    createBtn.setStyleName(UIConstants.THEME_GREEN_LINK);
    createBtn.setIcon(FontAwesome.PLUS);
    createBtn.setEnabled(CurrentProjectVariables.canWrite(ProjectRolePermissionCollections.BUGS));

    headerText.setStyleName(UIConstants.HEADER_TEXT);

    rightComponent = new MHorizontalLayout();

    MHorizontalLayout header = new MHorizontalLayout().withStyleName(UIConstants.HEADER_VIEW).withWidth("100%")
            .withSpacing(true).withMargin(new MarginInfo(true, false, true, false));

    header.with(headerText, createBtn, rightComponent).withAlign(headerText, Alignment.MIDDLE_LEFT)
            .withAlign(createBtn, Alignment.MIDDLE_RIGHT).withAlign(rightComponent, Alignment.MIDDLE_RIGHT)
            .expand(headerText);

    return header;
}

From source file:com.esofthead.mycollab.module.project.view.bug.BugSimpleSearchPanel.java

License:Open Source License

private void createBasicSearchLayout() {
    layoutSearchPane = new GridLayout(5, 3);
    layoutSearchPane.setSpacing(true);//from   w  w  w.j a v a  2  s. c om

    addTextFieldSearch();

    final CheckBox chkIsOpenBug = new CheckBox("Only Open Bugs");
    layoutSearchPane.addComponent(chkIsOpenBug, 2, 0);
    layoutSearchPane.setComponentAlignment(chkIsOpenBug, Alignment.MIDDLE_CENTER);

    Button searchBtn = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_SEARCH));
    searchBtn.setStyleName(UIConstants.THEME_GREEN_LINK);
    searchBtn.setIcon(FontAwesome.SEARCH);
    searchBtn.addClickListener(new Button.ClickListener() {
        @Override
        public void buttonClick(ClickEvent event) {
            searchCriteria = new BugSearchCriteria();
            searchCriteria.setProjectId(
                    new NumberSearchField(SearchField.AND, CurrentProjectVariables.getProject().getId()));
            searchCriteria.setSummary(new StringSearchField(textValueField.getValue().trim()));

            if (chkIsOpenBug.getValue()) {
                searchCriteria.setStatuses(new SetSearchField<>(SearchField.AND, new String[] {
                        BugStatus.InProgress.name(), BugStatus.Open.name(), BugStatus.ReOpened.name() }));
            }

            BugSimpleSearchPanel.this.notifySearchHandler(searchCriteria);
        }
    });
    layoutSearchPane.addComponent(searchBtn, 3, 0);
    layoutSearchPane.setComponentAlignment(searchBtn, Alignment.MIDDLE_CENTER);

    Button clearBtn = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_CLEAR));
    clearBtn.setStyleName(UIConstants.THEME_GRAY_LINK);
    clearBtn.addClickListener(new Button.ClickListener() {
        @Override
        public void buttonClick(ClickEvent event) {
            textValueField.setValue("");
        }
    });

    layoutSearchPane.addComponent(clearBtn, 4, 0);
    layoutSearchPane.setComponentAlignment(clearBtn, Alignment.MIDDLE_CENTER);

    this.setCompositionRoot(layoutSearchPane);
}

From source file:com.esofthead.mycollab.module.project.view.bug.ComponentSearchPanel.java

License:Open Source License

private HorizontalLayout createSearchTopPanel() {
    final MHorizontalLayout layout = new MHorizontalLayout().withWidth("100%").withSpacing(true)
            .withStyleName(UIConstants.HEADER_VIEW).withMargin(new MarginInfo(true, false, true, false));

    final Label componenttitle = new ProjectViewHeader(ProjectTypeConstants.BUG_COMPONENT,
            AppContext.getMessage(ComponentI18nEnum.VIEW_LIST_TITLE));
    componenttitle.setStyleName(UIConstants.HEADER_TEXT);

    layout.with(componenttitle).withAlign(componenttitle, Alignment.MIDDLE_LEFT).expand(componenttitle);

    final Button createBtn = new Button(AppContext.getMessage(BugI18nEnum.BUTTON_NEW_COMPONENT),
            new Button.ClickListener() {
                private static final long serialVersionUID = 1L;

                @Override/*from w  w w .  j  a v  a 2s  .c o m*/
                public void buttonClick(final Button.ClickEvent event) {
                    EventBusFactory.getInstance().post(new BugComponentEvent.GotoAdd(this, null));
                }
            });
    createBtn.setEnabled(CurrentProjectVariables.canWrite(ProjectRolePermissionCollections.COMPONENTS));
    createBtn.setStyleName(UIConstants.THEME_GREEN_LINK);
    createBtn.setIcon(FontAwesome.PLUS);

    layout.with(createBtn).withAlign(createBtn, Alignment.MIDDLE_RIGHT);

    return layout;
}

From source file:com.esofthead.mycollab.module.project.view.bug.VersionSearchPanel.java

License:Open Source License

private HorizontalLayout createSearchTopPanel() {
    final MHorizontalLayout layout = new MHorizontalLayout().withStyleName(UIConstants.HEADER_VIEW)
            .withWidth("100%").withSpacing(true).withMargin(new MarginInfo(true, false, true, false));

    final Label versionTitle = new ProjectViewHeader(ProjectTypeConstants.BUG_VERSION,
            AppContext.getMessage(VersionI18nEnum.VIEW_LIST_TITLE));
    versionTitle.setStyleName(UIConstants.HEADER_TEXT);
    layout.with(versionTitle).withAlign(versionTitle, Alignment.MIDDLE_LEFT).expand(versionTitle);

    final Button createBtn = new Button(AppContext.getMessage(BugI18nEnum.BUTTON_NEW_VERSION),
            new Button.ClickListener() {
                private static final long serialVersionUID = 1L;

                @Override//from  w w w. ja va2  s  . com
                public void buttonClick(final Button.ClickEvent event) {
                    EventBusFactory.getInstance().post(new BugVersionEvent.GotoAdd(this, null));
                }
            });
    createBtn.setEnabled(CurrentProjectVariables.canWrite(ProjectRolePermissionCollections.VERSIONS));
    createBtn.setStyleName(UIConstants.THEME_GREEN_LINK);
    createBtn.setIcon(FontAwesome.PLUS);

    layout.with(createBtn).withAlign(createBtn, Alignment.MIDDLE_LEFT);

    return layout;
}

From source file:com.esofthead.mycollab.module.project.view.FollowingTicketViewImpl.java

License:Open Source License

public FollowingTicketViewImpl() {
    this.setWidth("100%");

    final MVerticalLayout headerWrapper = new MVerticalLayout().withSpacing(false).withMargin(false)
            .withWidth("100%").withStyleName("projectfeed-hdr-wrapper");

    final MHorizontalLayout header = new MHorizontalLayout().withMargin(false).withWidth("100%");

    final Label layoutHeader = new Label(FontAwesome.EYE.getHtml() + " My Following Tickets", ContentMode.HTML);
    layoutHeader.addStyleName("h2");
    header.with(layoutHeader).withAlign(layoutHeader, Alignment.MIDDLE_LEFT).expand(layoutHeader);

    headerWrapper.addComponent(header);/*from w w w  .j  a v  a  2 s .c o m*/
    this.addComponent(headerWrapper);

    MHorizontalLayout controlBtns = new MHorizontalLayout().withSpacing(false)
            .withMargin(new MarginInfo(true, false, true, false)).withWidth("100%");

    final MVerticalLayout contentWrapper = new MVerticalLayout().withSpacing(false).withMargin(false)
            .withWidth("100%");
    contentWrapper.addStyleName("content-wrapper");

    contentWrapper.addComponent(controlBtns);
    this.addComponent(contentWrapper);

    final Button backBtn = new Button(AppContext.getMessage(FollowerI18nEnum.BUTTON_BACK_TO_WORKBOARD));
    backBtn.addClickListener(new Button.ClickListener() {
        private static final long serialVersionUID = 1L;

        @Override
        public void buttonClick(final ClickEvent event) {
            EventBusFactory.getInstance()
                    .post(new ShellEvent.GotoProjectModule(FollowingTicketViewImpl.this, null));
        }
    });

    backBtn.addStyleName(UIConstants.THEME_GREEN_LINK);
    backBtn.setIcon(FontAwesome.ARROW_LEFT);

    controlBtns.addComponent(backBtn);
    controlBtns.setExpandRatio(backBtn, 1.0f);

    Button exportBtn = new Button("Export", new Button.ClickListener() {
        private static final long serialVersionUID = 1L;

        @Override
        public void buttonClick(ClickEvent event) {
            exportButtonControl.setPopupVisible(true);
        }
    });
    exportButtonControl = new SplitButton(exportBtn);
    exportButtonControl.setWidthUndefined();
    exportButtonControl.addStyleName(UIConstants.THEME_GRAY_LINK);
    exportButtonControl.setIcon(FontAwesome.EXTERNAL_LINK);

    VerticalLayout popupButtonsControl = new VerticalLayout();
    exportButtonControl.setContent(popupButtonsControl);

    Button exportPdfBtn = new Button("Pdf");
    FileDownloader pdfDownloader = new FileDownloader(constructStreamResource(ReportExportType.PDF));
    pdfDownloader.extend(exportPdfBtn);
    exportPdfBtn.setIcon(FontAwesome.FILE_PDF_O);
    exportPdfBtn.setStyleName("link");
    popupButtonsControl.addComponent(exportPdfBtn);

    Button exportExcelBtn = new Button("Excel");
    FileDownloader excelDownloader = new FileDownloader(constructStreamResource(ReportExportType.EXCEL));
    excelDownloader.extend(exportExcelBtn);
    exportExcelBtn.setIcon(FontAwesome.FILE_EXCEL_O);
    exportExcelBtn.setStyleName("link");
    popupButtonsControl.addComponent(exportExcelBtn);

    controlBtns.addComponent(exportButtonControl);

    searchPanel = new FollowingTicketSearchPanel();
    contentWrapper.addComponent(searchPanel);

    this.ticketTable = new FollowingTicketTableDisplay();
    this.ticketTable.addStyleName("full-border-table");
    this.ticketTable.setMargin(new MarginInfo(true, false, false, false));
    contentWrapper.addComponent(this.ticketTable);
}

From source file:com.esofthead.mycollab.module.project.view.kanban.AddNewColumnWindow.java

License:Open Source License

public AddNewColumnWindow(final IKanbanView kanbanView, final String type, final String fieldGroup) {
    super(AppContext.getMessage(TaskI18nEnum.ACTION_NEW_COLUMN));
    this.setWidth("800px");
    this.setModal(true);
    this.setResizable(false);
    this.center();
    MVerticalLayout layout = new MVerticalLayout().withMargin(new MarginInfo(false, false, true, false));
    GridFormLayoutHelper gridFormLayoutHelper = GridFormLayoutHelper.defaultFormLayoutHelper(1, 4);
    this.setContent(layout);

    final TextField stageField = new TextField();
    final CheckBox defaultProject = new CheckBox();
    defaultProject.setEnabled(AppContext.canBeYes(RolePermissionCollections.GLOBAL_PROJECT_SETTINGS));
    final ColorPicker colorPicker = new ColorPicker("", new com.vaadin.shared.ui.colorpicker.Color(
            DEFAULT_COLOR.getRed(), DEFAULT_COLOR.getGreen(), DEFAULT_COLOR.getBlue()));
    final TextArea description = new TextArea();

    gridFormLayoutHelper.addComponent(stageField, AppContext.getMessage(GenericI18Enum.FORM_NAME), 0, 0);
    gridFormLayoutHelper.addComponent(defaultProject,
            AppContext.getMessage(TaskI18nEnum.FORM_COLUMN_DEFAULT_FOR_NEW_PROJECT), 0, 1);
    gridFormLayoutHelper.addComponent(colorPicker, AppContext.getMessage(TaskI18nEnum.FORM_COLUMN_COLOR), 0, 2);
    gridFormLayoutHelper.addComponent(description, AppContext.getMessage(GenericI18Enum.FORM_DESCRIPTION), 0,
            3);//w w w .j a  v a 2s. c om

    Button saveBtn = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_SAVE), new Button.ClickListener() {
        @Override
        public void buttonClick(Button.ClickEvent clickEvent) {
            OptionVal optionVal = new OptionVal();
            optionVal.setCreatedtime(new GregorianCalendar().getTime());
            optionVal.setCreateduser(AppContext.getUsername());
            optionVal.setDescription(description.getValue());
            com.vaadin.shared.ui.colorpicker.Color color = colorPicker.getColor();
            String cssColor = color.getCSS();
            if (cssColor.startsWith("#")) {
                cssColor = cssColor.substring(1);
            }
            optionVal.setColor(cssColor);
            if (defaultProject.getValue()) {
                optionVal.setIsdefault(true);
            } else {
                optionVal.setIsdefault(false);
                optionVal.setExtraid(CurrentProjectVariables.getProjectId());
            }
            optionVal.setSaccountid(AppContext.getAccountId());
            optionVal.setType(type);
            optionVal.setTypeval(stageField.getValue());
            optionVal.setFieldgroup(fieldGroup);
            OptionValService optionService = AppContextUtil.getSpringBean(OptionValService.class);
            int optionValId = optionService.saveWithSession(optionVal, AppContext.getUsername());

            if (optionVal.getIsdefault()) {
                optionVal.setId(null);
                optionVal.setIsdefault(false);
                optionVal.setRefoption(optionValId);
                optionVal.setExtraid(CurrentProjectVariables.getProjectId());
                optionService.saveWithSession(optionVal, AppContext.getUsername());
            }
            kanbanView.addColumn(optionVal);
            close();
        }
    });
    saveBtn.setIcon(FontAwesome.SAVE);
    saveBtn.setStyleName(UIConstants.BUTTON_ACTION);

    Button cancelBtn = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_CANCEL),
            new Button.ClickListener() {
                @Override
                public void buttonClick(Button.ClickEvent clickEvent) {
                    close();
                }
            });
    cancelBtn.setStyleName(UIConstants.BUTTON_OPTION);

    MHorizontalLayout controls = new MHorizontalLayout().with(cancelBtn, saveBtn)
            .withMargin(new MarginInfo(false, true, false, false));
    layout.with(gridFormLayoutHelper.getLayout(), controls).withAlign(controls, Alignment.BOTTOM_RIGHT);
}

From source file:com.esofthead.mycollab.module.project.view.milestone.MilestoneAddWindow.java

License:Open Source License

public MilestoneAddWindow(final SimpleMilestone milestone) {
    if (milestone.getId() == null) {
        setCaption("New milestone");
    } else {/*w  w w  . ja va2 s . co m*/
        setCaption("Edit milestone");
    }
    this.setWidth("800px");
    this.setModal(true);
    this.setResizable(false);
    VerticalLayout content = new VerticalLayout();
    this.setContent(content);
    final AdvancedEditBeanForm<SimpleMilestone> editForm = new AdvancedEditBeanForm<>();
    content.addComponent(editForm);
    editForm.setFormLayoutFactory(new DefaultDynaFormLayout(ProjectTypeConstants.MILESTONE,
            MilestoneDefaultFormLayoutFactory.getForm(), Milestone.Field.id.name()));
    final MilestoneEditFormFieldFactory milestoneEditFormFieldFactory = new MilestoneEditFormFieldFactory(
            editForm);
    editForm.setBeanFormFieldFactory(milestoneEditFormFieldFactory);
    editForm.setBean(milestone);

    MHorizontalLayout buttonControls = new MHorizontalLayout()
            .withMargin(new MarginInfo(true, true, true, false));
    buttonControls.setDefaultComponentAlignment(Alignment.MIDDLE_RIGHT);

    Button updateAllBtn = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_UPDATE_OTHER_FIELDS),
            new Button.ClickListener() {
                @Override
                public void buttonClick(Button.ClickEvent clickEvent) {
                    EventBusFactory.getInstance()
                            .post(new MilestoneEvent.GotoAdd(MilestoneAddWindow.this, milestone));
                    close();
                }
            });
    updateAllBtn.addStyleName(UIConstants.BUTTON_LINK);

    Button saveBtn = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_SAVE), new Button.ClickListener() {
        @Override
        public void buttonClick(Button.ClickEvent clickEvent) {
            if (editForm.validateForm()) {
                MilestoneService milestoneService = AppContextUtil.getSpringBean(MilestoneService.class);
                Integer milestoneId;
                if (milestone.getId() == null) {
                    milestoneId = milestoneService.saveWithSession(milestone, AppContext.getUsername());
                } else {
                    milestoneService.updateWithSession(milestone, AppContext.getUsername());
                    milestoneId = milestone.getId();
                }

                AttachmentUploadField uploadField = milestoneEditFormFieldFactory.getAttachmentUploadField();
                String attachPath = AttachmentUtils.getProjectEntityAttachmentPath(AppContext.getAccountId(),
                        milestone.getProjectid(), ProjectTypeConstants.MILESTONE, "" + milestone.getId());
                uploadField.saveContentsToRepo(attachPath);

                EventBusFactory.getInstance()
                        .post(new MilestoneEvent.NewMilestoneAdded(MilestoneAddWindow.this, milestoneId));
                EventBusFactory.getInstance().post(new AssignmentEvent.NewAssignmentAdd(MilestoneAddWindow.this,
                        ProjectTypeConstants.MILESTONE, milestoneId));
                close();
            }
        }
    });
    saveBtn.setIcon(FontAwesome.SAVE);
    saveBtn.setStyleName(UIConstants.BUTTON_ACTION);
    saveBtn.setClickShortcut(ShortcutAction.KeyCode.ENTER);

    Button cancelBtn = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_CANCEL),
            new Button.ClickListener() {
                @Override
                public void buttonClick(Button.ClickEvent clickEvent) {
                    close();
                }
            });
    cancelBtn.setStyleName(UIConstants.BUTTON_OPTION);
    buttonControls.with(updateAllBtn, cancelBtn, saveBtn);
    content.addComponent(buttonControls);
    content.setComponentAlignment(buttonControls, Alignment.MIDDLE_RIGHT);
}

From source file:com.esofthead.mycollab.module.project.view.milestone.MilestoneListViewImpl.java

License:Open Source License

private ComponentContainer constructMilestoneBox(final SimpleMilestone milestone) {
    final CssLayout layout = new CssLayout();
    layout.addStyleName(UIConstants.MILESTONE_BOX);
    layout.setWidth("100%");

    final LabelLink milestoneLink = new LabelLink(milestone.getName(),
            ProjectLinkBuilder.generateMilestonePreviewFullLink(milestone.getProjectid(), milestone.getId()));
    milestoneLink.setStyleName("link");
    milestoneLink.addStyleName("bold");
    milestoneLink.addStyleName(UIConstants.WORD_WRAP);
    milestoneLink.addStyleName("milestone-name");
    milestoneLink.setWidth("100%");

    MHorizontalLayout milestoneHeader = new MHorizontalLayout().withWidth("100%").with(milestoneLink)
            .expand(milestoneLink);/*w  w  w .  j ava2 s  .  c o  m*/

    PopupButton taskSettingPopupBtn = new PopupButton();
    taskSettingPopupBtn.setWidth("20px");
    MVerticalLayout filterBtnLayout = new MVerticalLayout().withWidth("100px");

    Button editButton = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_EDIT),
            new Button.ClickListener() {
                private static final long serialVersionUID = 1L;

                @Override
                public void buttonClick(ClickEvent event) {
                    EventBusFactory.getInstance()
                            .post(new MilestoneEvent.GotoEdit(MilestoneListViewImpl.this, milestone));
                }
            });
    editButton.setEnabled(CurrentProjectVariables.canWrite(ProjectRolePermissionCollections.MILESTONES));
    editButton.setStyleName("link");
    filterBtnLayout.addComponent(editButton);

    Button deleteBtn = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_DELETE),
            new Button.ClickListener() {
                private static final long serialVersionUID = 1L;

                @Override
                public void buttonClick(ClickEvent event) {
                    ConfirmDialogExt.show(UI.getCurrent(),
                            AppContext.getMessage(GenericI18Enum.DIALOG_DELETE_TITLE,
                                    SiteConfiguration.getSiteName()),
                            AppContext.getMessage(GenericI18Enum.DIALOG_DELETE_SINGLE_ITEM_MESSAGE),
                            AppContext.getMessage(GenericI18Enum.BUTTON_YES),
                            AppContext.getMessage(GenericI18Enum.BUTTON_NO), new ConfirmDialog.Listener() {
                                private static final long serialVersionUID = 1L;

                                @Override
                                public void onClose(ConfirmDialog dialog) {
                                    if (dialog.isConfirmed()) {
                                        MilestoneService projectTaskService = ApplicationContextUtil
                                                .getSpringBean(MilestoneService.class);
                                        projectTaskService.removeWithSession(milestone.getId(),
                                                AppContext.getUsername(), AppContext.getAccountId());
                                        milestones.remove(milestone);
                                        displayMilestones(milestones);
                                    }
                                }
                            });
                }
            });
    deleteBtn.setStyleName("link");
    deleteBtn.setEnabled(CurrentProjectVariables.canAccess(ProjectRolePermissionCollections.MILESTONES));
    filterBtnLayout.addComponent(deleteBtn);

    taskSettingPopupBtn.setIcon(FontAwesome.COG);
    taskSettingPopupBtn.addStyleName(UIConstants.BUTTON_ICON_ONLY);
    taskSettingPopupBtn.setContent(filterBtnLayout);

    milestoneHeader.addComponent(taskSettingPopupBtn);
    layout.addComponent(milestoneHeader);

    MHorizontalLayout spacing = new MHorizontalLayout().withHeight("8px").withWidth("100%");
    layout.addComponent(spacing);

    final GridFormLayoutHelper layoutHelper = new GridFormLayoutHelper(1, 5, "100%", "80px");
    layoutHelper.addComponent(
            new Label(AppContext.formatDate(milestone.getStartdate(),
                    AppContext.getMessage(GenericI18Enum.FORM_EMPTY))),
            AppContext.getMessage(MilestoneI18nEnum.FORM_START_DATE_FIELD), 0, 0, Alignment.MIDDLE_LEFT);
    layoutHelper.addComponent(
            new Label(AppContext.formatDate(milestone.getEnddate(),
                    AppContext.getMessage(GenericI18Enum.FORM_EMPTY))),
            AppContext.getMessage(MilestoneI18nEnum.FORM_END_DATE_FIELD), 0, 1, Alignment.MIDDLE_LEFT);

    CssLayout linkWrapper = new CssLayout();
    linkWrapper.setWidth("100%");
    linkWrapper.addComponent(new ProjectUserLink(milestone.getOwner(), milestone.getOwnerAvatarId(),
            milestone.getOwnerFullName(), false, true));
    layoutHelper.addComponent(linkWrapper, AppContext.getMessage(GenericI18Enum.FORM_ASSIGNEE), 0, 2,
            Alignment.MIDDLE_LEFT);

    final ProgressBarIndicator progressTask = new ProgressBarIndicator(milestone.getNumTasks(),
            milestone.getNumOpenTasks());
    progressTask.setWidth("100%");

    layoutHelper.addComponent(progressTask, AppContext.getMessage(MilestoneI18nEnum.FORM_TASK_FIELD), 0, 3,
            Alignment.MIDDLE_LEFT);

    final ProgressBarIndicator progressBug = new ProgressBarIndicator(milestone.getNumBugs(),
            milestone.getNumOpenBugs());
    progressBug.setWidth("100%");

    layoutHelper.addComponent(progressBug, AppContext.getMessage(MilestoneI18nEnum.FORM_BUG_FIELD), 0, 4,
            Alignment.MIDDLE_LEFT);
    final GridLayout milestoneInfoLayout = layoutHelper.getLayout();
    milestoneInfoLayout.setWidth("100%");
    milestoneInfoLayout.setMargin(false);
    milestoneInfoLayout.setSpacing(true);
    layout.addComponent(milestoneInfoLayout);

    return layout;
}

From source file:com.esofthead.mycollab.module.project.view.page.PageListViewImpl.java

License:Open Source License

private void initHeader() {
    Label headerText = new ProjectViewHeader(ProjectTypeConstants.PAGE,
            AppContext.getMessage(Page18InEnum.VIEW_LIST_TITLE));

    headerLayout.with(headerText).alignAll(Alignment.MIDDLE_LEFT).expand(headerText);

    Label sortLbl = new Label(AppContext.getMessage(Page18InEnum.OPT_SORT_LABEL));
    sortLbl.setSizeUndefined();/*w w  w.j a  v  a2  s .  c o  m*/
    headerLayout.with(sortLbl).withAlign(sortLbl, Alignment.MIDDLE_RIGHT);

    ToggleButtonGroup sortGroup = new ToggleButtonGroup();
    headerLayout.with(sortGroup).withAlign(sortGroup, Alignment.MIDDLE_RIGHT);

    SortButton sortDateBtn = new SortButton(AppContext.getMessage(Page18InEnum.OPT_SORT_BY_DATE),
            new Button.ClickListener() {

                private static final long serialVersionUID = -6987503077975316907L;

                @Override
                public void buttonClick(Button.ClickEvent event) {
                    dateSourceAscend = !dateSourceAscend;
                    if (dateSourceAscend) {
                        Collections.sort(resources, Ordering.from(dateSort));
                    } else {
                        Collections.sort(resources, Ordering.from(dateSort).reverse());
                    }
                    displayPages(resources);

                }
            });
    sortGroup.addButton(sortDateBtn);

    SortButton sortNameBtn = new SortButton(AppContext.getMessage(Page18InEnum.OPT_SORT_BY_NAME),
            new Button.ClickListener() {

                private static final long serialVersionUID = 2847554379518387585L;

                @Override
                public void buttonClick(Button.ClickEvent event) {
                    nameSortAscend = !nameSortAscend;
                    if (nameSortAscend) {
                        Collections.sort(resources, Ordering.from(nameSort));
                    } else {
                        Collections.sort(resources, Ordering.from(nameSort).reverse());
                    }
                    displayPages(resources);

                }
            });
    sortGroup.addButton(sortNameBtn);

    SortButton sortKindBtn = new SortButton(AppContext.getMessage(Page18InEnum.OPT_SORT_BY_KIND),
            new Button.ClickListener() {

                private static final long serialVersionUID = 2230933690084074590L;

                @Override
                public void buttonClick(Button.ClickEvent event) {
                    kindSortAscend = !kindSortAscend;
                    if (kindSortAscend) {
                        Collections.sort(resources, Ordering.from(kindSort));
                    } else {
                        Collections.sort(resources, Ordering.from(kindSort).reverse());
                    }
                    displayPages(resources);

                }
            });
    sortGroup.addButton(sortKindBtn);

    sortGroup.setDefaultButton(sortDateBtn);

    final Button newGroupBtn = new Button(AppContext.getMessage(Page18InEnum.BUTTON_NEW_GROUP),
            new Button.ClickListener() {
                private static final long serialVersionUID = 1L;

                @Override
                public void buttonClick(final Button.ClickEvent event) {
                    UI.getCurrent().addWindow(new PageGroupWindow());
                }
            });
    newGroupBtn.setStyleName(UIConstants.THEME_GREEN_LINK);
    newGroupBtn.setIcon(FontAwesome.PLUS);
    newGroupBtn.setEnabled(CurrentProjectVariables.canWrite(ProjectRolePermissionCollections.PAGES));
    headerLayout.with(newGroupBtn).withAlign(newGroupBtn, Alignment.MIDDLE_RIGHT);

    final Button newPageBtn = new Button(AppContext.getMessage(Page18InEnum.BUTTON_NEW_PAGE),
            new Button.ClickListener() {
                private static final long serialVersionUID = 1L;

                @Override
                public void buttonClick(final Button.ClickEvent event) {
                    EventBusFactory.getInstance().post(new PageEvent.GotoAdd(this, null));
                }
            });
    newPageBtn.setStyleName(UIConstants.THEME_GREEN_LINK);
    newPageBtn.setIcon(FontAwesome.PLUS);
    newPageBtn.setEnabled(CurrentProjectVariables.canWrite(ProjectRolePermissionCollections.PAGES));

    headerText.setStyleName(UIConstants.HEADER_TEXT);
    headerLayout.with(newPageBtn).withAlign(newPageBtn, Alignment.MIDDLE_RIGHT);
}