Package org.projectforge.web.wicket.flowlayout

Examples of org.projectforge.web.wicket.flowlayout.FieldsetPanel


   * @return this for chaining.
   */
  @SuppressWarnings("serial")
  protected AbstractImportForm<F, P, S> addImportFilterRadio(final GridBuilder gridBuilder)
  {
    final FieldsetPanel fs = new FieldsetPanel(gridBuilder.getPanel(), getString("filter")) {
      /**
       * @see org.apache.wicket.Component#isVisible()
       */
      @Override
      public boolean isVisible()
      {
        return storagePanel.isVisible();
      }
    };
    final DivPanel radioGroupPanel = fs.addNewRadioBoxButtonDiv();
    final RadioGroupPanel<String> radioGroup = new RadioGroupPanel<String>(radioGroupPanel.newChildId(), "filterType",
        new PropertyModel<String>(importFilter, "listType")) {
      /**
       * @see org.projectforge.web.wicket.flowlayout.RadioGroupPanel#wantOnSelectionChangedNotifications()
       */
      @Override
      protected boolean wantOnSelectionChangedNotifications()
      {
        return true;
      }
    };
    radioGroupPanel.add(radioGroup);
    fs.setLabelFor(radioGroup.getRadioGroup());
    radioGroup.add(new Model<String>("all"), getString("filter.all"));
    radioGroup.add(new Model<String>("modified"), getString("modified"));
    radioGroup.add(new Model<String>("faulty"), getString("filter.faulty"));
    return this;
  }
View Full Code Here


  {
    super.onInitialize();

    gridBuilder.newSplitPanel(GridSize.COL50);

    final FieldsetPanel fsTitle = gridBuilder.newFieldset(getString("plugins.poll.new.title"));
    final MaxLengthTextField titleField = new MaxLengthTextField(fsTitle.getTextFieldId(), new PropertyModel<String>(model.getPollDo(), "title"));
    titleField.setRequired(true);
    fsTitle.add(titleField);

    final FieldsetPanel fsLocation = gridBuilder.newFieldset(getString("plugins.poll.new.location"));
    final PFAutoCompleteMaxLengthTextField locationTextField = new PFAutoCompleteMaxLengthTextField(fsLocation.getTextFieldId(),
        new PropertyModel<String>(model.getPollDo(), "location")) {
      private static final long serialVersionUID = 2008897410054999896L;

      @Override
      protected List<String> getChoices(final String input)
      {
        return pollDao.getAutocompletion("location", input);
      }
    };
    fsLocation.add(locationTextField);

    final FieldsetPanel fsDescription = gridBuilder.newFieldset(getString("plugins.poll.new.description"));
    final MaxLengthTextArea descriptionField = new MaxLengthTextArea(fsDescription.getTextAreaId(), new PropertyModel<String>(
        model.getPollDo(), "description"));
    fsDescription.add(descriptionField);

  }
