Changeset 1441
- Timestamp:
- 2010-02-19 16:14:07 (2 years ago)
- Location:
- trunk/modules/kauri-forms/kauri-forms-framework/src/main/kauri/static-{build}.key/kauri.forms
- Files:
-
- 3 edited
-
collection.js (modified) (3 diffs)
-
control.js (modified) (13 diffs)
-
form.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/modules/kauri-forms/kauri-forms-framework/src/main/kauri/static-{build}.key/kauri.forms/collection.js
r1438 r1441 62 62 } 63 63 $.extend(CollectionControl.prototype.templates, { 64 layout: "<tr><td ><span kauri-role='label'/><span kauri-role='input'/><span kauri-role='messages'/>< /td></tr>",64 layout: "<tr><td ><span kauri-role='label'/><span kauri-role='input'/><span kauri-role='messages'/><span kauri-role='delete'/></td></tr>", 65 65 container: "<table kauri-role='container'></table>" 66 66 }); … … 220 220 221 221 // Make sure the item role is associated with the control 222 var $newItem = kf.ControlElements.lookup(childControl, "item", false);222 var $newItem = kf.ControlElements.lookup(childControl, kf.ControlElements.REV_ITEM, false); 223 223 224 224 // If the new item contains an element with delete role, add event handler to it … … 254 254 255 255 // remove it from the page 256 child.getElement( "item").remove();256 child.getElement(kf.ControlElements.REV_ITEM).remove(); 257 257 258 258 // clear the index -
trunk/modules/kauri-forms/kauri-forms-framework/src/main/kauri/static-{build}.key/kauri.forms/control.js
r1438 r1441 146 146 forceReIndexing = forceReIndexing || false; 147 147 148 var indexor = function(i ){148 var indexor = function(index){ 149 149 150 150 var $this = $(this); … … 164 164 var rev = $this.attr(ControlElements.ATTR_REV); 165 165 166 store.addElementIndex(index, rev, this);166 store.addElementIndex(index, rev, $this); 167 167 168 168 //add type property if known … … 171 171 $this.attr(ControlElements.ATTR_INDEX, index); 172 172 }; 173 174 var wrapIndexor = function($wrap){ 175 //var $first = $($eltArray[0]); 176 index = ""; 177 var idref = $wrap.attr(ControlElements.ATTR_IDREF) || ""; 178 if (idref.length == 0 || idref.charAt(0) != '/') 179 index = $wrap.parents("[" + ControlElements.ATTR_INDEX + "]:first").attr(ControlElements.ATTR_INDEX); 180 if (idref) { 181 index = $.concatPath(index, idref); 182 183 } 184 185 var rev = $wrap.attr(ControlElements.ATTR_REV); 186 187 store.addElementIndex(index, rev, $wrap.children()); 188 189 //add type property if known 190 // store.addTypeAndControl(index, $elt.attr(ControlElements.ATTR_TYPE), $this.attr(ControlElements.ATTR_CONTROL)); 191 192 $wrap.attr(ControlElements.ATTR_INDEX, index); 193 }; 173 194 174 195 // find all kauri-idref and kauri-role marked elements and index them … … 180 201 if (space.is(kauriSelector)) 181 202 space.each(indexor); 182 // then go through matching children, but only once (even if they match multiple times)203 // then go through matching children, but only once (even if they match multiple times) 183 204 var matching = $($.unique($(kauriSelector, space))).filter(function(){ 184 205 // TODO should we do this this way or should be traverse the tree ourselves (performance?) … … 187 208 188 209 return ($this.attr(ControlElements.ATTR_IDREF)!=undefined || revParents == null || revParents.length==0); 189 }); 210 }); 211 190 212 matching.each(indexor); 191 213 } 214 192 215 193 216 … … 259 282 var index = control.getAbsoluteId(); 260 283 261 var elm = form.getElementIndex(index, relation); // if marked with kauri- attributes we should find it in the indexes262 var $elm = null;263 264 if (! elm) {284 var $elm = form.getElementIndex(index, relation); // if marked with kauri- attributes we should find it in the indexes 285 286 287 if (!$elm) { 265 288 if(relation == ControlElements.REV_INPUT && form.getElementIndex(index).length == 1){ 266 elm = form.getElementIndex(index)[0];289 $elm = form.getElementIndex(index)[0]; 267 290 268 $elm = $(elm);291 269 292 270 293 if ($elm) { 271 294 $elm.attr(ControlElements.ATTR_INDEX, index); 272 295 $elm.attr(ControlElements.ATTR_REV, relation); 273 elm = $elm.get(0); 274 form.addElementIndex(index, relation, elm); 296 form.addElementIndex(index, relation, $elm); 275 297 } 276 298 } 277 299 } 278 else { 279 $elm = $(elm); 280 } 281 282 if (elm) 300 301 if ($elm) 283 302 control.setElement(relation, $elm); 284 303 return $elm; … … 447 466 } 448 467 468 var $elm = $(elm); 469 470 449 471 return this._operateIndex(index, relation, function(i){ 450 472 … … 454 476 this.elementIndex[i] = elms; 455 477 }, function(i, r){ 456 457 478 var elms = this.elementIndex[i] = this.elementIndex[i] || ControlElements.newElements(); 458 479 if (elms.meta[r]) 459 480 throw "[ControlElements#addElementIndex] index already in use: " + i + "#" + r; 481 460 482 elms.meta[r] = elm; 461 483 if (r == ControlElements.REV_ITEM) {// special case: items double as lookup-spaces! … … 480 502 return this.elementIndex; 481 503 504 var $elm; 482 505 return this._operateIndex(index, relation, function(i){ 483 484 return this.elementIndex[i];506 $elm = this.elementIndex[i]; 507 return $elm; 485 508 }, function(i, r){ 486 509 487 510 this.elementIndex[i] = this.elementIndex[i] || ControlElements.newElements(); 488 return this.elementIndex[i].meta[r]; 511 $elm = this.elementIndex[i].meta[r]; 512 return $elm; 489 513 }); 490 514 } … … 692 716 // If no label is found then the control id will be used instead. 693 717 // In that case no default creation will happen! (additional requirement for element creation) 694 // But if a label is specifie fin the template, then that takes precendence over what is in the fconf718 // But if a label is specified in the template, then that takes precendence over what is in the fconf 695 719 var $lbl = ControlElements.lookup(this, ControlElements.REV_LABEL); 696 720 … … 1768 1792 } 1769 1793 1770 if (layout) {1794 /* if (layout) { 1771 1795 layout.hide(); 1772 } 1796 }*/ 1773 1797 } 1774 1798 … … 1812 1836 } 1813 1837 var $layout = layout.clone(); 1814 if($layout.length>1){1815 var $wrap = $("<span/>");1816 $wrap.append($layout);1817 $layout = $wrap;1818 }1819 1838 1820 1839 if (childAtPosition != null && childAtPosition.length == 1) { … … 1824 1843 } 1825 1844 1826 newElements.attr(ControlElements.ATTR_REV, ControlElements.REV_ITEM); 1845 1846 //newElements.attr(ControlElements.ATTR_REV, ControlElements.REV_ITEM); 1847 1848 if(true){ 1849 // hier item index berekenen en in elementindex steken 1850 // daarna gewoon de elemennten indexeren 1851 1852 var idref = id; 1853 if (idref.length == 0 || idref.charAt(0) != '/') 1854 index = newElements.parents("[" + ControlElements.ATTR_INDEX + "]:first").attr(ControlElements.ATTR_INDEX); 1855 if (idref) { 1856 index = $.concatPath(index, idref); 1857 } 1858 1859 this.getForm().addElementIndex(index, ControlElements.REV_ITEM, newElements); 1860 1861 /* 1862 var $wrap = $("<kauri-layout/>"); 1863 $wrap.append(newElements.clone()); 1864 1865 $wrap.attr(ControlElements.ATTR_REV, ControlElements.REV_ITEM); 1866 $wrap.attr(ControlElements.ATTR_IDREF, id); 1867 //newElements = $wrap; 1868 var form = this.getForm(); 1869 ControlElements.index($wrap, form, true); 1870 return newElements;*/ 1871 } 1872 1827 1873 } 1828 1874 1829 1875 newElements.attr(ControlElements.ATTR_IDREF, id); 1830 1831 1832 1833 1876 var form = this.getForm(); 1834 1877 ControlElements.index(newElements, form, true); // we force re-indexing cause layout-template elements will already be -
trunk/modules/kauri-forms/kauri-forms-framework/src/main/kauri/static-{build}.key/kauri.forms/form.js
r1414 r1441 154 154 throw "[Form#setRootElement] Root element already set."; 155 155 this.rootElement = elm; 156 this.addElementIndex("/", elm);156 this.addElementIndex("/", $(elm)); 157 157 } 158 158
Note: See TracChangeset
for help on using the changeset viewer.