X-Git-Url: http://git.roojs.org/?p=roojs1;a=blobdiff_plain;f=roojs-ui-debug.js;h=ac8135fe144f96a0aeb6ecf08770d6a1d0d45265;hp=93a85126ed5caa97bb777c5b47e30f8008f1c8ed;hb=refs%2Fheads%2Fwip_alan_T6102_issue_with_word_clean;hpb=f66d83783b12de21a85393e258257d217b1c1019 diff --git a/roojs-ui-debug.js b/roojs-ui-debug.js index 93a85126ed..ac8135fe14 100644 --- a/roojs-ui-debug.js +++ b/roojs-ui-debug.js @@ -567,6 +567,7 @@ Roo.extend(Roo.data.Store, Roo.util.Observable, { remove : function(record){ var index = this.data.indexOf(record); this.data.removeAt(index); + if(this.pruneModifiedRecords){ this.modified.remove(record); } @@ -1398,7 +1399,7 @@ Roo.extend(Roo.data.MemoryProxy, Roo.data.DataProxy, { params = params || {}; var result; try { - result = reader.readRecords(this.data); + result = reader.readRecords(params.data ? params.data :this.data); }catch(e){ this.fireEvent("loadexception", this, arg, null, e); callback.call(scope, null, arg, false); @@ -2137,24 +2138,31 @@ var myReader = new Roo.data.ArrayReader({ *

 [ [1, 'Bill', 'Gardener'], [2, 'Ben', 'Horticulturalist'] ]
   
