Commit a869a0e04507187b57f7a6898dc8d37ccd25d431

Authored by rob
1 parent 52472cce

Displays generic and specific meta data for editing


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@564 c91229c3-7414-0410-bfa2-8a42b809f60b
lib/visualpatterns/PatternEditableTableSqlQuery.inc
@@ -39,11 +39,13 @@ class PatternEditableTableSqlQuery { @@ -39,11 +39,13 @@ class PatternEditableTableSqlQuery {
39 /** columns visible or not (store columns) */ 39 /** columns visible or not (store columns) */
40 var $aColumnsVisible; 40 var $aColumnsVisible;
41 /** column types: 1 = text, 2 = boolean, 3 = drop down list */ 41 /** column types: 1 = text, 2 = boolean, 3 = drop down list */
42 - var $aColumnTypes; 42 + var $aColumnDisplayTypes;
  43 + /** 0 = id, 1 = text, 2 = boolean*/
  44 + var $aColumnDatabaseTypes;
43 /** Unique name */ 45 /** Unique name */
44 var $sUniqueName; 46 var $sUniqueName;
45 47
46 - function PatternEditableTableSqlQuery($sTmpQuery, $sTmpTableName, $aTmpStoreColumnNames, $aTmpDisplayColumnNames, $aTmpColumnsEditable, $aTmpColumnsVisible, $aTmpColumnTypes, $sTmpUniqueName) { 48 + function PatternEditableTableSqlQuery($sTmpQuery, $sTmpTableName, $aTmpStoreColumnNames, $aTmpDisplayColumnNames, $aTmpColumnsEditable, $aTmpColumnsVisible, $aTmpColumnDisplayTypes, $aTmpColumnDatabaseTypes) {
47 $this->sQuery = $sTmpQuery; 49 $this->sQuery = $sTmpQuery;
48 $this->sTableName = $sTmpTableName; 50 $this->sTableName = $sTmpTableName;
49 $this->aStoreColumnNames = $aTmpStoreColumnNames; 51 $this->aStoreColumnNames = $aTmpStoreColumnNames;
@@ -51,7 +53,13 @@ class PatternEditableTableSqlQuery { @@ -51,7 +53,13 @@ class PatternEditableTableSqlQuery {
51 $this->aColumnsEditable = $aTmpColumnsEditable; 53 $this->aColumnsEditable = $aTmpColumnsEditable;
52 $this->sUniqueName = $sTmpUniqueName; 54 $this->sUniqueName = $sTmpUniqueName;
53 $this->aColumnsVisible = $aTmpColumnsVisible; 55 $this->aColumnsVisible = $aTmpColumnsVisible;
54 - $this->aColumnTypes = $aTmpColumnTypes; 56 + $this->aColumnDisplayTypes = $aTmpColumnDisplayTypes;
  57 + //echo "Types: " . $aTmpDatabaseColumnTypes;
  58 + $this->aColumnDatabaseTypes = $aTmpColumnDatabaseTypes;
  59 + }
  60 +
  61 + function setUniqueName($sNewValue) {
  62 + $this->sUniqueName = $sNewValue;
55 } 63 }
56 64
57 65
@@ -92,37 +100,47 @@ class PatternEditableTableSqlQuery { @@ -92,37 +100,47 @@ class PatternEditableTableSqlQuery {
92 $iRowCount = 0; 100 $iRowCount = 0;
93 while ($sql->next_record()) { 101 while ($sql->next_record()) {
94 $sToRender .= "<tr>\n"; 102 $sToRender .= "<tr>\n";
  103 + $sToRender .= "<input type=\"hidden\" name=\"unique_start_" . $this->sUniqueName . $iRowCount . "\" value=\"\" />\n";
95 $sToRender .= "<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "\" value=\"" . $sql->f("id") . "\" />\n"; 104 $sToRender .= "<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "\" value=\"" . $sql->f("id") . "\" />\n";
96 - $sToRender .= "<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_tc\" value=\"" . $this->sTableName . "\" />\n";  
97 - for ($i = 0; $i < count($this->aStoreColumnNames); $i++) { 105 + $sToRender .= "<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_tn\" value=\"" . $this->sTableName . "\" />\n";
  106 + for ($i = 0; $i < count($this->aStoreColumnNames); $i++) {
98 //generate the right kind of editable field 107 //generate the right kind of editable field
99 - $sToRender .= "\t<td>\n";  
100 - switch ($this->aColumnTypes[$i]) { 108 + $sToRender .= "\t<td>\n";
  109 + switch ($this->aColumnDisplayTypes[$i]) {
101 case 1: 110 case 1:
  111 + //output the table column name
  112 + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_tc\" value=\"" . $this->aStoreColumnNames[$i] . "\" />\n";
  113 + //output the column type
  114 + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_type\" value=\"" . $this->aColumnDatabaseTypes[$i] . "\" />\n";
  115 + //output the value
102 if ($this->aColumnsVisible[$i]) { 116 if ($this->aColumnsVisible[$i]) {
103 if ($this->aColumnsEditable[$i]) { 117 if ($this->aColumnsEditable[$i]) {
104 - $sToRender .= "\t<input type=\"text\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />\n"; 118 + $sToRender .= "\t<input type=\"text\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />\n";
105 } else { 119 } else {
106 - $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />".$sql->f($this->aDisplayColumnNames[$i])."\n"; 120 + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />".$sql->f($this->aDisplayColumnNames[$i])."\n";
107 } 121 }
108 } else { 122 } else {
109 - $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />\n"; 123 + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />\n";
110 } 124 }
111 - $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_tc\" value=\"" . $this->aStoreColumnNames[$i] . "\" />\n";  
112 break; 125 break;
113 case 2: 126 case 2:
  127 + //output the table column name
  128 + $sToRender .= "\t<input type=\"hidden\" name=\"tc_" . $this->sUniqueName . "_" . $iRowCount . $i . "_tc\" value=\"" . $this->aStoreColumnNames[$i] . "\" />\n";
  129 + //output the column type
  130 + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_type\" value=\"" . $this->aColumnDatabaseTypes[$i] . "\" />\n";
  131 + //output the value
114 if ($this->aColumnsVisible[$i]) { 132 if ($this->aColumnsVisible[$i]) {
115 if ($this->aColumnsEditable[$i]) { 133 if ($this->aColumnsEditable[$i]) {
116 - $sToRender .= "\t<input type=\"checkbox\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_value\" value=\"" . ($sql->f($this->aStoreColumnNames[$i] ? "1\" checked" : "0\"")) . " />\n"; 134 + $sToRender .= "\t<input type=\"checkbox\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_value\" value=\"" . ($sql->f($this->aStoreColumnNames[$i] ? "1\" checked" : "0\"")) . " />\n";
117 } else { 135 } else {
118 - $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />".$sql->f($this->aDisplayColumnNames[$i])."\n"; 136 + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />".$sql->f($this->aDisplayColumnNames[$i])."\n";
119 } 137 }
120 } else { 138 } else {
121 - $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />\n";  
122 - }  
123 - $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_tc\" value=\"" . $this->aStoreColumnNames[$i] . "\" />\n"; 139 + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />\n";
  140 + }
124 break; 141 break;
125 case 3: 142 case 3:
  143 + $sToRender .= "<b>The column type for drop downs is not implemented yet</b>\n";
126 break; 144 break;
127 default: 145 default:
128 $sToRender .= "<b>You are attempting to render an unknown column type " . ($this->aColumnTypes[$i]) . " in PatternEditableTableSqlQuery</b>\n"; 146 $sToRender .= "<b>You are attempting to render an unknown column type " . ($this->aColumnTypes[$i]) . " in PatternEditableTableSqlQuery</b>\n";
@@ -131,6 +149,7 @@ class PatternEditableTableSqlQuery { @@ -131,6 +149,7 @@ class PatternEditableTableSqlQuery {
131 149
132 $sToRender .= "\t</td>\n"; 150 $sToRender .= "\t</td>\n";
133 } 151 }
  152 + $sToRender .= "<input type=\"hidden\" name=\"unique_end_" . $this->sUniqueName . $iRowCount . "\" value=\"\" />\n";
134 $sToRender .= "</tr>\n"; 153 $sToRender .= "</tr>\n";
135 $iRowCount++; 154 $iRowCount++;
136 } 155 }