View Full Code Here

  {
    super.init();
    gridBuilder.newGridPanel();
    {
      // Number
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.projekt.nummer"));
      final MinMaxNumberField<Integer> field = new MinMaxNumberField<Integer>(InputPanel.WICKET_ID, new PropertyModel<Integer>(data,
          "nummer"), 0, 99) {
        @SuppressWarnings({ "unchecked", "rawtypes"})
        @Override
        public IConverter getConverter(final Class type)
        {
          return new IntegerConverter(2);
        }
      };
      WicketUtils.setSize(field, 2);
      fs.add(field);
    }
    {
      // Customer
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.kunde")).suppressLabelForWarning();
      kundeSelectPanel = new NewCustomerSelectPanel(fs.newChildId(),
          new PropertyModel<KundeDO>(data, "kunde"), null, parentPage, "kundeId");
      fs.add(kundeSelectPanel);
      kundeSelectPanel.init();
    }
    {
      // Internal cost (digit 2-4)
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.projekt.internKost2_4"));
      fs.add(new DivTextPanel(fs.newChildId(), "4."));
      final MinMaxNumberField<Integer> field = new MinMaxNumberField<Integer>(InputPanel.WICKET_ID, new PropertyModel<Integer>(data,
          "internKost2_4"), 0, 999) {
        @SuppressWarnings({ "unchecked", "rawtypes"})
        @Override
        public IConverter getConverter(final Class type)
        {
          return new IntegerConverter(3);
        }
      };
      WicketUtils.setSize(field, 3);
      fs.add(field);
      fs.add(new DivTextPanel(fs.newChildId(), ".##.##"));
    }
    if (Registry.instance().getKontoCache().isEmpty() == false) {
      // Show this field only if DATEV accounts does exist.
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.konto"));
      final KontoSelectPanel kontoSelectPanel = new KontoSelectPanel(fs.newChildId(), new PropertyModel<KontoDO>(data, "konto"), null,
          "kontoId");
      kontoSelectPanel.setKontoNumberRanges(AccountingConfig.getInstance().getDebitorsAccountNumberRanges()).init();
      fs.addHelpIcon(getString("fibu.projekt.konto.tooltip"));
      fs.add(kontoSelectPanel);
    }
    {
      // Name
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.projekt.name"));
      final MaxLengthTextField field = new MaxLengthTextField(InputPanel.WICKET_ID, new PropertyModel<String>(data, "name"));
      fs.add(field);
      WicketUtils.setFocus(field);
      WicketUtils.setStrong(field);
    }
    {
      // Identifier
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.projekt.identifier"));
      fs.add(new MaxLengthTextField(InputPanel.WICKET_ID, new PropertyModel<String>(data, "identifier")));
    }
    {
      // task
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("task"));
      final TaskSelectPanel taskSelectPanel = new TaskSelectPanel(fs, new PropertyModel<TaskDO>(data, "task"), parentPage, "taskId");
      fs.add(taskSelectPanel);
      taskSelectPanel.init();
    }
    {
      // DropDownChoice status
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("status"));
      final LabelValueChoiceRenderer<ProjektStatus> statusChoiceRenderer = new LabelValueChoiceRenderer<ProjektStatus>(this,
          ProjektStatus.values());
      final DropDownChoice<ProjektStatus> statusChoice = new DropDownChoice<ProjektStatus>(fs.getDropDownChoiceId(),
          new PropertyModel<ProjektStatus>(data, "status"), statusChoiceRenderer.getValues(), statusChoiceRenderer);
      statusChoice.setNullValid(false).setRequired(true);
      fs.add(statusChoice);
    }
    {
      // project manager group
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.projekt.projektManagerGroup")).suppressLabelForWarning();
      groupSelectPanel = new NewGroupSelectPanel(fs.newChildId(), new PropertyModel<GroupDO>(data,
          "projektManagerGroup"), parentPage, "projektManagerGroupId");
      fs.add(groupSelectPanel);
      groupSelectPanel.init();
    }
    {
      // description
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("description"));
      fs.add(new MaxLengthTextArea(TextAreaPanel.WICKET_ID, new PropertyModel<String>(data, "description")));
    }
    if (isNew() == true) {
      kost2Arts = kostCache.getAllKostArts();
    } else {
      kost2Arts = kostCache.getAllKost2Arts(getData().getId());
    }
    {
      // cost 2 types
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.kost2art.kost2arten")).suppressLabelForWarning();
      final ProjectEditCost2TypeTablePanel table = new ProjectEditCost2TypeTablePanel(fs.newChildId());
      fs.add(table);
      table.init(kost2Arts);
    }
  }
