X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/f5240829880f87e0cf581c6a296e436fdef0ef80..0494b8d9b9bb03ab6c22b34dae81261e3cd7e3e6:/ext-all-debug.js diff --git a/ext-all-debug.js b/ext-all-debug.js index 97e6e131..00231c85 100644 --- a/ext-all-debug.js +++ b/ext-all-debug.js @@ -4878,11 +4878,8 @@ Ext.onReady = Ext.EventManager.onDocumentReady; Ext.fly(bd, '_internal').addClass(cls); return true; }; - - - Ext.isReady = initExtCss(); - if (!Ext.isReady) { + if (!initExtCss()) { Ext.onReady(initExtCss); } })(); @@ -5089,6 +5086,73 @@ Ext.EventObject = function(){ return new Ext.EventObjectImpl(); }(); +Ext.Loader = Ext.apply({}, { + + load: function(fileList, callback, scope, preserveOrder) { + var scope = scope || this, + head = document.getElementsByTagName("head")[0], + fragment = document.createDocumentFragment(), + numFiles = fileList.length, + loadedFiles = 0, + me = this; + + + var loadFileIndex = function(index) { + head.appendChild( + me.buildScriptTag(fileList[index], onFileLoaded) + ); + }; + + + var onFileLoaded = function() { + loadedFiles ++; + + + if (numFiles == loadedFiles && typeof callback == 'function') { + callback.call(scope); + } else { + if (preserveOrder === true) { + loadFileIndex(loadedFiles); + } + } + }; + + if (preserveOrder === true) { + loadFileIndex.call(this, 0); + } else { + + Ext.each(fileList, function(file, index) { + fragment.appendChild( + this.buildScriptTag(file, onFileLoaded) + ); + }, this); + + head.appendChild(fragment); + } + }, + + + buildScriptTag: function(filename, callback) { + var script = document.createElement('script'); + script.type = "text/javascript"; + script.src = filename; + + + if (script.readyState) { + script.onreadystatechange = function() { + if (script.readyState == "loaded" || script.readyState == "complete") { + script.onreadystatechange = null; + callback(); + } + }; + } else { + script.onload = callback; + } + + return script; + } +}); + Ext.ns("Ext.grid", "Ext.list", "Ext.dd", "Ext.tree", "Ext.form", "Ext.menu", "Ext.state", "Ext.layout", "Ext.app", "Ext.ux", "Ext.chart", "Ext.direct"); @@ -8320,9 +8384,12 @@ Ext.apply(Date, { calc = [], regex = [], special = false, - ch = ""; + ch = "", + i = 0, + obj, + last; - for (var i = 0; i < format.length; ++i) { + for (; i < format.length; ++i) { ch = format.charAt(i); if (!special && ch == "\\") { special = true; @@ -8330,14 +8397,22 @@ Ext.apply(Date, { special = false; regex.push(String.escape(ch)); } else { - var obj = $f(ch, currentGroup); + obj = $f(ch, currentGroup); currentGroup += obj.g; regex.push(obj.s); if (obj.g && obj.c) { - calc.push(obj.c); + if (obj.calcLast) { + last = obj.c; + } else { + calc.push(obj.c); + } } } } + + if (last) { + calc.push(last); + } Date.parseRegexes[regexNum] = new RegExp("^" + regex.join('') + "$", 'i'); Date.parseFunctions[format] = new Function("input", "strict", xf(code, regexNum, calc.join(''))); @@ -8445,14 +8520,12 @@ Ext.apply(Date, { s:"(\\d{1,2})" }, - a: { - g:1, - c:"if (/(am)/i.test(results[{0}])) {\n" - + "if (!h || h == 12) { h = 0; }\n" - + "} else { if (!h || h < 12) { h = (h || 0) + 12; }}", - s:"(am|pm|AM|PM)" + a: function(){ + return $f("A"); }, A: { + + calcLast: true, g:1, c:"if (/(am)/i.test(results[{0}])) {\n" + "if (!h || h == 12) { h = 0; }\n" @@ -12769,7 +12842,7 @@ Ext.Container = Ext.extend(Ext.BoxComponent, { c = Ext.ComponentMgr.get(c); Ext.apply(c, d); }else if(!c.events){ - Ext.applyIf(c, d); + Ext.applyIf(c.isAction ? c.initialConfig : c, d); }else{ Ext.apply(c, d); } @@ -13259,6 +13332,9 @@ Ext.layout.ContainerLayout = Ext.extend(Object, { if(this.resizeTask && this.resizeTask.cancel){ this.resizeTask.cancel(); } + if(this.container) { + this.container.un(this.container.resizeEvent, this.onResize, this); + } if(!Ext.isEmpty(this.targetCls)){ var target = this.container.getLayoutTarget(); if(target){ @@ -23312,7 +23388,7 @@ Ext.data.Store = Ext.extend(Ext.util.Observable, { add : function(records) { - var i, record, index; + var i, len, record, index; records = [].concat(records); if (records.length < 1) { @@ -23410,7 +23486,7 @@ Ext.data.Store = Ext.extend(Ext.util.Observable, { insert : function(index, records) { - var i, record; + var i, len, record; records = [].concat(records); for (i = 0, len = records.length; i < len; i++) { @@ -23808,7 +23884,7 @@ Ext.data.Store = Ext.extend(Ext.util.Observable, { loadRecords : function(o, options, success){ - var i; + var i, len; if (this.isDestroyed === true) { return; @@ -25728,6 +25804,9 @@ Ext.extend(Ext.data.XmlReader, Ext.data.DataReader, { createAccessor : function(){ var q = Ext.DomQuery; return function(key) { + if (Ext.isFunction(key)) { + return key; + } switch(key) { case this.meta.totalProperty: return function(root, def){ @@ -25817,6 +25896,7 @@ Ext.data.GroupingStore = Ext.extend(Ext.data.Store, { groupOnSort:false, + groupDir : 'ASC', @@ -30690,6 +30770,11 @@ Ext.Button = Ext.extend(Ext.BoxComponent, { initComponent : function(){ + if(this.menu){ + this.menu = Ext.menu.MenuMgr.get(this.menu); + this.menu.ownerCt = this; + } + Ext.Button.superclass.initComponent.call(this); this.addEvents( @@ -30710,8 +30795,9 @@ Ext.Button = Ext.extend(Ext.BoxComponent, { 'menutriggerout' ); - if(this.menu){ - this.menu = Ext.menu.MenuMgr.get(this.menu); + + if (this.menu){ + this.menu.ownerCt = undefined; } if(Ext.isString(this.toggleGroup)){ this.enableToggle = true; @@ -37611,7 +37697,7 @@ Ext.chart.Chart.PROXY_FN_ID = 0; Ext.chart.Chart.proxyFunction = {}; -Ext.chart.Chart.CHART_URL = 'http:/' + '/yui.yahooapis.com/2.8.0/build/charts/assets/charts.swf'; +Ext.chart.Chart.CHART_URL = 'http:/' + '/yui.yahooapis.com/2.8.2/build/charts/assets/charts.swf'; Ext.chart.PieChart = Ext.extend(Ext.chart.Chart, { @@ -41415,10 +41501,16 @@ Ext.form.ComboBox = Ext.extend(Ext.form.TriggerField, { }, - assertValue : function(){ + assertValue : function(){ var val = this.getRawValue(), - rec = this.findRecord(this.displayField, val); + rec; + if(this.valueField && Ext.isDefined(this.value)){ + rec = this.findRecord(this.valueField, this.value); + } + if(!rec || rec.get(this.displayField) != val){ + rec = this.findRecord(this.displayField, val); + } if(!rec && this.forceSelection){ if(val.length > 0 && val != this.emptyText){ this.el.dom.value = Ext.value(this.lastSelectionText, ''); @@ -41427,11 +41519,11 @@ Ext.form.ComboBox = Ext.extend(Ext.form.TriggerField, { this.clearValue(); } }else{ - if(rec){ + if(rec && this.valueField){ - if (val == rec.get(this.displayField) && this.value == rec.get(this.valueField)){ + if (this.value == val){ return; } val = rec.get(this.valueField || this.displayField); @@ -41795,7 +41887,6 @@ Ext.form.Checkbox = Ext.extend(Ext.form.Field, { - actionMode : 'wrap', @@ -42311,6 +42402,10 @@ Ext.form.CompositeField = Ext.extend(Ext.form.Field, { for (var i=0, j = items.length; i < j; i++) { item = items[i]; + + if (!Ext.isEmpty(item.ref)){ + item.ref = '../' + item.ref; + } labels.push(item.fieldLabel); @@ -42343,8 +42438,10 @@ Ext.form.CompositeField = Ext.extend(Ext.form.Field, { layout : 'hbox', items : this.items, cls : 'x-form-composite', - defaultMargins: '0 3 0 0' + defaultMargins: '0 3 0 0', + ownerCt: this }); + this.innerCt.ownerCt = undefined; var fields = this.innerCt.findBy(function(c) { return c.isFormField; @@ -42900,12 +42997,14 @@ Ext.form.BasicForm = Ext.extend(Ext.util.Observable, { updateRecord : function(record){ record.beginEdit(); - var fs = record.fields; + var fs = record.fields, + field, + value; fs.each(function(f){ - var field = this.findField(f.name); + field = this.findField(f.name); if(field){ - var value = field.getValue(); - if ( value.getGroupValue ) { + value = field.getValue(); + if (typeof value != undefined && value.getGroupValue) { value = value.getGroupValue(); } else if ( field.eachItem ) { value = []; @@ -45394,20 +45493,21 @@ Ext.grid.GridPanel = Ext.extend(Ext.Panel, { store = this.store, s, c, - oldIndex; + colIndex; if(cs){ for(var i = 0, len = cs.length; i < len; i++){ s = cs[i]; c = cm.getColumnById(s.id); if(c){ - cm.setState(s.id, { + colIndex = cm.getIndexById(s.id); + cm.setState(colIndex, { hidden: s.hidden, - width: s.width + width: s.width, + sortable: s.sortable }); - oldIndex = cm.getIndexById(s.id); - if(oldIndex != i){ - cm.moveColumn(oldIndex, i); + if(colIndex != i){ + cm.moveColumn(colIndex, i); } } } @@ -45447,6 +45547,9 @@ Ext.grid.GridPanel = Ext.extend(Ext.Panel, { if(c.hidden){ o.columns[i].hidden = true; } + if(c.sortable){ + o.columns[i].sortable = true; + } } if(store){ ss = store.getSortState(); @@ -46987,8 +47090,8 @@ Ext.grid.GridView = Ext.extend(Ext.util.Observable, { Ext.DomHelper.insertHtml('beforeEnd', this.mainBody.dom, html); } if (!isUpdate) { - this.fireEvent('rowsinserted', this, firstRow, lastRow); this.processRows(firstRow); + this.fireEvent('rowsinserted', this, firstRow, lastRow); } else if (firstRow === 0 || firstRow >= last) { Ext.fly(this.getRow(firstRow)).addClass(firstRow === 0 ? this.firstRowCls : this.lastRowCls); @@ -49259,7 +49362,7 @@ Ext.grid.RowSelectionModel = Ext.extend(Ext.grid.AbstractSelectionModel, { s = this.getSelections(), i = 0, len = s.length, - index; + index, r; this.silent = true; this.clearSelections(true); @@ -49560,9 +49663,7 @@ Ext.grid.RowSelectionModel = Ext.extend(Ext.grid.AbstractSelectionModel, { r = newCell[0]; c = newCell[1]; - if(last.row != r){ - this.selectRow(r); - } + this.onEditorSelect(r, last.row); if(g.isEditor && g.editing){ ae = g.activeEditor; @@ -49575,12 +49676,19 @@ Ext.grid.RowSelectionModel = Ext.extend(Ext.grid.AbstractSelectionModel, { } }, + onEditorSelect: function(row, lastRow){ + if(lastRow != row){ + this.selectRow(row); + } + }, + destroy : function(){ Ext.destroy(this.rowNav); this.rowNav = null; Ext.grid.RowSelectionModel.superclass.destroy.call(this); } }); + Ext.grid.Column = Ext.extend(Ext.util.Observable, { @@ -49937,6 +50045,12 @@ Ext.grid.CheckboxSelectionModel = Ext.extend(Ext.grid.RowSelectionModel, { renderer : function(v, p, record){ return '
 
'; + }, + + onEditorSelect: function(row, lastRow){ + if(lastRow != row && !this.checkOnly){ + this.selectRow(row); + } } }); Ext.grid.CellSelectionModel = Ext.extend(Ext.grid.AbstractSelectionModel, { @@ -50839,9 +50953,10 @@ Ext.grid.GroupingView = Ext.extend(Ext.grid.GridView, { onGroupByClick : function(){ + var grid = this.grid; this.enableGrouping = true; - this.grid.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex)); - this.grid.fireEvent('groupchange', this, this.grid.store.getGroupState()); + grid.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex)); + grid.fireEvent('groupchange', grid, grid.store.getGroupState()); this.beforeMenuShow(); this.refresh(); },