Changeset 63
- Timestamp:
- 03/08/10 18:03:28 (2 years ago)
- Files:
-
- 2 edited
-
DemoData/trunk/app/views/pages/extbase.ctp (modified) (3 diffs)
-
ExtClass/trunk/ext_ux_cakepanel.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
DemoData/trunk/app/views/pages/extbase.ctp
r61 r63 11 11 Ext.HOST = '<?php echo $_SERVER['HTTP_HOST']; ?>'; 12 12 //set pixel 13 Ext.BLANK_IMAGE_URL = Ext.WEBROOT_DIR+'js/ext-3. 0.0/resources/images/default/s.gif';13 Ext.BLANK_IMAGE_URL = Ext.WEBROOT_DIR+'js/ext-3.1.1/resources/images/default/s.gif'; 14 14 15 15 Ext.QuickTips.init(); … … 76 76 moviesConfig.groupStoreField = 'year'; 77 77 moviesConfig.groupStoreSortDirection = 'desc'; 78 //moviesConfig.filterBarField = "director_id";79 //moviesConfig.filterBarStore = 'directors';78 moviesConfig.filterBarField = "director_id"; 79 moviesConfig.filterBarStore = 'directors'; 80 80 //moviesConfig.filterBarField = "year"; 81 81 //moviesConfig.filterBarStore = {2007:'2007',2003: '2003'}; 82 moviesConfig.filterBarField = "id"; //for habtm this needs to be id not actor_id83 moviesConfig.filterBarStore = 'actors';82 //moviesConfig.filterBarField = "id"; //for habtm this needs to be id not actor_id 83 //moviesConfig.filterBarStore = 'actors'; 84 84 var movies = new Ext.ux.CakePanel(moviesConfig); 85 85 //next one, actors config. Here we override the column name in the helper … … 95 95 directorsConfig.title = "Ye olde directors list"; 96 96 //directorsConfig.groupStoreField = "alive"; could group by alive 97 directorsConfig.filterBarField = 'id'; 98 directorsConfig.filterBarStore = 'movies'; 97 99 var directors = new Ext.ux.CakePanel(directorsConfig); 98 100 //we'll use a viewport to display a TabPanel. -
ExtClass/trunk/ext_ux_cakepanel.js
r61 r63 291 291 //if we pass a object by hand, then that is used 292 292 if (typeof(this.filterBarStore) == "string") { //reference 293 var habtm = eval('this.dataStore.data.items[0].data.' + this.filterBarStore); 294 if (typeof(habtm) == "object") {//has many assoc, we need to search in sub-store 295 this.dataStore.filterBy(function(store_el) { 296 var habtm_raw = eval('store_el.data.' + this.filterBarStore); 293 if (typeof(this.dataStore.data.items[0].data[this.filterBarStore]) == "object") {//has many assoc, we need to search in sub-store 294 this.dataStore.filterBy(function(store_el) { 295 if (Ext.isEmpty(el.value)) return true; //reset filter if empty 297 296 var found = false; 298 for (i=0;i<habtm_raw.length;i++) { 299 var temp = habtm_raw[i]; 300 if (eval('temp.'+this.filterBarField) == el.value) found = true; 297 for (i=0;i<store_el.data[this.filterBarStore].length;i++) { 298 if (store_el.data[this.filterBarStore][i][this.filterBarField] == el.value) found = true; 301 299 } 302 300 return found; 303 301 },this) 304 302 } else { 305 var mapping = eval('this.dataStore.reader.jsonData.' + this.filterBarStore); 306 this.dataStore.filter(this.filterBarField,mapping[el.value]); 303 this.dataStore.filter(this.filterBarField,this.dataStore.reader.jsonData[this.filterBarStore][el.value]); 307 304 } 308 305 } else { //manually passed object … … 501 498 getComboValues: function(name,store) { 502 499 if (typeof(name) == "string") { 503 var comboData = eval('store.reader.jsonData.' + name); 504 comboData = Ext.ux.CakeHelper.flattenObject(comboData); 500 comboData = Ext.ux.CakeHelper.flattenObject(store.reader.jsonData[name]); 505 501 } else { 506 502 var comboData = Ext.ux.CakeHelper.flattenObject(name); … … 517 513 var output = '<ul>'; 518 514 for (value in values) { 519 if (isFinite(value)) output += '<li>'+(this.remap ? eval('values[value].'+this.remap): values[value].name)+'</li>';515 if (isFinite(value)) output += '<li>'+(this.remap ? values[value][this.remap] : values[value].name)+'</li>'; 520 516 } 521 517 output += '</ul>';
Note: See TracChangeset
for help on using the changeset viewer.