View Full Code Here

    this.addressCampaignId = searchFilter.getAddressCampaignId();
    this.addressCampaignValue = searchFilter.getAddressCampaignValue();
    final List<AddressCampaignDO> addressCampaignList = addressCampaignDao.getList(new AddressCampaignValueFilter());
    gridBuilder.newSplitPanel(GridSize.COL66);
    {
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("plugins.marketing.addressCampaign"));
      final LabelValueChoiceRenderer<Integer> addressCampaignRenderer = new LabelValueChoiceRenderer<Integer>();
      for (final AddressCampaignDO addressCampaign : addressCampaignList) {
        addressCampaignRenderer.addValue(addressCampaign.getId(), addressCampaign.getTitle());
      }
      final DropDownChoice<Integer> addressCampaignChoice = new DropDownChoice<Integer>(fs.getDropDownChoiceId(),
          new PropertyModel<Integer>(this, "addressCampaignId"), addressCampaignRenderer.getValues(), addressCampaignRenderer) {
        @Override
        protected void onSelectionChanged(final Integer newSelection)
        {
          for (final AddressCampaignDO addressCampaign : addressCampaignList) {
            if (addressCampaign.getId().equals(addressCampaignId) == true) {
              searchFilter.setAddressCampaign(addressCampaign);
              final String oldValue = searchFilter.getAddressCampaignValue();
              // Is oldValue given and not "-(null)-"?
              if (oldValue != null && ADDRESS_CAMPAIGN_VALUE_UNDEFINED.equals(oldValue) == false) {
                // Check whether the campaign has the former selected value or not.
                boolean found = false;
                for (final String value : addressCampaign.getValuesArray()) {
                  if (oldValue.equals(value) == true) {
                    found = true;
                    break;
                  }
                }
                if (found == false) {
                  // Not found, therefore set the value to null:
                  searchFilter.setAddressCampaignValue(null);
                  addressCampaignValueDropDownChoice.modelChanged();
                }
              }
              break;
            }
          }
          refresh();
        }

        @Override
        protected boolean wantOnSelectionChangedNotifications()
        {
          return true;
        }
      };
      fs.add(addressCampaignChoice);
    }
    {
      gridBuilder.newSplitPanel(GridSize.COL33);
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("value"));
      final LabelValueChoiceRenderer<String> choiceRenderer = getValueLabelValueChoiceRenderer();
      addressCampaignValueDropDownChoice = new DropDownChoice<String>(fs.getDropDownChoiceId(), new PropertyModel<String>(this,
          "addressCampaignValue"), choiceRenderer.getValues(), choiceRenderer) {
        @Override
        protected void onSelectionChanged(final String newSelection)
        {
          searchFilter.setAddressCampaignValue(newSelection);
          parentPage.refresh();
        }

        @Override
        protected boolean wantOnSelectionChangedNotifications()
        {
          return true;
        }

      };
      addressCampaignValueDropDownChoice.setNullValid(true);
      fs.add(addressCampaignValueDropDownChoice);
    }
    AddressListForm.addFilter(parentPage, this, gridBuilder, getSearchFilter());
  }
View Full Code Here

    super.init();
    /* GRID16 - BLOCK */
    gridBuilder.newGridPanel();
    {
      // Number range
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.kost.kostentraeger"));
      nummernkreisField = new RequiredMinMaxNumberField<Integer>(InputPanel.WICKET_ID, new PropertyModel<Integer>(data, "nummernkreis"), 0,
          9);
      if (isNew() == true) {
        WicketUtils.setFocus(nummernkreisField);
      }
      WicketUtils.setSize(nummernkreisField, 1);
      fs.add(nummernkreisField);
      fs.add(new DivTextPanel(fs.newChildId(), "."));
      bereichField = new RequiredMinMaxNumberField<Integer>(InputPanel.WICKET_ID, new PropertyModel<Integer>(data, "bereich"), 0, 999) {
        @SuppressWarnings({ "rawtypes", "unchecked"})
        @Override
        public IConverter getConverter(final Class type)
        {
          return new IntegerConverter(3);
        }
      };
      WicketUtils.setSize(bereichField, 3);
      fs.add(bereichField);
      fs.add(new DivTextPanel(fs.newChildId(), "."));
      teilbereichField = new RequiredMinMaxNumberField<Integer>(InputPanel.WICKET_ID, new PropertyModel<Integer>(data, "teilbereich"), 0,
          99) {
        @SuppressWarnings({ "rawtypes", "unchecked"})
        @Override
        public IConverter getConverter(final Class type)
        {
          return new IntegerConverter(2);
        }
      };
      WicketUtils.setSize(teilbereichField, 2);
      fs.add(teilbereichField);
      fs.add(new DivTextPanel(fs.newChildId(), "."));
      endzifferField = new RequiredMinMaxNumberField<Integer>(InputPanel.WICKET_ID, new PropertyModel<Integer>(data, "endziffer"), 0, 99) {
        @SuppressWarnings({ "rawtypes", "unchecked"})
        @Override
        public IConverter getConverter(final Class type)
        {
          return new IntegerConverter(2);
        }
      };
      endzifferField.setRequired(true);
      WicketUtils.setSize(endzifferField, 2);
      fs.add(endzifferField);
    }
    {
      // Description
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("description"));
      fs.add(new MaxLengthTextArea(TextAreaPanel.WICKET_ID, new PropertyModel<String>(data, "description")));
    }
    {
      // DropDownChoice status
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("status"));
      final LabelValueChoiceRenderer<KostentraegerStatus> statusChoiceRenderer = new LabelValueChoiceRenderer<KostentraegerStatus>(this,
          KostentraegerStatus.values());
      final DropDownChoice<KostentraegerStatus> statusChoice = new DropDownChoice<KostentraegerStatus>(fs.getDropDownChoiceId(),
          new PropertyModel<KostentraegerStatus>(data, "kostentraegerStatus"), statusChoiceRenderer.getValues(), statusChoiceRenderer);
      statusChoice.setNullValid(false);
      statusChoice.setRequired(true);
      fs.add(statusChoice);
    }
  }
