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 39 /** columns visible or not (store columns) */
40 40 var $aColumnsVisible;
41 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 45 /** Unique name */
44 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 49 $this->sQuery = $sTmpQuery;
48 50 $this->sTableName = $sTmpTableName;
49 51 $this->aStoreColumnNames = $aTmpStoreColumnNames;
... ... @@ -51,7 +53,13 @@ class PatternEditableTableSqlQuery {
51 53 $this->aColumnsEditable = $aTmpColumnsEditable;
52 54 $this->sUniqueName = $sTmpUniqueName;
53 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 100 $iRowCount = 0;
93 101 while ($sql->next_record()) {
94 102 $sToRender .= "<tr>\n";
  103 + $sToRender .= "<input type=\"hidden\" name=\"unique_start_" . $this->sUniqueName . $iRowCount . "\" value=\"\" />\n";
95 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 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 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 116 if ($this->aColumnsVisible[$i]) {
103 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 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 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 125 break;
113 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 132 if ($this->aColumnsVisible[$i]) {
115 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 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 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 141 break;
125 142 case 3:
  143 + $sToRender .= "<b>The column type for drop downs is not implemented yet</b>\n";
126 144 break;
127 145 default:
128 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 149  
132 150 $sToRender .= "\t</td>\n";
133 151 }
  152 + $sToRender .= "<input type=\"hidden\" name=\"unique_end_" . $this->sUniqueName . $iRowCount . "\" value=\"\" />\n";
134 153 $sToRender .= "</tr>\n";
135 154 $iRowCount++;
136 155 }
... ...