Пример #1
0
  /**
   * LookUp constructor.
   *
   * @param name - name of component
   * @param lookup_page - the page that will provide the lookup values
   * @param browseImage - the browse image to use. default is a magnifying glass
   * @param ds - DataStore that is being used with this component
   * @param tableName - table name to bind to
   * @param columnName - column name to bind to
   * @param dataType - data type of the main edit field ( use DataStore.DATATYPE_*)
   * @param pKey - flag that signifies if the column is a primary key column
   * @param p - page the component will be associated with
   */
  public HtmlLookUpComponent(
      String name,
      String lookup_page,
      String browseImage,
      DataStore ds,
      String tableName,
      String columnName,
      int dataType,
      boolean pKey,
      HtmlPage p) {
    super(name, p);

    _hiddenDescriptionHandle = new HtmlHiddenField("hiddenDescr", null, p);
    addCompositeComponent(_hiddenDescriptionHandle, DataStore.DATATYPE_STRING, false, null, null);
    _hiddenKeyHandle = new HtmlHiddenField("hiddenKey", null, p);
    addCompositeComponent(_hiddenKeyHandle, DataStore.DATATYPE_STRING, false, null, null);
    _hiddenKeyHandle.setVisible(false);

    setTheme(null);
    p.addPageListener(this);

    HtmlTextEdit edit = null;

    if (ds == null) {
      edit = new HtmlTextEdit("_edit", p);
      _editHandle = addCompositeComponent(edit, dataType, false, null, null);
    } else {
      _ds = ds;
      /** Don't add the same column twice to the data store. */
      if (_ds.getColumnIndex(tableName + "." + columnName) == -1) {
        if (_ds instanceof DataStore)
          ((DataStore) _ds).addColumn(tableName, columnName, dataType, pKey, true);
      }
      edit = new HtmlTextEdit(tableName + "_" + columnName, p);
      edit.setColumn(_ds, tableName + "." + columnName);

      _editHandle = addCompositeComponent(edit, dataType, true, tableName, columnName);
    }

    _browseImage = new HtmlSubmitImage("browseImage", browseImage, p);
    _browseImage.addSubmitListener(this);
    _browseImageHandle = addCompositeComponent(_browseImage, DATATYPE_ANY, false, null, null);

    _browsePopupImage = new HtmlImage("browsPopupImage", browseImage, p);
    _browsePopupImageLink = new HtmlLink("browsePopupImageLink", null, p);
    _browsePopupImageLink.add(_browsePopupImage);
    _browseImageHandle =
        addCompositeComponent(_browsePopupImageLink, DATATYPE_ANY, false, null, null);
    _browsePopupImageLink.setVisible(false);

    setLookUpPageURL(lookup_page);
    setDescriptionFont(null);
  }
Пример #2
0
  /**
   * This method will generate the html for each component in the page
   *
   * @param p - PrintWriter
   * @param rowNo - rowNo
   * @throws Exception
   */
  public void generateHTML(PrintWriter p, int rowNo) throws Exception {
    if (!_visible) {
      return;
    }

    // for each item in list
    JspCrumbleObject cro = null;
    HtmlText htText = null;
    HtmlText separatorText = null;
    HtmlLink hlLink = null;

    _cont.removeAll();

    int arrSize = _arrCrumble.size();

    if (arrSize <= 0) {
      return;
    }

    //  MessageLog.writeDebugMessage(" 1 generateHTML arrSize=" + arrSize, this);
    String croText = null;
    String croHref = null;

    for (int i = 0; i < arrSize; i++) {
      //      MessageLog.writeDebugMessage(" 1 generateHTML i=" + i, this);
      // create a link with text in it
      cro = (JspCrumbleObject) _arrCrumble.get(i);
      htText = null;
      croHref = cro.getHref();
      croText = cro.getText();

      if (Util.isFilled(croHref)) {
        htText = new HtmlText(croText, getCrumbleLinkFont(), getPage());
        htText.setFixSpecialHtmlCharacters(isFixSpecialHtmlCharacters());
        hlLink = new HtmlLink("hlLink" + i, croHref, getPage());
        hlLink.add(htText);
      } else {
        htText = new HtmlText(croText, getCrumbleFont(), getPage());
        htText.setFixSpecialHtmlCharacters(isFixSpecialHtmlCharacters());
      }

      // add link
      // add :
      String separator = getSeparator();

      if (!Util.isFilled(separator)) {
        separator = " : ";
      }

      separatorText = new HtmlText(separator, getCrumbleLinkFont(), getPage());
      separatorText.setFixSpecialHtmlCharacters(isFixSpecialHtmlCharacters());

      if (Util.isFilled(croHref)) {
        _cont.add(hlLink);
      } else {
        _cont.add(htText);
      }

      if (i < (arrSize - 1)) {
        _cont.add(separatorText);
      }
    }

    _cont.generateHTML(p, rowNo);
  }