View Full Code Here

    gridBuilder = newGridBuilder(this, "filter");
    if (isFilterVisible() == true) {
      {
        // Fieldset search filter
        final FieldsetPanel fs = gridBuilder.newFieldset(getString("searchFilter"));
        if (parentPage.getBaseDao().isHistorizable() == true) {
          IconPanel icon = new IconPanel(fs.newIconChildId(), IconType.PLUS_SIGN, getString("filter.extendedSearch"))
          .setOnClick("javascript:showExtendedFilter();");
          icon.setMarkupId("showExtendedFilter");
          fs.add(icon, FieldSetIconPosition.BOTTOM_LEFT);
          icon = new IconPanel(fs.newIconChildId(), IconType.MINUS_SIGN).setOnClick("javascript:hideExtendedFilter();");
          icon.setMarkupId("hideExtendedFilter");
          fs.add(icon, FieldSetIconPosition.BOTTOM_LEFT);
        }
        final TextField< ? > searchTextField = createSearchTextField();
        fs.add(searchTextField);
        fs.setLabelFor(searchTextField);
        final Model<String> modifiedSearchExpressionModel = new Model<String>() {
          @Override
          public String getObject()
          {
            return getModifiedSearchExpressionLabel(AbstractListForm.this, searchFilter.getSearchString());
          }
        };
        final DivPanel div = new DivPanel(fs.newChildId()) {
          /**
           * @see org.projectforge.web.wicket.flowlayout.DivPanel#isVisible()
           */
          @Override
          public boolean isVisible()
          {
            return StringUtils.isNotBlank(searchFilter.getSearchString()) == true;
          }
        };
        div.add(AttributeModifier.append("class", "modifiedSearchExpressionLabel"));
        fs.add(div);
        modifiedSearchExpressionLabel = new Label(div.newChildId(), modifiedSearchExpressionModel);
        modifiedSearchExpressionLabel.setEscapeModelStrings(false);
        div.add(modifiedSearchExpressionLabel);

        fs.addHelpIcon(getString("tooltip.lucene.link"), FieldSetIconPosition.TOP_RIGHT).setOnClickLocation(getRequestCycle(),
            WebConstants.DOC_LINK_HANDBUCH_LUCENE, true);
        final String helpKeyboardImageTooltip = getHelpKeyboardImageTooltip();
        if (helpKeyboardImageTooltip != null) {
          fs.addKeyboardHelpIcon(helpKeyboardImageTooltip);
        }
      }
    }
    if (parentPage.getBaseDao().isHistorizable() == true && isFilterVisible() == true) {
      addExtendedFilter();
View Full Code Here

    extendedFilter.setMarkupId("extendedFilter");
    if (searchFilter.isUseModificationFilter() == false) {
      extendedFilter.add(AttributeModifier.append("style", "display: none;"));
    }
    {
      final FieldsetPanel fieldset = gridBuilder.newFieldset(getString("search.periodOfModification"));
      fieldset.add(new HiddenInputPanel(fieldset.newChildId(), new HiddenField<Boolean>(InputPanel.WICKET_ID, new PropertyModel<Boolean>(
          searchFilter, "useModificationFilter"))).setHtmlId("useModificationFilter"));

      startDateTimePanel = new DateTimePanel(fieldset.newChildId(), new PropertyModel<Date>(searchFilter, "startTimeOfModification"),
          (DateTimePanelSettings) DateTimePanelSettings.get().withSelectProperty("startDateOfModification").withSelectPeriodMode(true),
          DatePrecision.MINUTE);
      fieldset.add(startDateTimePanel);
      fieldset.setLabelFor(startDateTimePanel);
      stopDateTimePanel = new DateTimePanel(fieldset.newChildId(), new PropertyModel<Date>(searchFilter, "stopTimeOfModification"),
          (DateTimePanelSettings) DateTimePanelSettings.get().withSelectProperty("stopDateOfModification").withSelectPeriodMode(true),
          DatePrecision.MINUTE);
      stopDateTimePanel.setRequired(false);
      fieldset.add(stopDateTimePanel);
      final HtmlCommentPanel comment = new HtmlCommentPanel(fieldset.newChildId(), new DatesAsUTCModel() {
        @Override
        public Date getStartTime()
        {
          return searchFilter.getStartTimeOfModification();
        }

        @Override
        public Date getStopTime()
        {
          return searchFilter.getStopTimeOfModification();
        }
      });
      fieldset.add(comment);
      // DropDownChoice for convenient selection of time periods.
      final LabelValueChoiceRenderer<String> timePeriodChoiceRenderer = new LabelValueChoiceRenderer<String>();
      timePeriodChoiceRenderer.addValue("lastMinute", getString("search.lastMinute"));
      timePeriodChoiceRenderer.addValue("lastMinutes:10", PFUserContext.getLocalizedMessage("search.lastMinutes", 10));
      timePeriodChoiceRenderer.addValue("lastMinutes:30", PFUserContext.getLocalizedMessage("search.lastMinutes", 30));
      timePeriodChoiceRenderer.addValue("lastHour", getString("search.lastHour"));
      timePeriodChoiceRenderer.addValue("lastHours:4", PFUserContext.getLocalizedMessage("search.lastHours", 4));
      timePeriodChoiceRenderer.addValue("today", getString("search.today"));
      timePeriodChoiceRenderer.addValue("sinceYesterday", getString("search.sinceYesterday"));
      timePeriodChoiceRenderer.addValue("lastDays:3", PFUserContext.getLocalizedMessage("search.lastDays", 3));
      timePeriodChoiceRenderer.addValue("lastDays:7", PFUserContext.getLocalizedMessage("search.lastDays", 7));
      timePeriodChoiceRenderer.addValue("lastDays:14", PFUserContext.getLocalizedMessage("search.lastDays", 14));
      timePeriodChoiceRenderer.addValue("lastDays:30", PFUserContext.getLocalizedMessage("search.lastDays", 30));
      timePeriodChoiceRenderer.addValue("lastDays:60", PFUserContext.getLocalizedMessage("search.lastDays", 60));
      timePeriodChoiceRenderer.addValue("lastDays:90", PFUserContext.getLocalizedMessage("search.lastDays", 90));
      final DropDownChoice<String> modificationSinceChoice = new DropDownChoice<String>(fieldset.getDropDownChoiceId(),
          new PropertyModel<String>(this, "modificationSince"), timePeriodChoiceRenderer.getValues(), timePeriodChoiceRenderer);
      modificationSinceChoice.setNullValid(true);
      modificationSinceChoice.setRequired(false);
      fieldset.add(modificationSinceChoice, true);
    }

    {
      gridBuilder.newSplitPanel(GridSize.COL33);
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("modifiedBy"), getString("user"));

      final UserSelectPanel userSelectPanel = new UserSelectPanel(fs.newChildId(), new Model<PFUserDO>() {
        @Override
        public PFUserDO getObject()
        {
          return userGroupCache.getUser(searchFilter.getModifiedByUserId());
        }

        @Override
        public void setObject(final PFUserDO object)
        {
          if (object == null) {
            searchFilter.setModifiedByUserId(null);
          } else {
            searchFilter.setModifiedByUserId(object.getId());
          }
        }
      }, parentPage, "modifiedByUserId");
      fs.add(userSelectPanel);
      userSelectPanel.setDefaultFormProcessing(false);
      userSelectPanel.init().withAutoSubmit(true);
    }
    gridBuilder.setCurrentLevel(0); // Go back to main row panel.
  }
