Пример #1
0
  // BAJavaScriptGContext returned.
  public void generateAppJS(PrintWriter out, UIPage uiPage) throws Exception {
    // BAJavaScriptGContext generationContext = new BAJavaScriptGContext();
    String jsEntityName = entityName.replace('.', '_');
    String body = null;
    if (jsText != null) {
      body = JSMerge.getPartBody(entityName + ".initPageJs", jsText);
    }

    out.write("\n    function ");
    out.print(jsEntityName);
    out.write("_initPageJs(){/* Gen_First:");
    out.print(jsEntityName);
    out.write(
        "_initPageJs */\n        var constraint_result = true;\n        var UIEntity = this;\n");

    if (body != null && !body.equals("")) {
      out.write("\n        ");
      out.print(body);
      out.write("\n");
    } else {
      PageInType pageIn = uiPage.getIn();
      if (pageIn != null && pageIn.getClientAction() != null) {
        out.print(pageIn.getClientAction().getExpressionString());
      }
    }

    out.write("\n    }/* Gen_Last:");
    out.print(jsEntityName);
    out.write("_initPageJs */\n\n");

    body = null;
    if (jsText != null) {
      body = JSMerge.getPartBody(entityName + ".finalizePageJs", jsText);
    }

    out.write("\n    function ");
    out.print(jsEntityName);
    out.write("_finalizePageJs(){/* Gen_First:");
    out.print(jsEntityName);
    out.write("_finalizePageJs */\n");

    if (body != null && !body.equals("")) {

      out.write("\n        ");
      out.print(body);
      out.write("\n");

    } else {
      if (uiPage.getFinalize() != null) {
        out.print(uiPage.getFinalize().getExpressionString());
      }
    }

    out.write("\n    }/* Gen_Last:");
    out.print(jsEntityName);
    out.write("_finalizePageJs */\n\n");

    List<PageOutType> outs = uiPage.getOuts();
    for (PageOutType oType : outs) {
      String functionName = oType.getName() + "_OutFunctionName";

      out.write("\n    function ");
      out.print(jsEntityName);
      out.write("_");
      out.print(functionName);
      out.write("(eventsource) {/* Gen_First:");
      out.print(jsEntityName);
      out.write("_");
      out.print(functionName);
      out.write(
          " */\n        var constraint_result = true;\n        var myForm;\n        if (this.formName != undefined)\n        {\n            myForm = document.forms[this.formName];\n        }\n        else\n        {\n            var p = this.Form.parentNode;\n            while(p.tagName != \"FORM\")\n                p = p.parentNode;\n            myForm = p;//document.forms[0];\n        }\n");

      body = null;
      if (jsText != null) {
        body = JSMerge.getPartBody(entityName + "." + functionName, jsText);
      }
      if (body != null && !body.equals("")) {
        out.write("\n");
        out.print(body);
        out.write("\n");
      } else {
        out.write("\n        var UIEntity = this;\n");
        if (oType.isValidate()) {
          out.write("\n        constraint_result = this.Form.validate();\n");
        }

        if (oType.getClientAction() != null) {
          out.print(oType.getClientAction().getExpressionString());
        }

        String frameName = oType.getFrameName();
        if (frameName == null) {
          frameName = "_self";
        }

        out.write("        \n        myForm._outname.value = \"");
        out.print(oType.getName());
        out.write("\";\n        myForm.target = \"");
        out.print(frameName);
        out.write("\";\n");
      }
      out.write(
          "             \n        if ( (constraint_result == true || constraint_result == null) && (!ajax_execute_onerror) ) {\n");

      if (uiPage.isIsAjaxHandlingAllowed()) {
        out.write(
            "            UIMaster.trigger2PhaseSubmit(myForm.action,myForm._pagename.value,myForm._outname.value,myForm.getAttribute('_framePrefix'),myForm._portletId,myForm.target);\n");
      } else {
        out.write("          myForm.submit();\n");
      }

      out.write("        }\n        return constraint_result;\n    }/* Gen_Last:");
      out.print(jsEntityName);
      out.write("_");
      out.print(functionName);
      out.write(" */\n");
    }
    // return generationContext;
    /* importBA(out, clClient, generationContext); */
  }