- * @cfg {String} id (optional) The subscript within row Array that provides an ID for the Record + * @constructor * Create a new JsonReader * @param {Object} meta Metadata configuration options. - * @param {Object} recordType Either an Array of field definition objects + * @param {Object|Array} recordType Either an Array of field definition objects + * + * @cfg {Array} fields Array of field definition objects + * @cfg {String} id Name of the property within a row object that contains a record identifier value. * as specified to {@link Roo.data.Record#create}, * or an {@link Roo.data.Record} object + * + * * created using {@link Roo.data.Record#create}. */ Roo.data.ArrayReader = function(meta, recordType){ - Roo.data.ArrayReader.superclass.constructor.call(this, meta, recordType); + + + Roo.data.ArrayReader.superclass.constructor.call(this, meta, recordType||meta.fields); }; Roo.extend(Roo.data.ArrayReader, Roo.data.JsonReader, { /** * Create a data block containing Roo.data.Records from an XML document. * @param {Object} o An Array of row objects which represents the dataset. - * @return {Object} data A data block which is used by an Roo.data.Store object as + * @return {Object} A data block which is used by an {@link Roo.data.Store} object as * a cache of Roo.data.Records. */ readRecords : function(o){ @@ -2543,6 +2551,7 @@ Roo.extend(Roo.data.Node, Roo.util.Observable, { }else if(arguments.length > 1){ multi = arguments; } + // if passed an array or multiple args do them one by one if(multi){ for(var i = 0, len = multi.length; i < len; i++) { @@ -2561,6 +2570,7 @@ Roo.extend(Roo.data.Node, Roo.util.Observable, { } oldParent.removeChild(node); } + index = this.childNodes.length; if(index == 0){ this.setFirstChild(node); @@ -2578,6 +2588,9 @@ Roo.extend(Roo.data.Node, Roo.util.Observable, { this.setLastChild(node); node.setOwnerTree(this.getOwnerTree()); this.fireEvent("append", this.ownerTree, this, node, index); + if(this.ownerTree) { + this.ownerTree.fireEvent("appendnode", this, node, index); + } if(oldParent){ node.fireEvent("move", this.ownerTree, node, oldParent, this, index); } @@ -11225,7 +11238,7 @@ Roo.QuickTips = function(){ if(ttp){ showProc = show.defer(tm.showDelay, tm, [{ el: t, - text: ttp, + text: ttp.replace(/\\n/g,'
'), width: et.getAttributeNS(ns, cfg.width), autoHide: et.getAttributeNS(ns, cfg.hide) != "user", title: et.getAttributeNS(ns, cfg.title), @@ -11815,7 +11828,15 @@ Roo.tree.TreePanel = function(el, config){ * * @param {Object} dragOverEvent */ - "nodedragover" : true + "nodedragover" : true, + /** + * @event appendnode + * Fires when append node to the tree + * @param {Roo.tree.TreePanel} this + * @param {Roo.tree.TreeNode} node + * @param {Number} index The index of the newly appended node + */ + "appendnode" : true }); if(this.singleExpand){ @@ -12393,7 +12414,7 @@ Roo.extend(Roo.tree.MultiSelectionModel, Roo.util.Observable, { * @cfg {Boolean} allowDrop false if this node cannot be drop on * @cfg {Boolean} disabled true to start the node disabled * @cfg {String} icon The path to an icon for the node. The preferred way to do this - * is to use the cls or iconCls attributes and add the icon via a CSS background image. + * is to use the cls or iconCls attributes and add the icon via a CSS background image. * @cfg {String} cls A css class to be added to the node * @cfg {String} iconCls A css class to be added to the nodes icon element for applying css background images * @cfg {String} href URL of the link used for the node (defaults to #) @@ -12676,7 +12697,8 @@ Roo.extend(Roo.tree.TreeNode, Roo.data.Node, { this.renderChildren(); } this.expanded = true; - if(!this.isHiddenRoot() && (this.getOwnerTree().animate && anim !== false) || anim){ + + if(!this.isHiddenRoot() && (this.getOwnerTree() && this.getOwnerTree().animate && anim !== false) || anim){ this.ui.animExpand(function(){ this.fireEvent("expand", this); if(typeof callback == "function"){ @@ -13127,7 +13149,7 @@ Roo.tree.TreeNodeUI.prototype = { this.addClass("x-tree-node-disabled"); } var ot = this.node.getOwnerTree(); - var dd = ot.enableDD || ot.enableDrag || ot.enableDrop; + var dd = ot ? (ot.enableDD || ot.enableDrag || ot.enableDrop) : false; if(dd && (!this.node.isRoot || ot.rootVisible)){ Roo.dd.Registry.register(this.elNode, { node: this.node, @@ -13370,11 +13392,11 @@ Roo.tree.TreeNodeUI.prototype = { // add some indent caching, this helps performance when rendering a large tree this.indentMarkup = n.parentNode ? n.parentNode.ui.getChildIndent() : ''; var t = n.getOwnerTree(); - var txt = t.renderer ? t.renderer(n.attributes) : Roo.util.Format.htmlEncode(n.text); + var txt = t && t.renderer ? t.renderer(n.attributes) : Roo.util.Format.htmlEncode(n.text); if (typeof(n.attributes.html) != 'undefined') { txt = n.attributes.html; } - var tip = t.rendererTip ? t.rendererTip(n.attributes) : txt; + var tip = t && t.rendererTip ? t.rendererTip(n.attributes) : txt; var cb = typeof a.checked == 'boolean'; var href = a.href ? a.href : Roo.isGecko ? "" : "#"; var buf = ['
  • ', @@ -13560,7 +13582,9 @@ Roo.extend(Roo.tree.RootTreeNodeUI, Roo.tree.TreeNodeUI, { myTreeLoader.on("beforeload", function(treeLoader, node) { this.baseParams.category = node.attributes.category; }, this); -< + + + * * This would pass an HTTP parameter called "category" to the server containing * the value of the Node's "category" attribute. * @constructor @@ -14765,7 +14789,9 @@ Roo.extend(Roo.tree.ColumnTree, Roo.tree.TreePanel, { * @param {Object} config Configuration options */ Roo.menu.Menu = function(config){ - Roo.apply(this, config); + + Roo.menu.Menu.superclass.constructor.call(this, config); + this.id = this.id || Roo.id(); this.addEvents({ /** @@ -16246,6 +16272,69 @@ Roo.extend(Roo.menu.ColorMenu, Roo.menu.Menu);/* *