View Full Code Here

    if (model.isNew() == false) {
      isModified = isModelModified();
    }

    final FieldsetPanel fsTitle = gridBuilder.newFieldset(getString("plugins.poll.new.title"));
    final TextField<String> title = new TextField<String>(fsTitle.getTextFieldId(), new PropertyModel<String>(model.getPollDo(), "title"));
    title.setEnabled(this.model.isNew());
    fsTitle.add(title);

    final FieldsetPanel fsLocation = gridBuilder.newFieldset(getString("plugins.poll.new.location")).setLabelFor(this);
    final TextField<String> location = new TextField<String>(fsLocation.getTextFieldId(),
        new PropertyModel<String>(model.getPollDo(), "location"));
    location.setEnabled(this.model.isNew());
    fsLocation.add(location);

    final FieldsetPanel fsDescription = gridBuilder.newFieldset(getString("plugins.poll.new.description"));
    final TextArea<String> description = new TextArea<String>(fsDescription.getTextAreaId(), new PropertyModel<String>(this.model.getPollDo(),
        "description"));
    description.setEnabled(this.model.isNew());
    fsDescription.add(description);

    gridBuilder.newGridPanel();

    //    if (this.model.isNew() == true) {
    final FieldsetPanel fsUsers = gridBuilder.newFieldset(getString("plugins.poll.attendee.users"));

    //    if (model.isNew() == false && isModified == false) {
    createDisabledChoices(fsUsers, model.getPollAttendeeList(), true);
    //    } else {
    //      createDisabledChoices(fsUsers, model.getCalculatedAttendeeList(), true);
    //    }
    //    } else {
    //      createEnabledChoices();
    //    }

    final FieldsetPanel fsEMails = gridBuilder.newFieldset(getString("plugins.poll.attendee.emails"));
    //    if (model.isNew() == false && isModified == false) {
    createDisabledChoices(fsEMails, model.getPollAttendeeList(), false);
    //    } else {
    //      createDisabledChoices(fsEMails, model.getCalculatedAttendeeList(), false);
    //    }

    final FieldsetPanel fsEvents = gridBuilder.newFieldset(getString("plugins.poll.attendee.events"));
    createDisabledChoices(fsEvents, model.getAllEvents());
  }
