home *** CD-ROM | disk | FTP | other *** search
/ Flash MX Savvy / FlashMX Savvy.iso / pc / WIN / UltraDev / UltraDev_Trial.exe / Disk1 / data1.cab / Configuration_En / Commands / EditOpsLayoutTable.js < prev    next >
Encoding:
JavaScript  |  2000-12-11  |  8.3 KB  |  243 lines

  1. // Copyright 2000 Macromedia, Inc. All rights reserved
  2.  
  3.  
  4. function createFormContent(rowInfoArr,rs,col){
  5.   var nRows = rowInfoArr.length, i,currRowInfoObj, tableRowPart;
  6.   var displayInfo, type, leftColContents, rightColContents;
  7.   var tableStr = "", paramObj = new Object();
  8.   
  9.   for (i=0;i<nRows;i++){
  10.     currRowInfoObj = rowInfoArr[i];
  11.     fieldInfoObj = currRowInfoObj.displayAs; // this is an object
  12.     fieldInfoObj.fieldName = currRowInfoObj.fieldName;
  13.     fieldType = fieldInfoObj.type; //
  14.     
  15.     // first, get the right row type for the form fields being displayed
  16.     if (fieldType == "radioGroup" || fieldType == "dynamicRadioGroup") {
  17.       tableRowPart = PART_TR_RG;
  18.     } else if ( fieldType == "textArea") {
  19.       tableRowPart = PART_TR_TA;
  20.     } else {
  21.       tableRowPart = PART_TR;
  22.     }
  23.     
  24.     // next, create the html for the form widget. All form widgets are
  25.     // defined in html files
  26.     paramObj.leftCol = currRowInfoObj.label;
  27.     paramObj.rightCol = createFieldCellContents(fieldInfoObj);
  28.     tableStr += tableRowPart.getInsertString(paramObj);
  29.   }
  30.   
  31.   // add last row to table that contains submit button
  32.   var submitButtonPart = new Participant("editOps_submitButton"); 
  33.   paramObj.buttonText = SUBMIT_BTN_TEXT;
  34.   var submitButtonHTML = submitButtonPart.getInsertString(paramObj);
  35.   paramObj.leftCol = " ";
  36.   paramObj.rightCol = submitButtonHTML;
  37.   tableStr += PART_TR.getInsertString(paramObj);
  38.   
  39.   paramObj.tableContent = tableStr;
  40.   paramObj.tableAlign   = "center";
  41.   var tableHTML = PART_TABLE.getInsertString(paramObj);
  42.  
  43.   var hiddenFieldPartName = (EDIT_OP_TYPE == "Insert")?"insertRecord_hiddenEdit":"updateRecord_hiddenEdit";
  44.   var hiddenFieldPart = new Participant(hiddenFieldPartName); 
  45.   var hiddenFieldHTML = hiddenFieldPart.getInsertString();
  46.   var formPart = new Participant("editOps_form"); 
  47.   // need another hidden field for update record
  48.   if ( EDIT_OP_TYPE == "Update" ){
  49.     var hiddenFieldRecordIDPart = new Participant("editOps_hiddenRecordId"); 
  50.     paramObj.rs = rs; 
  51.     paramObj.col = col;
  52.     var hiddenFieldRecordIDHTML = hiddenFieldRecordIDPart.getInsertString(paramObj);
  53.   } 
  54.   
  55.   var formContent = tableHTML + hiddenFieldHTML;
  56.   // if update, then add another hidden field to formContent;
  57.   if (EDIT_OP_TYPE == "Update") formContent += hiddenFieldRecordIDHTML;
  58.   
  59.   return formContent;
  60.   
  61. }
  62.  
  63.  
  64.  
  65.  
  66. function createFieldCellContents(fieldInfoObj){
  67.   var paramObj = new Object();
  68.   var retVal   = "";
  69.   var fieldType = fieldInfoObj.type;
  70.   paramObj.fieldName = fieldInfoObj.fieldName;
  71.  
  72.   switch (fieldType){
  73.    
  74.     case "textArea":
  75.     case "textField":
  76.       paramObj.fieldVal = fieldInfoObj.value;
  77.       if (fieldType == "textArea") {
  78.         retVal = PART_TA.getInsertString(paramObj);
  79.       } else {  
  80.         retVal = PART_TF.getInsertString(paramObj);
  81.       }
  82.       break;
  83.      
  84.     
  85.     case "text": // redo this case when dynamic data XML is defined
  86.       retVal = fieldInfoObj.text;
  87.       break;
  88.     
  89.     case "menu":
  90.       var nOptions = fieldInfoObj.textArr.length, i;
  91.       var defaultSelected = fieldInfoObj.defaultSelected;
  92.       paramObj.selected = "";
  93.       
  94.       for (i=0;i<nOptions;i++){
  95.         paramObj.optionText = fieldInfoObj.textArr[i];
  96.         paramObj.optionVal  = fieldInfoObj.valArr[i]
  97.         if (defaultSelected && paramObj.optionVal){
  98.           paramObj.expression1 = formatDynamicExpression(paramObj.optionVal);
  99.           paramObj.expression2 = formatDynamicExpression(defaultSelected);
  100.           paramObj.selected = PART_SELECTED_ATTR.getInsertString(paramObj);                   
  101.         }
  102.         retVal += PART_OPTION.getInsertString(paramObj);
  103.         retVal = killEndingWhiteSpace(retVal);
  104.       }
  105.       
  106.       // if no option is selected by default, then add "selected" to first option
  107.       // this allows the first option to show in the ultradev wysiwyg view
  108.       var regExp = /selected/i;
  109.       if (retVal.search(regExp) == -1){
  110.         regExp = /(<option[^>]*)(>)/i;
  111.         if ( regExp.exec(retVal) != null ){
  112.           retVal =  retVal.replace(RegExp.$2," selected>");
  113.         }
  114.       }
  115.         
  116.       paramObj.menuContent = retVal;
  117.       
  118.       retVal = PART_SELECT.getInsertString(paramObj);
  119.       break;
  120.     
  121.     case "dynamicMenu":
  122.       var defaultSelected = fieldInfoObj.defaultSelected;
  123.       var menuStr = "";
  124.       var optionPart = PART_DYN_OPTION;
  125.  
  126.       paramObj.labelColumn = fieldInfoObj.textCol;
  127.       paramObj.valueColumn = fieldInfoObj.valCol
  128.       paramObj.rsName = fieldInfoObj.recordset;
  129.       setMoveToParamsForJsp(paramObj);
  130.    
  131.       if (defaultSelected){
  132.         paramObj.expression1 = formatDynamicExpression(defaultSelected); 
  133.         optionPart
  134.       } else {
  135.         paramObj.MM_subType = "noSelection";
  136.         optionPart = PART_DYN_OP_NOSEL;
  137.       
  138.       }
  139.  
  140.       menuStr += PART_BEGIN_LOOP.getInsertString(paramObj);
  141.       menuStr += optionPart.getInsertString(paramObj);
  142.       menuStr += PART_END_LOOP.getInsertString(paramObj);
  143.       
  144.       paramObj.menuContent = menuStr;
  145.       retVal = PART_SELECT.getInsertString(paramObj);
  146.       
  147.       break;
  148.   
  149.     
  150.     case "checkBox":
  151.     case "dynamicCheckBox":
  152.       var checkIf = fieldInfoObj.checkIf;
  153.       var equalTo = fieldInfoObj.equalTo;
  154.  
  155.       if (checkIf && equalTo) { // dynamic checkbox
  156.         paramObj.expression1 = formatDynamicExpression(checkIf);
  157.         paramObj.expression2 = formatDynamicExpression(equalTo);
  158.         var checkedPart = new Participant("dynamicCheckbox_attrib");
  159.         paramObj.checked = checkedPart.getInsertString(paramObj);
  160.       } else { // static checkbox
  161.         if (fieldInfoObj.checked){
  162.           paramObj.checked = (fieldInfoObj.checked.toString() == "true")?"checked":"";
  163.         } else { // needed if user only filled out 1 field in dynamic check box
  164.           paramObj.checked = "";
  165.         }
  166.       }
  167.       retVal = PART_CB.getInsertString(paramObj);
  168.       break;
  169.       
  170.     
  171.     case "radioGroup": 
  172.        var tableContentStr = "";
  173.        var nButtons = fieldInfoObj.labelArr.length;
  174.        var defaultChecked = fieldInfoObj.defaultChecked;
  175.        
  176.        paramObj.checked = "";
  177.        if (!nButtons) {
  178.           var labelText = "[ " + MM.LABEL_Label + " ]";
  179.           fieldInfoObj.labelArr = new Array(labelText,labelText);
  180.           fieldInfoObj.valArr   = new Array("radiobutton1","radiobutton2");
  181.           nButtons = 2;
  182.        }
  183.      
  184.  
  185.        for (i=0;i<nButtons;i++){
  186.          paramObj.fieldLabel = fieldInfoObj.labelArr[i];
  187.          paramObj.fieldVal   = fieldInfoObj.valArr[i];
  188.          if (defaultChecked && paramObj.fieldVal){
  189.            paramObj.expression1 = formatDynamicExpression(paramObj.fieldVal);
  190.            paramObj.expression2 = formatDynamicExpression(defaultChecked);
  191.            paramObj.checked =  PART_CHECKED_ATTR.getInsertString(paramObj);
  192.          }
  193.          tableContentStr += PART_TR_RB.getInsertString(paramObj);
  194.       }  
  195.       
  196.       paramObj.tableAlign = "left";
  197.       paramObj.tableContent = tableContentStr;
  198.       retVal = PART_TABLE.getInsertString(paramObj);
  199.       
  200.       break;
  201.       
  202.     case "dynamicRadioGroup":
  203.       var recordset = fieldInfoObj.recordset;
  204.       var labelCol  = fieldInfoObj.labelCol;
  205.       var valCol    = fieldInfoObj.valCol;
  206.       var defaultChecked = fieldInfoObj.defaultChecked;
  207.       var tableRowStr = "";
  208.       
  209.       paramObj.fieldLabel = createDynamicData(recordset,labelCol);
  210.       paramObj.fieldVal   = createDynamicData(recordset,valCol);
  211.       paramObj.recordset  = recordset;
  212.       paramObj.checked    = "";
  213.       paramObj.rsName     = recordset;
  214.       setMoveToParamsForJsp(paramObj);
  215.       
  216.       if (defaultChecked && paramObj.fieldVal) {
  217.         paramObj.expression1 = formatDynamicExpression(paramObj.fieldVal);
  218.         paramObj.expression2 = formatDynamicExpression(defaultChecked);
  219.         paramObj.checked     = PART_CHECKED_ATTR.getInsertString(paramObj);
  220.       }
  221.       
  222.       tableRowStr += PART_BEGIN_LOOP.getInsertString(paramObj);
  223.       tableRowStr += PART_TR_RB.getInsertString(paramObj);
  224.       tableRowStr += PART_END_LOOP.getInsertString(paramObj);
  225.       
  226.       paramObj.tableAlign = "left";
  227.       paramObj.tableContent = tableRowStr;
  228.       retVal = PART_TABLE.getInsertString(paramObj);
  229.  
  230.       break;
  231.     
  232.     
  233.     default:
  234.       break;
  235.   }
  236.   
  237.   return retVal;
  238.     
  239. }
  240.  
  241.  
  242.  
  243.