X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=roojs-debug.js;h=257bcc48dca6d05ffd91cf1c9e0e7ce185cf0365;hb=e48ce1c5e71b3d18391128ea45810effc0d036b0;hp=7c8eec287e3a53814d05b1f6cf9bee8a8944b093;hpb=41a76ad00f5fc61e2452862ddf6908ae45d7fd73;p=roojs1 diff --git a/roojs-debug.js b/roojs-debug.js index 7c8eec287e..257bcc48dc 100644 --- a/roojs-debug.js +++ b/roojs-debug.js @@ -1015,8 +1015,34 @@ Roo.applyIf(Array.prototype, { } return res; + }, + /** + * equals + * @param {Array} o The array to compare to + * @returns {Boolean} true if the same + */ + equals : function(b) + { + // https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript + if (this === b) { + return true; + } + if (b == null) { + return false; + } + if (this.length !== b.length) { + return false; + } + + // sort?? a.sort().equals(b.sort()); + + for (var i = 0; i < this.length; ++i) { + if (this[i] !== b[i]) { + return false; + } + } + return true; } - }); @@ -4652,6 +4678,12 @@ Roo.Template = function(cfg){ }; Roo.Template.prototype = { + /** + * @cfg {Function} onLoad Called after the template has been loaded and complied (usually from a remove source) + */ + onLoad : false, + + /** * @cfg {String} url The Url to load the template from. beware if you are loading from a url, the data may not be ready if you use it instantly.. * it should be fixed so that template is observable... @@ -4661,11 +4693,18 @@ Roo.Template.prototype = { * @cfg {String} html The HTML fragment or an array of fragments to join("") or multiple arguments to join("") */ html : '', + + + compiled : false, + loaded : false, /** * Returns an HTML fragment of this template with the specified values applied. * @param {Object} values The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'}) * @return {String} The HTML fragment */ + + + applyTemplate : function(values){ //Roo.log(["applyTemplate", values]); try { @@ -4726,9 +4765,13 @@ Roo.Template.prototype = { method : 'GET', success : function (response) { _t.loading = false; - _t.html = response.responseText; _t.url = false; - _t.compile(); + + _t.set(response.responseText,true); + _t.loaded = true; + if (_t.onLoad) { + _t.onLoad(); + } }, failure : function(response) { Roo.log("Template failed to load from " + _t.url); @@ -4745,7 +4788,7 @@ Roo.Template.prototype = { */ set : function(html, compile){ this.html = html; - this.compiled = null; + this.compiled = false; if(compile){ this.compile(); } @@ -7127,12 +7170,14 @@ if(opt.anim.isAnimated()){ El.prototype = { /** - * The element's default display mode (defaults to "") + * The element's default display mode (defaults to "") * @type String */ originalDisplay : "", - visibilityMode : 1, + + // note this is overridden in BS version.. + visibilityMode : 1, /** * The default unit to append to CSS values where a unit isn't provided (defaults to px). * @type String @@ -8560,7 +8605,8 @@ if(opt.anim.isAnimated()){ * @param {Array} offsets (optional) Offset the positioning by [x, y] * @return {Array} [x, y] */ - getAlignToXY : function(el, p, o){ + getAlignToXY : function(el, p, o) + { el = Roo.get(el); var d = this.dom; if(!el.dom){ @@ -8601,7 +8647,7 @@ if(opt.anim.isAnimated()){ //otherwise swap the aligned el to the opposite border of the target. var p1y = p1.charAt(0), p1x = p1.charAt(p1.length-1); var p2y = p2.charAt(0), p2x = p2.charAt(p2.length-1); - var swapY = ((p1y=="t" && p2y=="b") || (p1y=="b" && p2y=="t")); + var swapY = ((p1y=="t" && p2y=="b") || (p1y=="b" && p2y=="t") ); var swapX = ((p1x=="r" && p2x=="l") || (p1x=="l" && p2x=="r")); var doc = document; @@ -11616,7 +11662,7 @@ Roo.extend(Roo.data.Connection, Roo.util.Observable, { var enctype = form.getAttribute("enctype"); if (o.formData) { - return this.doFormDataUpload(o,p,url); + return this.doFormDataUpload(o, url); } if(o.isUpload || (enctype && enctype.toLowerCase() == 'multipart/form-data')){ @@ -11625,6 +11671,16 @@ Roo.extend(Roo.data.Connection, Roo.util.Observable, { var f = Roo.lib.Ajax.serializeForm(form); p = p ? (p + '&' + f) : f; } + + if (!o.form && o.formData) { + o.formData = o.formData === true ? new FormData() : o.formData; + for (var k in o.params) { + o.formData.append(k,o.params[k]); + } + + return this.doFormDataUpload(o, url); + } + var hs = o.headers; if(this.defaultHeaders){ @@ -11802,11 +11858,17 @@ Roo.extend(Roo.data.Connection, Roo.util.Observable, { // this is a 'formdata version???' - doFormDataUpload : function(o, ps, url) + doFormDataUpload : function(o, url) { - var form = Roo.getDom(o.form); - form.enctype = form.encoding = 'multipart/form-data'; - var formData = o.formData === true ? new FormData(form) : o.formData; + var formData; + if (o.form) { + var form = Roo.getDom(o.form); + form.enctype = form.encoding = 'multipart/form-data'; + formData = o.formData === true ? new FormData(form) : o.formData; + } else { + formData = o.formData === true ? new FormData() : o.formData; + } + var cb = { success: this.handleResponse, @@ -11826,7 +11888,7 @@ Roo.extend(Roo.data.Connection, Roo.util.Observable, { //Roo.lib.Ajax.defaultPostHeader = null; Roo.lib.Ajax.useDefaultHeader = false; - this.transId = Roo.lib.Ajax.request( "POST", url, cb, o.formData, o); + this.transId = Roo.lib.Ajax.request( "POST", url, cb, formData, o); Roo.lib.Ajax.useDefaultHeader = true; @@ -22502,7 +22564,7 @@ Roo.dd.DropTarget = function(el, config){ * target. This default implementation adds the CSS class specified by overClass (if any) to the drop element * and returns the dropAllowed config value. This method should be overridden if drop validation is required. * - * IMPORTANT : it should set this.overClass and this.dropAllowed + * IMPORTANT : it should set this.valid to true|false * * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target * @param {Event} e The event @@ -22516,7 +22578,7 @@ Roo.dd.DropTarget = function(el, config){ * This method will be called on every mouse movement while the drag source is over the drop target. * This default implementation simply returns the dropAllowed config value. * - * IMPORTANT : it should set this.dropAllowed + * IMPORTANT : it should set this.valid to true|false * * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target * @param {Event} e The event @@ -22530,6 +22592,7 @@ Roo.dd.DropTarget = function(el, config){ * out of the target without dropping. This default implementation simply removes the CSS class specified by * overClass (if any) from the drop element. * + * * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target * @param {Event} e The event * @param {Object} data An object containing arbitrary data supplied by the drag source @@ -43595,10 +43658,11 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component, { st = ''; - } else { - st = ''; + } else { + for (var i in this.stylesheets) { + st += ''; + } + } st += '' + - ' '; + ' '; }, // private @@ -44524,6 +44588,9 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component, { if (v.match(/^#/)) { return; } + if (v.match(/^\{/)) { // allow template editing. + return; + } // Roo.log("(REMOVE TAG)"+ node.tagName +'.' + n + '=' + v); node.removeAttribute(n); @@ -45157,8 +45224,8 @@ Roo.HtmlEditorCore.cblack= [ Roo.HtmlEditorCore.swapCodes =[ - [ 8211, "--" ], - [ 8212, "--" ], + [ 8211, "–" ], + [ 8212, "—" ], [ 8216, "'" ], [ 8217, "'" ], [ 8220, '"' ], @@ -47537,7 +47604,26 @@ Roo.extend(Roo.form.BasicForm, Roo.util.Observable, { return valid; }, - + /** + * Returns array of invalid form fields. + * @return Array + */ + + invalidFields : function() + { + var ret = []; + this.items.each(function(f){ + if(f.validate()){ + return; + } + ret.push(f); + + }); + + return ret; + }, + + /** * DEPRICATED Returns true if any fields in this form have changed since their original load. * @return Boolean @@ -51385,10 +51471,10 @@ Roo.DDView = function(container, tpl, config) { this.getEl().setStyle("outline", "0px none"); this.getEl().unselectable(); if (this.dragGroup) { - this.setDraggable(this.dragGroup.split(",")); + this.setDraggable(this.dragGroup.split(",")); } if (this.dropGroup) { - this.setDroppable(this.dropGroup.split(",")); + this.setDroppable(this.dropGroup.split(",")); } if (this.deletable) { this.setDeletable(); @@ -54131,6 +54217,7 @@ Roo.LayoutStateManager.prototype = { * @cfg {String/Object} params When used with {@link #url}, calls {@link #setUrl} with this value * @cfg {Boolean} loadOnce When used with {@link #url}, calls {@link #setUrl} with this value * @cfg {String} content Raw content to fill content panel with (uses setContent on construction.) + * @cfg {String} style Extra style to add to the content panel * @constructor * Create a new ContentPanel. @@ -54168,6 +54255,8 @@ Roo.ContentPanel = function(el, config, content){ {tag: "div", cls: "x-layout-inactive-content", id: config.id||el}, true); } } + + this.closable = false; this.loaded = false; this.active = false; @@ -55319,6 +55408,9 @@ Roo.extend(Roo.grid.Grid, Roo.util.Observable, { /** * @cfg {String} ddGroup - drag drop group. */ + /** + * @cfg {String} dragGroup - drag group (?? not sure if needed.) + */ /** * @cfg {Number} minColumnWidth The minimum width a column can be resized to. Default is 25. @@ -55355,6 +55447,9 @@ Roo.extend(Roo.grid.Grid, Roo.util.Observable, { /** * @cfg {Boolean} enableDrag True to enable drag of rows. Default is false. (double check if this is needed?) + */ + /** + * @cfg {Boolean} enableDrop True to enable drop of elements. Default is false. (double check if this is needed?) */ /** @@ -55429,6 +55524,15 @@ Roo.extend(Roo.grid.Grid, Roo.util.Observable, { /** * @cfg {Number} maxHeight Sets the maximum height of the grid - ignored if autoHeight is not on. */ + + + /** + * @cfg {String} ddText Configures the text is the drag proxy (defaults to "%0 selected row(s)"). + * %0 is replaced with the number of selected rows. + */ + ddText : "{0} selected row{1}", + + /** * Called once after all setup has been completed and the grid is ready to be rendered. * @return {Roo.grid.Grid} this @@ -55744,6 +55848,7 @@ Roo.extend(Roo.grid.Grid, Roo.util.Observable, { }, /** * Called to get grid's drag proxy text, by default returns this.ddText. + * Override this to put something different in the dragged text. * @return {String} */ getDragDropText : function(){ @@ -55751,12 +55856,7 @@ Roo.extend(Roo.grid.Grid, Roo.util.Observable, { return String.format(this.ddText, count, count == 1 ? '' : 's'); } }); -/** - * Configures the text is the drag proxy (defaults to "%0 selected row(s)"). - * %0 is replaced with the number of selected rows. - * @type String - */ -Roo.grid.Grid.prototype.ddText = "{0} selected row{1}";/* +/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -57666,7 +57766,8 @@ Roo.extend(Roo.grid.GridView, Roo.grid.AbstractGridView, { } }, - layout : function(initialRender, is2ndPass){ + layout : function(initialRender, is2ndPass) + { var g = this.grid; var auto = g.autoHeight; var scrollOffset = 16; @@ -57925,7 +58026,12 @@ Roo.extend(Roo.grid.GridDragZone, Roo.dd.DragZone, { } } + if (sm.getSelections && sm.getSelections().length < 1) { + return false; + } + + // before it used to all dragging of unseleted... - now we dont do that. if(rowIndex !== false){ // if editorgrid.. @@ -57946,14 +58052,14 @@ Roo.extend(Roo.grid.GridDragZone, Roo.dd.DragZone, { grid: this.grid, ddel: this.ddel, rowIndex: rowIndex, - selections:sm.getSelections ? sm.getSelections() : ( - sm.getSelectedCell() ? [ this.grid.ds.getAt(sm.getSelectedCell()[0]) ] : [] - ) + selections: sm.getSelections ? sm.getSelections() : ( + sm.getSelectedCell() ? [ this.grid.ds.getAt(sm.getSelectedCell()[0]) ] : []) }; } return false; }, - + + onInitDrag : function(e){ var data = this.dragData; this.ddel.innerHTML = this.grid.getDragDropText();