View Full Code Here

  private void createEnabledChoices()
  {
    final UsersProvider usersProvider = new UsersProvider();
    // User select
    final FieldsetPanel fsUserSelect = gridBuilder.newFieldset(getString("plugins.poll.attendee.users"));
    final MultiChoiceListHelper<PFUserDO> assignUsersListHelper = new MultiChoiceListHelper<PFUserDO>().setComparator(new UsersComparator())
        .setFullList(usersProvider.getSortedUsers());
    final HashSet<PFUserDO> attendeess = new HashSet<PFUserDO>();
    for (final PollAttendeeDO attendee : model.getPollAttendeeList()) {
      if (attendee.getUser() != null) {
        attendeess.add(attendee.getUser());
      } else {
        // TODO email list
      }
    }
    assignUsersListHelper.setAssignedItems(attendeess);
    final Select2MultiChoice<PFUserDO> users = new Select2MultiChoice<PFUserDO>(fsUserSelect.getSelect2MultiChoiceId(),
        new PropertyModel<Collection<PFUserDO>>(assignUsersListHelper, "assignedItems"), usersProvider);
    fsUserSelect.add(users);
  }
View Full Code Here

  @SuppressWarnings({ "serial", "unchecked", "rawtypes"})
  protected void init()
  {
    super.init();
    gridBuilder.newSplitPanel(GridSize.COL50);
    FieldsetPanel fs = gridBuilder.newFieldset(getString("address.phoneCall.number.label"), getString("address.phoneCall.number.labeldescription"));
    numberTextField = new PFAutoCompleteTextField<AddressDO>(InputPanel.WICKET_ID, new Model() {
      @Override
      public Serializable getObject()
      {
        // Pseudo object for storing search string (title field is used for this foreign purpose).
        return new AddressDO().setName(phoneNumber);
      }

      @Override
      public void setObject(final Serializable object)
      {
        if (object != null) {
          if (object instanceof String) {
            phoneNumber = (String) object;
          }
        } else {
          phoneNumber = "";
        }
      }
    }) {
      @Override
      protected List<AddressDO> getChoices(final String input)
      {
        final AddressFilter addressFilter = new AddressFilter();
        addressFilter.setSearchString(input);
        addressFilter.setSearchFields("name", "firstName", "organization");
        return addressDao.getList(addressFilter);
      }

      @Override
      protected List<String> getRecentUserInputs()
      {
        return getRecentSearchTermsQueue().getRecents();
      }

      @Override
      protected String formatLabel(final AddressDO address)
      {
        return StringHelper.listToString(", ", address.getName(), address.getFirstName(), address.getOrganization());
      }

      @Override
      protected String formatValue(final AddressDO address)
      {
        return "id:" + address.getId();
      }

      /**
       * @see org.apache.wicket.Component#getConverter(java.lang.Class)
       */
      @Override
      public <C> IConverter<C> getConverter(final Class<C> type)
      {
        return new IConverter() {
          @Override
          public Object convertToObject(final String value, final Locale locale)
          {
            phoneNumber = value;
            return new AddressDO().setName(phoneNumber);
          }

          @Override
          public String convertToString(final Object value, final Locale locale)
          {
            return phoneNumber;
          }
        };
      }
    };
    numberTextField.withLabelValue(true).withMatchContains(true).withMinChars(2).withFocus(true).withAutoSubmit(true);
    if (StringUtils.isBlank(phoneNumber) == true) {
      if (address != null) {
        final String no = parentPage.getFirstPhoneNumber();
        if (StringUtils.isNotBlank(no) == true) {
          phoneNumber = parentPage.extractPhonenumber(no);
        }
      } else {
        final String recentNumber = getRecentSearchTermsQueue().get(0);
        if (StringUtils.isNotBlank(recentNumber) == true) {
          phoneNumber = recentNumber;
        }
      }
    }
    fs.add(numberTextField);
    fs.addKeyboardHelpIcon(new ResourceModel("tooltip.autocompletion.title"), new ResourceModel("address.directCall.number.tooltip"));

    {
      // DropDownChoice myCurrentPhoneId
      fs = gridBuilder.newFieldset(getString("address.myCurrentPhoneId"));
      final LabelValueChoiceRenderer<String> myCurrentPhoneIdChoiceRenderer = new LabelValueChoiceRenderer<String>();
      final String[] ids = userDao.getPersonalPhoneIdentifiers(PFUserContext.getUser());
      if (ids == null) {
        myCurrentPhoneIdChoiceRenderer.addValue("--", getString("user.personalPhoneIdentifiers.pleaseDefine"));
      } else {
        for (final String id : ids) {
          myCurrentPhoneIdChoiceRenderer.addValue(id, id);
        }
      }
      final DropDownChoice myCurrentPhoneIdChoice = new DropDownChoice(fs.getDropDownChoiceId(),
          new PropertyModel(this, "myCurrentPhoneId"), myCurrentPhoneIdChoiceRenderer.getValues(), myCurrentPhoneIdChoiceRenderer);
      myCurrentPhoneIdChoice.setNullValid(false).setRequired(true);
      fs.add(myCurrentPhoneIdChoice);
      fs.addHelpIcon(new ResourceModel("address.myCurrentPhoneId.tooltip.title"), new ResourceModel("address.myCurrentPhoneId.tooltip.content"));
    }
    addressPanel = gridBuilder.newSplitPanel(GridSize.COL50).getPanel();
    {
      final Link<String> addressViewLink = new Link<String>(TextLinkPanel.LINK_ID) {
        @Override
View Full Code Here

TOP

Related Classes of org.projectforge.web.wicket.flowlayout.FieldsetPanel

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.