⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modelform.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                                if (lastFieldGroup != null ) {                    lastFieldGroupName = lastFieldGroup.getId();                    if (!lastFieldGroupName.equals(currentFieldGroupName)) {                        lastFieldGroup.renderEndString(buffer, context, formStringRenderer);                                                List inbetweenList = getInbetweenList(lastFieldGroup, currentFieldGroup);                        Iterator iter = inbetweenList.iterator();                        while (iter.hasNext()) {                            Object obj = iter.next();                             if (obj instanceof ModelForm.Banner) {                                ((ModelForm.Banner) obj).renderString(buffer, context, formStringRenderer);                               } else {                                // no need to open and close an empty table, so skip that call                                formStringRenderer.renderFieldGroupOpen(buffer, context, (FieldGroup) obj);                                formStringRenderer.renderFieldGroupClose(buffer, context, (FieldGroup) obj);                            }                        }                    }                }                                if (currentFieldGroup != null && (lastFieldGroup == null || !lastFieldGroupName.equals(currentFieldGroupName))) {                        currentFieldGroup.renderStartString(buffer, context, formStringRenderer);                        lastFieldGroup = currentFieldGroup;                }            }            ModelFormField.FieldInfo fieldInfo = currentFormField.getFieldInfo();            if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {                continue;            }            if (alreadyRendered.contains(currentFormField.getName())) {                continue;            }            //Debug.logInfo("In single form evaluating use-when for field " + currentFormField.getName() + ": " + currentFormField.getUseWhen(), module);            if (!currentFormField.shouldUse(context)) {                continue;            }            alreadyRendered.add(currentFormField.getName());            boolean stayingOnRow = false;            if (lastFormField != null) {                if (lastFormField.getPosition() >= currentFormField.getPosition()) {                    // moving to next row                    stayingOnRow = false;                } else {                    // staying on same row                    stayingOnRow = true;                }            }            int positionSpan = 1;            Integer nextPositionInRow = null;            if (nextFormField != null) {                if (nextFormField.getPosition() > currentFormField.getPosition()) {                    positionSpan = nextFormField.getPosition() - currentFormField.getPosition() - 1;                    nextPositionInRow = new Integer(nextFormField.getPosition());                } else {                    positionSpan = positions - currentFormField.getPosition();                    if (!stayingOnRow && nextFormField.getPosition() > 1) {                        // TODO: here is a weird case where it is setup such                        //that the first position(s) in the row are skipped                        // not sure what to do about this right now...                    }                }            }            if (stayingOnRow) {                // no spacer cell, might add later though...                //formStringRenderer.renderFormatFieldRowSpacerCell(buffer, context, currentFormField);            } else {                if (haveRenderedOpenFieldRow) {                    // render row formatting close                    formStringRenderer.renderFormatFieldRowClose(buffer, context, this);                    haveRenderedOpenFieldRow = false;                }                // render row formatting open                formStringRenderer.renderFormatFieldRowOpen(buffer, context, this);                haveRenderedOpenFieldRow = true;            }            // render title formatting open            formStringRenderer.renderFormatFieldRowTitleCellOpen(buffer, context, currentFormField);            // render title (unless this is a submit or a reset field)            if (fieldInfo.getFieldType() != ModelFormField.FieldInfo.SUBMIT && fieldInfo.getFieldType() != ModelFormField.FieldInfo.RESET) {                formStringRenderer.renderFieldTitle(buffer, context, currentFormField);            } else {                formStringRenderer.renderFormatEmptySpace(buffer, context, this);            }            // render title formatting close            formStringRenderer.renderFormatFieldRowTitleCellClose(buffer, context, currentFormField);            // render separator            formStringRenderer.renderFormatFieldRowSpacerCell(buffer, context, currentFormField);            // render widget formatting open            formStringRenderer.renderFormatFieldRowWidgetCellOpen(buffer, context, currentFormField, positions, positionSpan, nextPositionInRow);            // render widget            currentFormField.renderFieldString(buffer, context, formStringRenderer);            // render widget formatting close            formStringRenderer.renderFormatFieldRowWidgetCellClose(buffer, context, currentFormField, positions, positionSpan, nextPositionInRow);        }        // always render row formatting close after the end        formStringRenderer.renderFormatFieldRowClose(buffer, context, this);        if (lastFieldGroup != null) {            lastFieldGroup.renderEndString(buffer, context, formStringRenderer);        }        // render formatting wrapper close        // should be handled by renderEndString        //formStringRenderer.renderFormatSingleWrapperClose(buffer, context, this);        // render form close        if (!skipEnd) formStringRenderer.renderFormClose(buffer, context, this);    }    public void renderListFormString(StringBuffer buffer, Map context, FormStringRenderer formStringRenderer, int positions) {        // render list/tabular type forms        // render formatting wrapper open        formStringRenderer.renderFormatListWrapperOpen(buffer, context, this);        // ===== render header row =====        if (!getHideHeader()) {            this.renderHeaderRow(buffer, context, formStringRenderer);        }        // ===== render the item rows =====        this.renderItemRows(buffer, context, formStringRenderer, true);        // render formatting wrapper close        formStringRenderer.renderFormatListWrapperClose(buffer, context, this);    }    public void renderMultiFormString(StringBuffer buffer, Map context, FormStringRenderer formStringRenderer, int positions) {        formStringRenderer.renderFormOpen(buffer, context, this);        // render formatting wrapper open        formStringRenderer.renderFormatListWrapperOpen(buffer, context, this);        // ===== render header row =====        this.renderHeaderRow(buffer, context, formStringRenderer);        // ===== render the item rows =====        this.renderItemRows(buffer, context, formStringRenderer, false);        formStringRenderer.renderFormatListWrapperClose(buffer, context, this);                formStringRenderer.renderMultiFormClose(buffer, context, this);    }    public void renderHeaderRow(StringBuffer buffer, Map context, FormStringRenderer formStringRenderer) {        formStringRenderer.renderFormatHeaderRowOpen(buffer, context, this);        // render title for each field, except hidden & ignored, etc        // start by rendering all display and hyperlink fields, until we        //get to a field that should go into the form cell, then render        //the form cell with all non-display and non-hyperlink fields, then        //do a start after the first form input field and        //render all display and hyperlink fields after the form        // do the first part of display and hyperlink fields        Iterator displayHyperlinkFieldIter = this.fieldList.iterator();        ModelFormField previousModelFormField = null;        while (displayHyperlinkFieldIter.hasNext()) {            ModelFormField modelFormField = (ModelFormField) displayHyperlinkFieldIter.next();            ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();            // don't do any header for hidden or ignored fields            if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {                continue;            }            //Modification Nicolas to support Two or more field with the same name and they are used with condition            if (previousModelFormField != null && previousModelFormField.getTitle(context).equals(modelFormField.getTitle(context)) &&                     !(previousModelFormField.isUseWhenEmpty() && modelFormField.isUseWhenEmpty())) {                continue;            }            if (fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY && fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY_ENTITY && fieldInfo.getFieldType() != ModelFormField.FieldInfo.HYPERLINK) {                // okay, now do the form cell                break;            }            // DON'T check this for the header row, doesn't really make sense, should always show the header: if (!modelFormField.shouldUse(context)) { continue; }            formStringRenderer.renderFormatHeaderRowCellOpen(buffer, context, this, modelFormField);            formStringRenderer.renderFieldTitle(buffer, context, modelFormField);            formStringRenderer.renderFormatHeaderRowCellClose(buffer, context, this, modelFormField);                   //Modification Nicolas            previousModelFormField = modelFormField;        }        List headerFormFields = new LinkedList();        Iterator formFieldIter = this.fieldList.iterator();        //boolean isFirstFormHeader = true;        while (formFieldIter.hasNext()) {            ModelFormField modelFormField = (ModelFormField) formFieldIter.next();            ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();            // don't do any header for hidden or ignored fields            if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {                continue;            }            // skip all of the display/hyperlink fields            if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.DISPLAY || fieldInfo.getFieldType() == ModelFormField.FieldInfo.DISPLAY_ENTITY || fieldInfo.getFieldType() == ModelFormField.FieldInfo.HYPERLINK) {                continue;            }            if (!modelFormField.shouldUse(context)) {                continue;            }            headerFormFields.add(modelFormField);        }        // render the "form" cell        formStringRenderer.renderFormatHeaderRowFormCellOpen(buffer, context, this);        Iterator headerFormFieldIter = headerFormFields.iterator();        while (headerFormFieldIter.hasNext()) {            ModelFormField modelFormField = (ModelFormField) headerFormFieldIter.next();            //ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();            if (separateColumns || modelFormField.getSeparateColumn())                 formStringRenderer.renderFormatItemRowCellOpen(buffer, context, this, modelFormField);            // render title (unless this is a submit or a reset field)            formStringRenderer.renderFieldTitle(buffer, context, modelFormField);            if (separateColumns || modelFormField.getSeparateColumn())                 formStringRenderer.renderFormatItemRowCellClose(buffer, context, this, modelFormField);            if (headerFormFieldIter.hasNext()) {                // TODO: determine somehow if this is the last one... how?               if (!separateColumns && !modelFormField.getSeparateColumn())                     formStringRenderer.renderFormatHeaderRowFormCellTitleSeparator(buffer, context, this, modelFormField, false);            }        }        formStringRenderer.renderFormatHeaderRowFormCellClose(buffer, context, this);        // render the rest of the display/hyperlink fields        while (displayHyperlinkFieldIter.hasNext()) {            ModelFormField modelFormField = (ModelFormField) displayHyperlinkFieldIter.next();            ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();            // don't do any header for hidden or ignored fields

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -