//
(function() {
+ /**
+ * eval:var:escape
+ * eval:var:unescape
+ * eval:var:replace
+ */
+
+ /**
+ * Helpers
+ */
+
+ var escape = function (html, encode) {
+ return html
+ .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&')
+ .replace(/</g, '<')
+ .replace(/>/g, '>')
+ .replace(/"/g, '"')
+ .replace(/'/g, ''');
+ }
+
+ var unescape = function (html) {
+ // explicitly match decimal, hex, and named HTML entities
+ return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) {
+ n = n.toLowerCase();
+ if (n === 'colon') { return ':'; }
+ if (n.charAt(0) === '#') {
+ return n.charAt(1) === 'x'
+ ? String.fromCharCode(parseInt(n.substring(2), 16))
+ : String.fromCharCode(+n.substring(1));
+ }
+ return '';
+ });
+ }
+
+ var replace = function (regex, opt) {
+ regex = regex.source;
+ opt = opt || '';
+ return function self(name, val) {
+ if (!name) { return new RegExp(regex, opt); }
+ val = val.source || val;
+ val = val.replace(/(^|[^\[])\^/g, '$1');
+ regex = regex.replace(name, val);
+ return self;
+ };
+ }
+
+
+ /**
+ * eval:var:noop
+ */
+ var noop = function () {}
+ noop.exec = noop;
+
+ /**
+ * eval:var:merge
+ */
+ var merge = function (obj) {
+ var i = 1
+ , target
+ , key;
+
+ for (; i < arguments.length; i++) {
+ target = arguments[i];
+ for (key in target) {
+ if (Object.prototype.hasOwnProperty.call(target, key)) {
+ obj[key] = target[key];
+ }
+ }
+ }
+
+ return obj;
+ }
+
+
/**
* Block-Level Grammar
*/
+
+
+
var block = {
newline: /^\n+/,
code: /^( {4}[^\n]+\n*)+/,
* Block Lexer
*/
- function Lexer(options) {
+ var Lexer = function (options) {
this.tokens = [];
this.tokens.links = {};
this.options = options || marked.defaults;
* Inline Lexer & Compiler
*/
- function InlineLexer(links, options) {
+ var InlineLexer = function (links, options) {
this.options = options || marked.defaults;
this.links = links;
this.rules = inline.normal;
* Renderer
*/
- function Renderer(options) {
+ /**
+ * eval:var:Renderer
+ */
+
+ var Renderer = function (options) {
this.options = options || {};
}
/**
* Parsing & Compiling
*/
+ /**
+ * eval:var:Parser
+ */
- function Parser(options) {
+ var Parser= function (options) {
this.tokens = [];
this.token = null;
this.options = options || marked.defaults;
}
}
};
-
- /**
- * Helpers
- */
-
- function escape(html, encode) {
- return html
- .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&')
- .replace(/</g, '<')
- .replace(/>/g, '>')
- .replace(/"/g, '"')
- .replace(/'/g, ''');
- }
-
- function unescape(html) {
- // explicitly match decimal, hex, and named HTML entities
- return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) {
- n = n.toLowerCase();
- if (n === 'colon') { return ':'; }
- if (n.charAt(0) === '#') {
- return n.charAt(1) === 'x'
- ? String.fromCharCode(parseInt(n.substring(2), 16))
- : String.fromCharCode(+n.substring(1));
- }
- return '';
- });
- }
-
- function replace(regex, opt) {
- regex = regex.source;
- opt = opt || '';
- return function self(name, val) {
- if (!name) { return new RegExp(regex, opt); }
- val = val.source || val;
- val = val.replace(/(^|[^\[])\^/g, '$1');
- regex = regex.replace(name, val);
- return self;
- };
- }
-
- function noop() {}
- noop.exec = noop;
-
- function merge(obj) {
- var i = 1
- , target
- , key;
-
- for (; i < arguments.length; i++) {
- target = arguments[i];
- for (key in target) {
- if (Object.prototype.hasOwnProperty.call(target, key)) {
- obj[key] = target[key];
- }
- }
- }
-
- return obj;
- }
-
+
/**
* Marked
*/
-
- function marked(src, opt, callback) {
+ /**
+ * eval:var:marked
+ */
+ var marked = function (src, opt, callback) {
if (callback || typeof opt === 'function') {
if (!callback) {
callback = opt;
}
pending = tokens.length;
-
+ /**
+ * eval:var:done
+ */
var done = function(err) {
if (err) {
opt.highlight = highlight;
* @return {String} The HTML fragment
*/
applyTemplate : function(values){
+ Roo.log(["applyTemplate", values]);
try {
if(this.compiled){
*
* created using {@link Roo.data.Record#create}.
*/
-Roo.data.ArrayReader = function(meta, recordType){
-
-
+Roo.data.ArrayReader = function(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} A data block which is used by an {@link Roo.data.Store} object as
* a cache of Roo.data.Records.
*/
- readRecords : function(o){
+ readRecords : function(o)
+ {
var sid = this.meta ? this.meta.id : null;
var recordType = this.recordType, fields = recordType.prototype.fields;
var records = [];
var root = o;
- for(var i = 0; i < root.length; i++){
- var n = root[i];
- var values = {};
- var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null);
- for(var j = 0, jlen = fields.length; j < jlen; j++){
- var f = fields.items[j];
- var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j;
- var v = n[k] !== undefined ? n[k] : f.defaultValue;
- v = f.convert(v);
- values[f.name] = v;
- }
- var record = new recordType(values, id);
- record.json = n;
- records[records.length] = record;
+ for(var i = 0; i < root.length; i++){
+ var n = root[i];
+ var values = {};
+ var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null);
+ for(var j = 0, jlen = fields.length; j < jlen; j++){
+ var f = fields.items[j];
+ var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j;
+ var v = n[k] !== undefined ? n[k] : f.defaultValue;
+ v = f.convert(v);
+ values[f.name] = v;
}
- return {
- records : records,
- totalRecords : records.length
- };
+ var record = new recordType(values, id);
+ record.json = n;
+ records[records.length] = record;
+ }
+ return {
+ records : records,
+ totalRecords : records.length
+ };
+ },
+ // used when loading children.. @see loadDataFromChildren
+ toLoadData: function(rec)
+ {
+ // expect rec just to be an array.. eg [a,b,c, [...] << cn ]
+ return typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn;
+
}
+
+
});
\ No newline at end of file
};
Roo.data.DataReader.prototype = {
+
+
+ readerType : 'Data',
/**
* Create an empty record
* @param {Object} data (optional) - overlay some values
return new this.recordType(Roo.apply(da, d));
}
+
};
\ No newline at end of file
};
Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, {
+ readerType : 'Json',
+
/**
* @prop {Boolean} metaFromRemote - if the meta data was loaded from the remote source.
* Used by Store query builder to append _requestMeta to params.
records : records,
totalRecords : totalRecords
};
+ },
+ // used when loading children.. @see loadDataFromChildren
+ toLoadData: function(rec)
+ {
+ // expect rec just to be an array.. eg [a,b,c, [...] << cn ]
+ var data = typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn;
+ return { data : data, total : data.length };
+
}
});
\ No newline at end of file
* Small helper class to make creating Stores from Array data easier.
* @cfg {Number} id The array index of the record id. Leave blank to auto generate ids.
* @cfg {Array} fields An array of field definition objects, or field name strings.
+ * @cfg {Object} an existing reader (eg. copied from another store)
* @cfg {Array} data The multi-dimensional array of data
* @constructor
* @param {Object} config
*/
-Roo.data.SimpleStore = function(config){
+Roo.data.SimpleStore = function(config)
+{
Roo.data.SimpleStore.superclass.constructor.call(this, {
isLocal : true,
- reader: new Roo.data.ArrayReader({
+ reader: typeof(config.reader) != 'undefined' ? config.reader : new Roo.data.ArrayReader({
id: config.id
},
Roo.data.Record.create(config.fields)
var r = this.reader.readRecords(o);
this.loadRecords(r, {add: append}, true);
},
+
+ /**
+ * using 'cn' the nested child reader read the child array into it's child stores.
+ * @param {Object} rec The record with a 'children array
+ */
+ loadDataFromChildren : function(rec)
+ {
+ this.loadData(this.reader.toLoadData(rec));
+ },
+
/**
* Gets the number of cached records.
Roo.data.XmlReader.superclass.constructor.call(this, meta, recordType||meta.fields);
};
Roo.extend(Roo.data.XmlReader, Roo.data.DataReader, {
+
+ readerType : 'Xml',
+
/**
* This method is only used by a DataProxy which has retrieved data from a remote server.
* @param {Object} response The XHR object which contains the parsed XML document. The response is expected
// element that contains real text value.. (when hidden is used..)
// private
- onRender : function(ct, position){
+ onRender : function(ct, position)
+ {
Roo.form.ComboBox.superclass.onRender.call(this, ct, position);
- if(this.hiddenName){
+
+ if(this.hiddenName){
this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)},
'before', true);
this.hiddenField.value =
}
+
if(Roo.isGecko){
this.el.dom.setAttribute('autocomplete', 'off');
}
}
this.view = new Roo.View(this.innerList, this.tpl, {
- singleSelect:true, store: this.store, selectedClass: this.selectedClass
+ singleSelect:true,
+ store: this.store,
+ selectedClass: this.selectedClass
});
this.view.on('click', this.onViewClick, this);
--- /dev/null
+/*
+ * RooJS Library 1.1.1
+ * Copyright(c) 2008-2011 Alan Knowles
+ *
+ * License - LGPL
+ */
+
+
+/**
+ * @class Roo.form.ComboNested
+ * @extends Roo.form.ComboBox
+ * A combobox for that allows selection of nested items in a list,
+ * eg.
+ *
+ * Book
+ * -> red
+ * -> green
+ * Table
+ * -> square
+ * ->red
+ * ->green
+ * -> rectangle
+ * ->green
+ *
+ *
+ * @constructor
+ * Create a new ComboNested
+ * @param {Object} config Configuration options
+ */
+Roo.form.ComboNested = function(config){
+ Roo.form.ComboCheck.superclass.constructor.call(this, config);
+ // should verify some data...
+ // like
+ // hiddenName = required..
+ // displayField = required
+ // valudField == required
+ var req= [ 'hiddenName', 'displayField', 'valueField' ];
+ var _t = this;
+ Roo.each(req, function(e) {
+ if ((typeof(_t[e]) == 'undefined' ) || !_t[e].length) {
+ throw "Roo.form.ComboNested : missing value for: " + e;
+ }
+ });
+
+
+};
+
+Roo.extend(Roo.form.ComboNested, Roo.form.ComboBox, {
+
+ /*
+ * @config {Number} max Number of columns to show
+ */
+
+ maxColumns : 3,
+
+ list : null, // the outermost div..
+ innerLists : null, // the
+ views : null,
+ stores : null,
+ // private
+ loadingChildren : false,
+
+ onRender : function(ct, position)
+ {
+ Roo.form.ComboBox.superclass.onRender.call(this, ct, position); // skip parent call - got to above..
+
+ if(this.hiddenName){
+ this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)},
+ 'before', true);
+ this.hiddenField.value =
+ this.hiddenValue !== undefined ? this.hiddenValue :
+ this.value !== undefined ? this.value : '';
+
+ // prevent input submission
+ this.el.dom.removeAttribute('name');
+
+
+ }
+
+ if(Roo.isGecko){
+ this.el.dom.setAttribute('autocomplete', 'off');
+ }
+
+ var cls = 'x-combo-list';
+
+ this.list = new Roo.Layer({
+ shadow: this.shadow, cls: [cls, this.listClass].join(' '), constrain:false
+ });
+
+ var lw = this.listWidth || Math.max(this.wrap.getWidth(), this.minListWidth);
+ this.list.setWidth(lw);
+ this.list.swallowEvent('mousewheel');
+ this.assetHeight = 0;
+
+ if(this.title){
+ this.header = this.list.createChild({cls:cls+'-hd', html: this.title});
+ this.assetHeight += this.header.getHeight();
+ }
+ this.innerLists = [];
+ this.views = [];
+ this.stores = [];
+ for (var i =0 ; i < this.maxColumns; i++) {
+ this.onRenderList( cls, i);
+ }
+
+ // always needs footer, as we are going to have an 'OK' button.
+ this.footer = this.list.createChild({cls:cls+'-ft'});
+ this.pageTb = new Roo.Toolbar(this.footer);
+ var _this = this;
+ this.pageTb.add( {
+
+ text: 'Done',
+ handler: function()
+ {
+ _this.collapse();
+ }
+ });
+
+ if ( this.allowBlank && !this.disableClear) {
+
+ this.pageTb.add(new Roo.Toolbar.Fill(), {
+ cls: 'x-btn-icon x-btn-clear',
+ text: ' ',
+ handler: function()
+ {
+ _this.collapse();
+ _this.clearValue();
+ _this.onSelect(false, -1);
+ }
+ });
+ }
+ if (this.footer) {
+ this.assetHeight += this.footer.getHeight();
+ }
+
+ },
+ onRenderList : function ( cls, i)
+ {
+
+ var lw = Math.floor(
+ ((this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')) / this.maxColumns
+ );
+
+ this.list.setWidth(lw); // default to '1'
+
+ var il = this.innerLists[i] = this.list.createChild({cls:cls+'-inner'});
+ //il.on('mouseover', this.onViewOver, this, { list: i });
+ //il.on('mousemove', this.onViewMove, this, { list: i });
+ il.setWidth(lw);
+ il.setStyle({ 'overflow-x' : 'hidden'});
+
+ if(!this.tpl){
+ this.tpl = new Roo.Template({
+ html : '<div class="'+cls+'-item '+cls+'-item-{cn:this.isEmpty}">{' + this.displayField + '}</div>',
+ isEmpty: function (value, allValues) {
+ //Roo.log(value);
+ var dl = typeof(value.data) != 'undefined' ? value.data.length : value.length; ///json is a nested response..
+ return dl ? 'has-children' : 'no-children'
+ }
+ });
+ }
+
+ var store = this.store;
+ if (i > 0) {
+ store = new Roo.data.SimpleStore({
+ //fields : this.store.reader.meta.fields,
+ reader : this.store.reader,
+ data : [ ]
+ });
+ }
+ this.stores[i] = store;
+
+ var view = this.views[i] = new Roo.View(
+ il,
+ this.tpl,
+ {
+ singleSelect:true,
+ store: store,
+ selectedClass: this.selectedClass
+ }
+ );
+ view.getEl().setWidth(lw);
+ view.getEl().setStyle({
+ position: i < 1 ? 'relative' : 'absolute',
+ top: 0,
+ left: (i * lw ) + 'px',
+ display : i > 0 ? 'none' : 'block'
+ });
+ view.on('selectionchange', this.onSelectChange, this, {list : i });
+ view.on('dblclick', this.onDoubleClick, this, {list : i });
+ //view.on('click', this.onViewClick, this, { list : i });
+
+ store.on('beforeload', this.onBeforeLoad, this);
+ store.on('load', this.onLoad, this, { list : i});
+ store.on('loadexception', this.onLoadException, this);
+
+ // hide the other vies..
+
+
+
+ },
+
+ restrictHeight : function()
+ {
+ var mh = 0;
+ Roo.each(this.innerLists, function(il,i) {
+ var el = this.views[i].getEl();
+ el.dom.style.height = '';
+ var inner = el.dom;
+ var h = Math.max(il.clientHeight, il.offsetHeight, il.scrollHeight);
+ // only adjust heights on other ones..
+ mh = Math.max(h, mh);
+ if (i < 1) {
+
+ el.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight);
+ il.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight);
+
+ }
+
+
+ }, this);
+
+ this.list.beginUpdate();
+ this.list.setHeight(mh+this.list.getFrameWidth('tb')+this.assetHeight);
+ this.list.alignTo(this.el, this.listAlign);
+ this.list.endUpdate();
+
+ },
+
+
+ // -- store handlers..
+ // private
+ onBeforeLoad : function()
+ {
+ if(!this.hasFocus){
+ return;
+ }
+ this.innerLists[0].update(this.loadingText ?
+ '<div class="loading-indicator">'+this.loadingText+'</div>' : '');
+ this.restrictHeight();
+ this.selectedIndex = -1;
+ },
+ // private
+ onLoad : function(a,b,c,d)
+ {
+ if (!this.loadingChildren) {
+ // then we are loading the top level. - hide the children
+ for (var i = 1;i < this.views.length; i++) {
+ this.views[i].getEl().setStyle({ display : 'none' });
+ }
+ var lw = Math.floor(
+ ((this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')) / this.maxColumns
+ );
+
+ this.list.setWidth(lw); // default to '1'
+
+
+ }
+ if(!this.hasFocus){
+ return;
+ }
+
+ if(this.store.getCount() > 0) {
+ this.expand();
+ this.restrictHeight();
+ } else {
+ this.onEmptyResults();
+ }
+
+ if (!this.loadingChildren) {
+ this.selectActive();
+ }
+ /*
+ this.stores[1].loadData([]);
+ this.stores[2].loadData([]);
+ this.views
+ */
+
+ //this.el.focus();
+ },
+
+
+ // private
+ onLoadException : function()
+ {
+ this.collapse();
+ Roo.log(this.store.reader.jsonData);
+ if (this.store && typeof(this.store.reader.jsonData.errorMsg) != 'undefined') {
+ Roo.MessageBox.alert("Error loading",this.store.reader.jsonData.errorMsg);
+ }
+
+
+ },
+ // no cleaning of leading spaces on blur here.
+ cleanLeadingSpace : function(e) { },
+
+
+ onSelectChange : function (view, sels, opts )
+ {
+ var ix = view.getSelectedIndexes();
+
+ if (opts.list > this.maxColumns - 2) {
+ if (view.store.getCount()< 1) {
+ this.views[opts.list ].getEl().setStyle({ display : 'none' });
+
+ } else {
+ if (ix.length) {
+ // used to clear ?? but if we are loading unselected
+ this.setFromData(view.store.getAt(ix[0]).data);
+ }
+
+ }
+
+ return;
+ }
+
+ if (!ix.length) {
+ // this get's fired when trigger opens..
+ // this.setFromData({});
+ var str = this.stores[opts.list+1];
+ str.data.clear(); // removeall wihtout the fire events..
+ return;
+ }
+
+ var rec = view.store.getAt(ix[0]);
+
+ this.setFromData(rec.data);
+ this.fireEvent('select', this, rec, ix[0]);
+
+ var lw = Math.floor(
+ (
+ (this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')
+ ) / this.maxColumns
+ );
+ this.loadingChildren = true;
+ this.stores[opts.list+1].loadDataFromChildren( rec );
+ this.loadingChildren = false;
+ var dl = this.stores[opts.list+1]. getTotalCount();
+
+ this.views[opts.list+1].getEl().setHeight( this.innerLists[0].getHeight());
+
+ this.views[opts.list+1].getEl().setStyle({ display : dl ? 'block' : 'none' });
+ for (var i = opts.list+2; i < this.views.length;i++) {
+ this.views[i].getEl().setStyle({ display : 'none' });
+ }
+
+ this.innerLists[opts.list+1].setHeight( this.innerLists[0].getHeight());
+ this.list.setWidth(lw * (opts.list + (dl ? 2 : 1)));
+
+ if (this.isLoading) {
+ // this.selectActive(opts.list);
+ }
+
+ },
+
+
+
+
+ onDoubleClick : function()
+ {
+ this.collapse(); //??
+ },
+
+
+
+
+
+ // private
+ recordToStack : function(store, prop, value, stack)
+ {
+ var cstore = new Roo.data.SimpleStore({
+ //fields : this.store.reader.meta.fields, // we need array reader.. for
+ reader : this.store.reader,
+ data : [ ]
+ });
+ var _this = this;
+ var record = false;
+ var srec = false;
+ if(store.getCount() < 1){
+ return false;
+ }
+ store.each(function(r){
+ if(r.data[prop] == value){
+ record = r;
+ srec = r;
+ return false;
+ }
+ if (r.data.cn && r.data.cn.length) {
+ cstore.loadDataFromChildren( r);
+ var cret = _this.recordToStack(cstore, prop, value, stack);
+ if (cret !== false) {
+ record = cret;
+ srec = r;
+ return false;
+ }
+ }
+
+ return true;
+ });
+ if (record == false) {
+ return false
+ }
+ stack.unshift(srec);
+ return record;
+ },
+
+ /*
+ * find the stack of stores that match our value.
+ *
+ *
+ */
+
+ selectActive : function ()
+ {
+ // if store is not loaded, then we will need to wait for that to happen first.
+ var stack = [];
+ this.recordToStack(this.store, this.valueField, this.getValue(), stack);
+ for (var i = 0; i < stack.length; i++ ) {
+ this.views[i].select(stack[i].store.indexOf(stack[i]), false, false );
+ }
+
+ }
+
+
+
+
+
+
+});
\ No newline at end of file
var ls = this.listeners, scope, len = ls.length;
if(len > 0){
this.firing = true;
- var args = Array.prototype.slice.call(arguments, 0);
+
for(var i = 0; i < len; i++){
- var l = ls[i];
- if(l.fireFn.apply(l.scope||this.obj||window, arguments) === false){
+ var args = Array.prototype.slice.call(arguments, 0);
+ var l = ls[i];
+ args.push(l.options);
+ if(l.fireFn.apply(l.scope||this.obj||window, args) === false){
this.firing = false;
return false;
}
Roo.form.MonthField
Roo.form.ComboBox
Roo.form.ComboBoxArray
+Roo.form.ComboNested
Roo.form.Checkbox
Roo.form.Radio
Roo.HtmlEditorCore
Roo.form.Signature
Roo.form.Select
+
// Must be after view and form.field as it uses both.
Roo.DDView
{
float: left;
}
-
+/* needed for nested combo */
+.x-combo-list-item.x-combo-list-item-has-children:after {
+ content: '>';
+ float: right;
+ margin-right: 2px;
+}
.x-resizable-handle{position:absolute;z-index:100;font-size:1px;line-height:6px;overflow:hidden;background:white;filter:alpha(opacity=0);opacity:0;zoom:1;}.x-resizable-handle-east{width:6px;cursor:e-resize;right:0;top:0;height:100%;margin-right:-1px;}.x-resizable-handle-south{width:100%;cursor:s-resize;left:0;bottom:0;height:6px;margin-bottom:-1px;}.x-resizable-handle-west{width:6px;cursor:w-resize;left:0;top:0;height:100%;}.x-resizable-handle-north{width:100%;cursor:n-resize;left:0;top:0;height:6px;}.x-resizable-handle-southeast{width:6px;cursor:se-resize;right:0;bottom:0;height:6px;z-index:101;}.x-resizable-handle-northwest{width:6px;cursor:nw-resize;left:0;top:0;height:6px;z-index:101;}.x-resizable-handle-northeast{width:6px;cursor:ne-resize;right:0;top:0;height:6px;z-index:101;}.x-resizable-handle-southwest{width:6px;cursor:sw-resize;left:0;bottom:0;height:6px;z-index:101;}.x-resizable-over .x-resizable-handle,.x-resizable-pinned .x-resizable-handle{filter:alpha(opacity=100);opacity:1;}.x-resizable-over .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-east{background:url("../images/default/sizer/e-handle.gif");background-position:left;}.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-west{background:url("../images/default/sizer/e-handle.gif");background-position:left;}.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-south{background:url("../images/default/sizer/s-handle.gif");background-position:top;}.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north{background:url("../images/default/sizer/s-handle.gif");background-position:top;}.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{background:url("../images/default/sizer/corners-sprite.gif");background-position:top left;}.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{background:url("../images/default/sizer/corners-sprite.gif");background-position:bottom right;}.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{background:url("../images/default/sizer/corners-sprite.gif");background-position:bottom left;}.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{background:url("../images/default/sizer/corners-sprite.gif");background-position:top right;}.x-resizable-proxy{border:1px dashed #6593cf;position:absolute;overflow:hidden;visibility:hidden;left:0;top:0;z-index:1001;}.x-resizable-overlay{width:100%;height:100%;display:none;position:absolute;left:0;top:0;background:white;z-index:20000;-moz-opacity:0;opacity:0;filter:alpha(opacity=0);border:1px solid red;}
.x-grid{background-color:#FFF;position:relative;overflow:hidden;}.x-grid-locked,.x-grid-viewport{position:absolute;display:block;z-index:2;top:0;left:0;overflow:hidden;}.x-grid-scroller{overflow:auto;}.x-grid-hd-text{font-size:8pt;padding-left:6px;}.x-grid-hd-text,.x-grid-cell-text{display:block;overflow:hidden;padding:3px 5px;-moz-user-select:none;}.x-grid-col{cursor:default;height:16px!important;box-sizing:border-box;-moz-box-sizing:border-box;-moz-outline:none;-moz-user-focus:normal;overflow:hidden;border-left:1px solid #f1efe2;}.x-edit-grid .x-grid-col{-moz-outline:normal;}.x-grid-col,.x-grid-header{-o-text-overflow:ellipsis;text-overflow:ellipsis;}.x-grid-col-0{border-left:0;}.x-grid-col-last{border-right:1px solid #f1efe2;}.x-grid-editor{box-sizing:border-box;-moz-box-sizing:border-box;font:normal 8pt arial;border:1px solid #afbdc9;z-index:10;}.x-grid-editor input{font:normal 8pt arial;border:0;padding-top:2px;padding-left:3px;height:18px;}.x-grid-editor-container{overflow:hidden;display:block;background-color:white;}.x-grid-editor .pick-button{width:15px;height:20px;position:absolute;display:block;right:0;top:0;z-index:2;background-image:url(../images/default/grid/pick-button.gif);background-repeat:no-repeat;}.x-grid-editor-invalid{background-image:url(../images/default/grid/invalid_line.gif);background-repeat:repeat-x;background-position:bottom;border:1px solid #afbdc9;}.x-grid-checkbox-editor{text-align:center;overflow:hidden;display:block;background-color:white;}.x-grid-checkbox-editor input{margin-top:3px;height:13px;width:13px;}select.x-grid-editor{padding:0;-moz-outline:none;border:1px solid #afbdc9;}.x-grid-num-editor{text-align:right;padding-top:2px;padding-left:3px;}.x-grid-text-editor{padding-top:2px;padding-left:3px;}.x-grid-header{font:normal 8pt arial;background-color:#ebeadb;box-sizing:border-box;-moz-box-sizing:border-box;display:block;position:absolute;overflow:hidden;width:100%;height:22px;border-bottom:1px solid #333;cursor:pointer;}.x-grid-column-sizer{width:1px;border-right:1px dashed #6593cf;background:none;cursor:col-resize;}.x-grid-drag-proxy{width:150px;height:24px;background-color:#36c;border:1px solid #026;position:absolute;visibility:hidden;z-index:10000;}.x-grid-drag-text{font:normal 8pt arial;color:white;position:absolute;top:0;left:26px;padding:3px;display:block;}.x-grid-drop-icon{position:absolute;top:0;left:0;display:block;width:24px;height:100%;background-position:center;background-repeat:no-repeat;}.x-grid-drop-nodrop{background-image:url(../images/default/grid/drop-no.gif);}.x-grid-drop-ok{background-image:url(../images/default/grid/drop-yes.gif);}.x-grid-hd-row img.x-grid-sort-icon{height:4px;width:13px;border:0;margin-left:4px;vertical-align:middle;}.x-grid-hd-row .sort-asc img.x-grid-sort-icon{background-image:url(../images/default/grid/sort_asc.gif);background-position:right;background-repeat:no-repeat;}.x-grid-hd-row .sort-desc img.x-grid-sort-icon{background-image:url(../images/default/grid/sort_desc.gif);background-position:right;background-repeat:no-repeat;}.x-grid-hd-body{cursor:default;display:block;font:normal 8pt arial;left:0;overflow:hidden;padding:3px 5px;position:relative;top:0;white-space:nowrap;}.x-grid-hd-body span{font:normal 8pt arial;white-space:nowrap;}.x-grid-hd-over{border-bottom:2px solid #fcc247;}.x-grid-hd-over .x-grid-hd-body{background-color:#faf9f4;border-bottom:1px solid #f9a900;}.x-grid-split{background-image:url(../images/default/grid/grid-split.gif);background-position:center;background-repeat:no-repeat;cursor:e-resize;display:block;font-size:1px;height:16px;overflow:hidden;position:absolute;top:2px;width:6px;z-index:3;}.x-grid-hrow{background:#ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x;display:block;height:22px;left:0;position:relative;top:0;width:10000px;overflow:hidden;z-index:2;}.x-grid-hrow-frame{height:22px;left:0;display:block;position:absolute;top:0;width:10000px;z-index:1;}.x-grid-footer .x-toolbar{border:0;}.x-grid-page-number{width:24px;height:14px;}.x-grid-page-first button{background:url(../images/default/grid/page-first.gif) no-repeat;width:16px;}.x-grid-loading button{background:url(../images/default/grid/done.gif) no-repeat;width:16px;}.x-grid-page-last button{background:url(../images/default/grid/page-last.gif) no-repeat;width:16px;}.x-date-mp-next,.x-grid-page-next button{background:url(../images/default/grid/page-next.gif) no-repeat;width:16px;}.x-date-mp-prev,.x-grid-page-prev button{background:url(../images/default/grid/page-prev.gif) no-repeat;width:16px;}.x-date-mp-prev,.x-date-mp-next{display:block;width:16px;height:16px;}.x-item-disabled .x-grid-loading button{background:url(../images/default/grid/loading.gif) no-repeat;}.x-item-disabled .x-grid-page-first button{background:url(../images/default/grid/page-first-disabled.gif) no-repeat;}.x-item-disabled .x-grid-page-last button{background:url(../images/default/grid/page-last-disabled.gif) no-repeat;}.x-item-disabled .x-grid-page-next button{background:url(../images/default/grid/page-next-disabled.gif) no-repeat;}.x-item-disabled .x-grid-page-prev button{background:url(../images/default/grid/page-prev-disabled.gif) no-repeat;}.x-grid-mso .x-grid-header{background:none;border-bottom:0;}.x-grid-mso .x-grid-footer{border-top:1px solid #6593cf;}.x-grid-mso .x-grid-footer .x-grid-fbutton{border:0;}.x-grid-mso .x-grid-hd-body{border-bottom:0;}.x-grid-mso .x-grid-hd-over{border-bottom:0;}.x-grid-mso .x-grid-hd-over .x-grid-hd-body{background-color:transparent;}.x-grid-mso .x-grid-split{background-image:url(../images/default/grid/grid-blue-split.gif);}.x-grid-mso .x-toolbar .x-tb-sep{background-image:url(../images/default/grid/grid-blue-split.gif);}.x-grid-mso .x-grid-hrow{background:url(../images/default/grid/mso-hd.gif);border-bottom:1px solid #6593cf;height:21px;}.x-grid-mso .x-grid-row{color:black;border-bottom:1px solid #ddecfe;}.x-grid-mso .x-grid-row-alt{background-color:#f5f5f5;}.x-grid-mso .x-grid-row-selected{background-color:#b3c8e8!important;color:black;}.x-grid-mso .x-grid-row-selected span{color:black!important;}.x-props-grid .x-grid-col-1{background-color:#f1efe2;}.x-props-grid .x-grid-col-1 .x-grid-cell-text{background-color:white;}.x-props-grid .x-grid-col-0{background-color:#f1efe2;}.x-props-grid .x-grid-col-0 .x-grid-cell-text{background-color:white;margin-left:10px;}.x-props-grid .x-grid-prop-edting .x-grid-col-0 .x-grid-cell-text{background-color:#316ac5;color:white;}.x-props-grid .x-grid-prop-edting .x-grid-col-0{color:white;}.x-props-grid .x-grid-num-editor{text-align:left;}.x-grid-row td,.x-grid-hd-row td{font:normal 8pt tahoma,arial,helvetica;border-bottom:1px solid #f1efe2;border-left:1px solid #f1efe2;overflow:visible;white-space:nowrap;}.x-grid-row-alt{background-color:#fcfaf6;}.x-grid-row-over{background-color:#f1f1f1;color:black;}.x-grid-cell-selected,.x-grid-row-selected{background-color:#316ac5!important;color:white;}.x-grid-body{height:100%;left:0;overflow:hidden;position:relative;top:22px;}.x-grid-footer{display:block;padding:0;border-top:1px solid #cbc7b8;}.x-grid-wrap-footer{display:block;overflow:hidden;width:100%;height:25px;box-sizing:border-box;-moz-box-sizing:border-box;background-color:#ebeadb;position:absolute;bottom:0;}.x-grid-wrap-body{left:0;overflow:hidden;position:absolute;top:0;display:block;}.x-grid-wrap-headers{left:0;overflow:hidden;position:absolute;top:0;z-index:12;}.x-grid-simple-view .x-grid-col{height:100%!important;position:static;display:table-cell;display:inline-block;}.x-grid-simple-view .x-grid-row{position:static;display:table-row;}.x-paging-info{position:absolute;right:7px;top:7px;}.x-grid-topbar,.x-grid-bottombar{line-height:0;display:none;position:relative;height:24px;top:0;}.x-grid-editor .x-form-check-wrap{background-color:#FFF;padding:2px 0;}.x-grid-row-selected .x-grid-check-icon-toggle,.x-grid-check-icon-checked{background:transparent url(../../roojs1/images/default/menu/chk-sprite.gif) no-repeat scroll 0 -16px;height:16px;width:16px;}.x-grid-check-icon-toggle,.x-grid-check-icon{background:transparent url(../../roojs1/images/default/menu/chk-sprite.gif) no-repeat scroll 0 0;height:16px;width:16px;}.x-grid-dd-above td{border-top:20px solid #fcfcfc;}.x-grid-dd-below td{border-bottom:20px solid #fcfcfc;}.x-grid-row-fadeout{visibility:hidden;opacity:0;transition:visibility 0s 1s,opacity 1s linear;}
.x-layout-container{width:100%;height:100%;overflow:hidden;background-color:#c3daf9;}.x-layout-collapsed{position:absolute;left:-10000px;top:-10000px;visibility:hidden;background-color:#c3daf9;width:20px;height:20px;overflow:hidden;border:1px solid #98c0f4;z-index:20;}.x-layout-collapsed-over{cursor:pointer;background-color:#d9e8fb;}.x-layout-collapsed-west .x-layout-tools-button{float:right;}.x-layout-collapsed-east .x-layout-tools-button{float:left;}.x-layout-collapsed-north,.x-layout-collapsed-south{text-align:right;}.x-layout-collapsed .x-layout-tools-button{margin:2px;width:12px;text-align:center;}.x-layout-inactive-content{position:absolute;left:-10000px;top:-10000px;visibility:hidden;}.x-layout-active-content{visibility:visible;}.x-layout-panel{position:absolute;border:1px solid #98c0f4;overflow:hidden;background-color:white;}.x-layout-panel-east,.x-layout-panel-west{z-index:10;}.x-layout-panel-north,.x-layout-panel-south{z-index:11;}.x-layout-collapsed-north,.x-layout-collapsed-south,.x-layout-collapsed-east,.x-layout-collapsed-west{z-index:12;}.x-layout-panel-body{overflow:hidden;}.x-layout-split{position:absolute;height:5px;width:5px;line-height:1px;font-size:1px;z-index:3;background-color:#c3daf9;}.x-layout-panel-hd{background-image:url(../images/default/layout/panel-title-light-bg.gif);color:black;border-bottom:1px solid #98c0f4;position:relative;}.x-layout-panel-hd-text{font:normal 11px tahoma,verdana,helvetica;padding:4px;padding-left:4px;display:block;white-space:nowrap;}.x-layout-panel-hd-tools{position:absolute;right:0;top:0;text-align:right;padding-top:2px;padding-right:2px;width:40px;}.x-layout-tools-button{z-index:6;padding:2px;float:right;cursor:pointer;}.x-layout-tools-button-over{padding:1px;border:1px solid #98c0f4;background-color:white;}.x-layout-tools-button-inner{height:12px;width:12px;line-height:1px;font-size:1px;background-repeat:no-repeat;background-position:center;}.x-layout-close{background-image:url(../images/default/layout/layout-sprite.gif);background-repeat:no-repeat;background-position:50% -48px;}.x-layout-collapse-west,.x-layout-expand-east{background-image:url(../images/default/layout/layout-sprite.gif);background-repeat:no-repeat;background-position:50% 0;}.x-layout-expand-west,.x-layout-collapse-east{background-image:url(../images/default/layout/layout-sprite.gif);background-repeat:no-repeat;background-position:50% -12px;}.x-layout-collapse-north,.x-layout-expand-south{background-image:url(../images/default/layout/layout-sprite.gif);background-repeat:no-repeat;background-position:50% -24px;}.x-layout-expand-north,.x-layout-collapse-south{background-image:url(../images/default/layout/layout-sprite.gif);background-repeat:no-repeat;background-position:50% -36px;}.x-layout-split-h{background-image:url(../images/default/sizer/e-handle.gif);background-position:left;cursor:col-resize;}.x-layout-split-v{background-image:url(../images/default/sizer/s-handle.gif);background-position:top;cursor:row-resize;}.x-layout-panel .x-tabs-wrap{background:url(../images/default/layout/gradient-bg.gif);}.x-layout-panel .roo-tabbody{background-color:white;overflow:auto;height:100%;}.x-layout-component-panel,.x-layout-nested-layout{position:relative;padding:0;overflow:hidden;width:200px;height:200px;}.x-layout-nested-layout .x-layout-panel{border:0 none;}.x-layout-nested-layout .x-layout-panel-north{border-bottom:1px solid #98c0f4;}.x-layout-nested-layout .x-layout-panel-south{border-top:1px solid #98c0f4;}.x-layout-nested-layout .x-layout-panel-east{border-left:1px solid #98c0f4;}.x-layout-nested-layout .x-layout-panel-west{border-right:1px solid #98c0f4;}.roo-repaint{zoom:1;background-color:transparent;}.x-layout-panel-dragover{border:2px solid #6593cf;}.x-layout-panel-proxy{background-image:url(../images/default/layout/gradient-bg.gif);background-color:#c3daf9;border:1px dashed #6593cf;z-index:10001;overflow:hidden;position:absolute;left:0;top:0;}.x-layout-slider{z-index:15;overflow:hidden;position:absolute;}.x-unselectable{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;cursor:default;}.x-splitbar-proxy{z-index:40009;visibility:hidden;position:absolute;background:#666;border:1px solid #000;overflow:hidden;}.x-splitbar-h,.x-splitbar-proxy-h{cursor:col-resize;}.x-splitbar-v,.x-splitbar-proxy-v{cursor:row-resize;}.x-grid-resize-proxy{z-index:40009;visibility:hidden;position:absolute;background:#666;border:1px solid #000;overflow:hidden;cursor:col-resize;overflow:hidden;width:2px;}
-.x-dlg-proxy{background-image:url(../images/default/gradient-bg.gif);background-color:#c3daf9;border:1px solid #6593cf;z-index:10001;overflow:hidden;position:absolute;left:0;top:0;}.x-dlg-shadow{background:#aaa;position:absolute;left:0;top:0;}.x-dlg-focus{-moz-outline:0 none;outline:0 none;width:0;height:0;overflow:hidden;position:absolute;top:0;left:0;}.x-dlg-mask{z-index:10000;display:none;position:absolute;top:0;left:0;-moz-opacity:.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;}body.masked select{visibility:hidden;}body.masked .x-dlg select{visibility:visible;}.x-dlg{z-index:10001;overflow:hidden;position:absolute;left:300;top:0;}.x-resizable-proxy{z-index:10002;}.x-dlg .x-dlg-hd{background:url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;background-color:navy;color:#fff;font:bold 12px "sans serif",tahoma,verdana,helvetica;overflow:hidden;padding:5px;}.x-dlg .x-dlg-hd-left{background:url(../images/default/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;padding-left:3px;margin:0;}.x-dlg .x-dlg-hd-right{background:url(../images/default/basic-dialog/hd-sprite.gif) no-repeat right 0;padding-right:3px;}.x-dlg .x-dlg-dlg-body{background:url(../images/default/layout/gradient-bg.gif);border:1px solid #6593cf;border-top:0 none;padding:10px;overflow:hidden;position:absolute;}.x-dlg .x-dlg-bd{overflow:hidden;}.x-dlg .x-dlg-ft{overflow:hidden;padding:5px;padding-bottom:0;}.x-dlg .roo-tabbody{background:white;overflow:auto;}.x-dlg .x-tabs-top .roo-tabbody{border:1px solid #6593cf;border-top:0 none;}.x-dlg .x-tabs-bottom .roo-tabbody{border:1px solid #6593cf;border-bottom:0 none;}.x-dlg .x-layout-container .roo-tabbody{border:0 none;}.x-dlg .inner-tab{margin:5px;}.x-dlg .x-dlg-ft .x-btn{margin-right:5px;float:right;clear:none;}.x-dlg .x-dlg-ft .x-dlg-btns td{border:0;padding:0;}.x-dlg .x-dlg-ft .x-dlg-btns-right table{float:right;clear:none;}.x-dlg .x-dlg-ft .x-dlg-btns-left table{float:left;clear:none;}.x-dlg .x-dlg-ft .x-dlg-btns-center{text-align:center;}.x-dlg .x-dlg-ft .x-dlg-btns-center table{margin:0 auto;}.x-dlg-draggable .x-dlg-hd{cursor:move;}.x-dlg-closable .x-dlg-hd{padding-right:22px;}.x-dlg .x-dlg-close{position:absolute;top:4px;right:4px;z-index:6;height:15px;width:15px;margin:0;padding:0;line-height:1px;font-size:1px;background-repeat:no-repeat;cursor:pointer;visibility:inherit;background-image:url(../images/default/basic-dialog/close.gif);}.x-dlg div.x-resizable-handle-east{background-image:url(../images/default/sizer/e-handle-dark.gif);border:0;background-position:left;margin-right:0;}.x-dlg div.x-resizable-handle-south{background-image:url(../images/default/sizer/s-handle-dark.gif);border:0;height:6px;}.x-dlg div.x-resizable-handle-west{background-image:url(../images/default/sizer/e-handle-dark.gif);border:0;background-position:1px;}.x-dlg div.x-resizable-handle-north{background-image:url(../images/default/s.gif);border:0;}.x-dlg div.x-resizable-handle-northeast,.x-theme-gray .x-dlg div.x-resizable-handle-northeast{background-image:url(../images/default/s.gif);border:0;}.x-dlg div.x-resizable-handle-northwest,.x-theme-gray .x-dlg div.x-resizable-handle-northwest{background-image:url(../images/default/s.gif);border:0;}.x-dlg div.x-resizable-handle-southeast{background-image:url(../images/default/sizer/corners-sprite.gif);background-position:top left;width:8px;height:8px;border:0;}.x-dlg div.x-resizable-handle-southwest{background-image:url(../images/default/sizer/corners-sprite.gif);background-position:top right;margin-left:1px;margin-bottom:1px;border:0;}#x-msg-box .x-dlg-ft .x-btn{float:none;clear:none;margin:0 3px;}#x-msg-box .x-dlg-bd{padding:5px;overflow:hidden!important;}#x-msg-box .roo-mb-input{margin-top:4px;width:95%;}#x-msg-box .roo-mb-textarea,#x-msg-box .roo-mb-text{margin-top:4px;font:normal 13px "sans serif",tahoma,verdana,helvetica;display:inline;}#x-msg-box .roo-mb-progress-wrap{margin-top:4px;border:1px solid #6593cf;}#x-msg-box .roo-mb-progress{height:18px;background:transparent url(../images/default/basic-dialog/progress2.gif) repeat-x 1px 1px;}#x-msg-box .roo-mb-progress-bar{height:18px;overflow:hidden;width:0;background:#8bb8f3;}
+.x-dlg-proxy{background-image:url(../images/default/gradient-bg.gif);background-color:#c3daf9;border:1px solid #6593cf;z-index:10001;overflow:hidden;position:absolute;left:0;top:0;}.x-dlg-shadow{background:#aaa;position:absolute;left:0;top:0;}.x-dlg-focus{-moz-outline:0 none;outline:0 none;width:0;height:0;overflow:hidden;position:absolute;top:0;left:0;}.x-dlg-mask{z-index:10000;display:none;position:absolute;top:0;left:0;-moz-opacity:.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;}.x-dlg-mask.roo-form-top-mask,.x-dlg-mask.roo-form-left-mask,.x-dlg-mask.roo-form-bottom-mask,.x-dlg-mask.roo-form-right-mask{background-color:gray;}body.masked select{visibility:hidden;}body.masked .x-dlg select{visibility:visible;}.x-dlg{z-index:10001;overflow:hidden;position:absolute;left:300;top:0;}.x-resizable-proxy{z-index:10002;}.x-dlg .x-dlg-hd{background:url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;background-color:navy;color:#fff;font:bold 12px "sans serif",tahoma,verdana,helvetica;overflow:hidden;padding:5px;}.x-dlg .x-dlg-hd-left{background:url(../images/default/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;padding-left:3px;margin:0;}.x-dlg .x-dlg-hd-right{background:url(../images/default/basic-dialog/hd-sprite.gif) no-repeat right 0;padding-right:3px;}.x-dlg .x-dlg-dlg-body{background:url(../images/default/layout/gradient-bg.gif);border:1px solid #6593cf;border-top:0 none;padding:10px;overflow:hidden;position:absolute;}.x-dlg .x-dlg-bd{overflow:hidden;}.x-dlg .x-dlg-ft{overflow:hidden;padding:5px;padding-bottom:0;}.x-dlg .roo-tabbody{background:white;overflow:auto;}.x-dlg .x-tabs-top .roo-tabbody{border:1px solid #6593cf;border-top:0 none;}.x-dlg .x-tabs-bottom .roo-tabbody{border:1px solid #6593cf;border-bottom:0 none;}.x-dlg .x-layout-container .roo-tabbody{border:0 none;}.x-dlg .inner-tab{margin:5px;}.x-dlg .x-dlg-ft .x-btn{margin-right:5px;float:right;clear:none;}.x-dlg .x-dlg-ft .x-dlg-btns td{border:0;padding:0;}.x-dlg .x-dlg-ft .x-dlg-btns-right table{float:right;clear:none;}.x-dlg .x-dlg-ft .x-dlg-btns-left table{float:left;clear:none;}.x-dlg .x-dlg-ft .x-dlg-btns-center{text-align:center;}.x-dlg .x-dlg-ft .x-dlg-btns-center table{margin:0 auto;}.x-dlg-draggable .x-dlg-hd{cursor:move;}.x-dlg-closable .x-dlg-hd{padding-right:22px;}.x-dlg .x-dlg-close{position:absolute;top:4px;right:4px;z-index:6;height:15px;width:15px;margin:0;padding:0;line-height:1px;font-size:1px;background-repeat:no-repeat;cursor:pointer;visibility:inherit;background-image:url(../images/default/basic-dialog/close.gif);}.x-dlg div.x-resizable-handle-east{background-image:url(../images/default/sizer/e-handle-dark.gif);border:0;background-position:left;margin-right:0;}.x-dlg div.x-resizable-handle-south{background-image:url(../images/default/sizer/s-handle-dark.gif);border:0;height:6px;}.x-dlg div.x-resizable-handle-west{background-image:url(../images/default/sizer/e-handle-dark.gif);border:0;background-position:1px;}.x-dlg div.x-resizable-handle-north{background-image:url(../images/default/s.gif);border:0;}.x-dlg div.x-resizable-handle-northeast,.x-theme-gray .x-dlg div.x-resizable-handle-northeast{background-image:url(../images/default/s.gif);border:0;}.x-dlg div.x-resizable-handle-northwest,.x-theme-gray .x-dlg div.x-resizable-handle-northwest{background-image:url(../images/default/s.gif);border:0;}.x-dlg div.x-resizable-handle-southeast{background-image:url(../images/default/sizer/corners-sprite.gif);background-position:top left;width:8px;height:8px;border:0;}.x-dlg div.x-resizable-handle-southwest{background-image:url(../images/default/sizer/corners-sprite.gif);background-position:top right;margin-left:1px;margin-bottom:1px;border:0;}#x-msg-box .x-dlg-ft .x-btn{float:none;clear:none;margin:0 3px;}#x-msg-box .x-dlg-bd{padding:5px;overflow:hidden!important;}#x-msg-box .roo-mb-input{margin-top:4px;width:95%;}#x-msg-box .roo-mb-textarea,#x-msg-box .roo-mb-text{margin-top:4px;font:normal 13px "sans serif",tahoma,verdana,helvetica;display:inline;}#x-msg-box .roo-mb-progress-wrap{margin-top:4px;border:1px solid #6593cf;}#x-msg-box .roo-mb-progress{height:18px;background:transparent url(../images/default/basic-dialog/progress2.gif) repeat-x 1px 1px;}#x-msg-box .roo-mb-progress-bar{height:18px;overflow:hidden;width:0;background:#8bb8f3;}
.x-dd-drag-proxy{position:absolute;left:0;top:0;visibility:hidden;z-index:15000;}.x-dd-drag-ghost{color:black;font:normal 11px arial,helvetica,sans-serif;-moz-opacity:.85;opacity:.85;filter:alpha(opacity=85);border-top:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #bbb;border-bottom:1px solid #bbb;padding:3px;padding-left:20px;background-color:white;white-space:nowrap;}.x-dd-drag-repair .x-dd-drag-ghost{-moz-opacity:.4;opacity:.4;filter:alpha(opacity=40);border:0 none;padding:0;background-color:transparent;}.x-dd-drag-repair .x-dd-drop-icon{visibility:hidden;}.x-dd-drop-icon{position:absolute;top:3px;left:3px;display:block;width:16px;height:16px;background-color:transparent;background-position:center;background-repeat:no-repeat;z-index:1;}.x-dd-drop-nodrop .x-dd-drop-icon{background-image:url(../images/default/dd/drop-no.gif);}.x-dd-drop-ok .x-dd-drop-icon{background-image:url(../images/default/dd/drop-yes.gif);}.x-dd-drop-ok-add .x-dd-drop-icon{background-image:url(../images/default/dd/drop-add.gif);}.x-dd-drop-ok-sub .x-dd-drop-icon{background-image:url(../images/default/dd/drop-sub.gif);}.x-dd-drop-above .x-dd-drop-icon{background-image:url(../images/default/tree/drop-over.gif);}.x-dd-drop-below .x-dd-drop-icon{background-image:url(../images/default/tree/drop-under.gif);}.col-move-bottom{display:none;}.col-move-top{display:none;}
.x-tree-icon,.x-tree-ec-icon,.x-tree-elbow-line,.x-tree-elbow,.x-tree-elbow-end,.x-tree-elbow-plus,.x-tree-elbow-minus,.x-tree-elbow-end-plus,.x-tree-elbow-end-minus{border:0 none;height:18px;margin:0;padding:0;vertical-align:middle;width:16px;}.x-tree-node-collapsed .x-tree-node-icon,.x-tree-node-expanded .x-tree-node-icon,.x-tree-node-leaf .x-tree-node-icon{border:0 none;height:16px;margin:0;padding:0;vertical-align:middle;width:16px;background-position:center;}.x-tree-node-collapsed .x-tree-node-icon{background:transparent url(../images/default/tree/folder.gif);}.x-tree-node-expanded .x-tree-node-icon{background:transparent url(../images/default/tree/folder-open.gif);}.x-tree-node-leaf .x-tree-node-icon{background:transparent url(../images/default/tree/leaf.gif);}.x-tree-node-loading .x-tree-node-icon{background:transparent url(../images/default/tree/loading.gif)!important;}.x-tree-node-loading a span{font-style:italic;color:#444;}.x-tree-lines .x-tree-elbow{background:transparent url(../images/default/tree/elbow.gif);}.x-tree-lines .x-tree-elbow-plus{background:transparent url(../images/default/tree/elbow-plus.gif);}.x-tree-lines .x-tree-elbow-minus{background:transparent url(../images/default/tree/elbow-minus.gif);}.x-tree-lines .x-tree-elbow-end{background:transparent url(../images/default/tree/elbow-end.gif);}.x-tree-lines .x-tree-elbow-end-plus{background:transparent url(../images/default/tree/elbow-end-plus.gif);}.x-tree-lines .x-tree-elbow-end-minus{background:transparent url(../images/default/tree/elbow-end-minus.gif);}.x-tree-lines .x-tree-elbow-line{background:transparent url(../images/default/tree/elbow-line.gif);}.x-tree-no-lines .x-tree-elbow{background:transparent;}.x-tree-no-lines .x-tree-elbow-plus{background:transparent url(../images/default/tree/elbow-plus-nl.gif);}.x-tree-no-lines .x-tree-elbow-minus{background:transparent url(../images/default/tree/elbow-minus-nl.gif);}.x-tree-no-lines .x-tree-elbow-end{background:transparent;}.x-tree-no-lines .x-tree-elbow-end-plus{background:transparent url(../images/default/tree/elbow-end-plus-nl.gif);}.x-tree-no-lines .x-tree-elbow-end-minus{background:transparent url(../images/default/tree/elbow-end-minus-nl.gif);}.x-tree-no-lines .x-tree-elbow-line{background:transparent;}.x-tree-elbow-plus,.x-tree-elbow-minus,.x-tree-elbow-end-plus,.x-tree-elbow-end-minus{cursor:pointer;}.x-tree-node{color:black;font:normal 11px arial,helvetica,sans-serif;white-space:nowrap;}.x-tree-node a,.x-dd-drag-ghost a{text-decoration:none;color:black;-khtml-user-select:normal;-moz-user-select:normal;}.x-tree-node a span,.x-dd-drag-ghost a span{text-decoration:none;color:black;padding:1px 3px 1px 2px;}.x-tree-node .x-tree-node-disabled a span{color:gray!important;}.x-tree-node .x-tree-node-disabled .x-tree-node-icon{-moz-opacity:.5;opacity:.5;filter:alpha(opacity=50);}.x-tree-node .x-tree-node-inline-icon{background:transparent;}.x-tree-node a:hover,.x-dd-drag-ghost a:hover{text-decoration:none;}.x-tree-node div.x-tree-drag-insert-below{border-bottom:1px dotted #36c;}.x-tree-node div.x-tree-drag-insert-above{border-top:1px dotted #36c;}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below{border-bottom:0 none;}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above{border-top:0 none;}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom:2px solid #36c;}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top:2px solid #36c;}.x-tree-node .x-tree-drag-append a span{background:#ddd;border:1px dotted gray;}.x-tree-node .x-tree-selected a span{background:#36c;color:white;}.x-dd-drag-ghost .x-tree-node-indent,.x-dd-drag-ghost .x-tree-ec-icon{display:none!important;}.x-tree-drop-ok-append .x-dd-drop-icon{background-image:url(../images/default/tree/drop-add.gif);}.x-tree-drop-ok-above .x-dd-drop-icon{background-image:url(../images/default/tree/drop-over.gif);}.x-tree-drop-ok-below .x-dd-drop-icon{background-image:url(../images/default/tree/drop-under.gif);}.x-tree-drop-ok-between .x-dd-drop-icon{background-image:url(../images/default/tree/drop-between.gif);}.x-layer-shadow{background:#ccc;opacity:.3;-moz-opacity:.3;filter:alpha(opacity=30);}.x-column-tree .x-tree-node{zoom:1;}.x-column-tree .x-tree-node-el{border-bottom:1px solid #eee;border-right:1px solid #ccc;zoom:1;}.x-column-tree .x-tree-selected{background:#d9e8fb;}.x-column-tree .x-tree-node a{line-height:18px;vertical-align:middle;}.x-column-tree .x-tree-node .x-tree-selected a span{background:transparent;color:#000;}.x-column-tree .x-tree-col{float:left;overflow:hidden;padding:0;border-left:1px solid #ccc;height:18px;zoom:1;}.x-column-tree .x-tree-col-text,.x-column-tree .x-tree-hd-text{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;padding:3px 3px 3px 5px;white-space:nowrap;font:normal 11px arial,tahoma,helvetica,sans-serif;}.x-column-tree .x-tree-headers{background:#EBEADB url(../images/gray/grid/grid-hrow.gif) repeat-x scroll 0 0;cursor:default;zoom:1;}.x-column-tree .x-tree-hd{float:left;overflow:hidden;border-left:1px solid #eee;border-right:1px solid #d0d0d0;}
.x-tip{position:absolute;top:0;visibility:hidden;z-index:11000;}.x-tip .x-tip-bd{background:#e0e8f3 url(../images/default/qtip/bg.gif) repeat-x;border:1px solid #a3bad9;font:normal 11px arial,helvetica,sans-serif;padding:5px;}.x-tip .x-tip-close{background-image:url(../images/default/basic-dialog/close.gif);height:15px;position:absolute;right:3px;top:3px;width:15px;}.x-tip .x-tip-hd{background:url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;background-color:navy;color:#FFF;display:block;font:bold 11px tahoma,arial,verdana,helvetica;padding:4px;}.x-tip .x-tip-hd-left{background:url(../images/default/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;display:block;margin:0;padding-left:3px;}.x-tip .x-tip-hd-right{background:url(../images/default/basic-dialog/hd-sprite.gif) no-repeat right 0;display:block;padding-right:3px;}x\:qtip,qtip{display:none;}
x-date{background:white;padding:2px;border:1px solid gray;z-index:12001;-moz-outline:none;position:absolute;display:none;top:0;left:0;}.x-date-shadow{background:#ddd;filter:progid:DXImageTransform.Microsoft.Blur(MakeShadow=true,pixelradius=1) Alpha(opacity=35,style=1,startX=0,finishX=200,FinishOpacity=35);padding:0;position:absolute;z-index:12000;display:none;top:0;left:0;}.x-date-head{width:150px;background:#93b5e4;}.x-date-head td{padding:1px;}.x-date-month{color:white;font:bold 7pt verdana;text-decoration:none;text-align:center;}.x-date-head .x-date-arrow{width:16px;text-align:center;cursor:pointer;-moz-user-select:none;}.x-date-picker{background:#ccc;width:190px;}.x-date-picker td{color:#aaa;cursor:pointer;font:normal 8pt arial;}td.x-date-middle{background:url(../images/default/basic-dialog/hd-sprite.gif);}td.x-date-middle td{background:none;color:#000;font-weight:bold;}td.x-date-right,td.x-date-left{background:url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 0;text-align:center;width:18px;}td.x-date-right a{background:url(../images/default/grid/arrow-right-white.gif) no-repeat right center;cursor:pointer;text-decoration:none;width:18px;height:18px;}td.x-date-left a{background:url(../images/default/grid/arrow-left-white.gif) no-repeat 0 center;cursor:pointer;text-decoration:none;width:18px;height:18px;}.x-date-inner{background-color:white;position:relative;text-align:center;display:block;overflow:hidden;border-collapse:separate;}table.x-date-inner{table-layout:fixed;width:100%;}.x-date-inner td a{width:26px;height:26px;border-collapse:separate;display:block;}.x-date-mp a,.x-date-inner a{text-decoration:none;font-weight:bold;color:#000;}.x-date-picker td.x-date-today{border:1px solid darkred;}.x-date-picker .x-date-inner th{text-align:center!important;border:0;border-bottom:1px solid #ccc;font-size:8pt;font-weight:normal;text-align:right;color:black;cursor:default;}.x-date-picker td.active{cursor:pointer;color:black;}.x-date-picker td.x-date-disabled{cursor:default;background:#eee;border:1px solid #eee;color:#bbb;}.x-date-mp td.x-date-mp-sel,.x-date-picker td.x-date-selected{background:#ddecfe;border:1px solid #c3daf9;}.x-date-today{color:black;cursor:hand;font:normal 8pt arial;text-decoration:none;}.x-date-prevday,.x-date-nextday{background-color:#eee;}.x-date-mp{background-color:#ccc;display:none;position:absolute;top:0;left:0;}.x-date-mp table{text-align:center;background-color:#fff;}.x-date-picker td.x-date-middle td.x-btn-center button{color:white;}.x-date-bottom .ytb-spacer{display:none;}.x-menu-plain .x-color-palette,.x-menu-plain .x-date-picker{border:none;margin:0;}.x-menu .x-color-palette,.x-menu .x-date-picker{margin-left:32px;margin-right:4px;}.x-color-palette{pointer:pointer;width:150px;height:92px;}.x-color-palette a{border:1px solid white;pointer:pointer;float:left;padding:2px;text-decoration:none;outline:white none 0;}.x-color-palette em span{pointer:pointer;display:block;width:10px;height:10px;line-height:10px;}.x-color-palette em{display:block;border:1pt solid black;}
-.x-combo-list{background-color:white;border:1px solid #afafaf;cursor:default;}.x-combo-list-inner{overflow:auto;}.x-combo-list-item{padding-left:2px;padding-top:0;margin:0;padding-bottom:2px;white-space:nowrap;}.x-combo-selected{background-color:#ABC9C2;color:black;border:1px solid #5e8a7f;}.x-form-date-trigger,.x-form-arrow-trigger{width:17px;height:19px;background:url(../images/default/combo/arrow.gif);background-repeat:no-repeat;background-position:center;}.roo-ie .x-form-field-wrap .x-form-trigger,.roo-ie .x-toolbar .x-form-arrow-trigger{margin:0;}.roo-ie .x-form-arrow-trigger,.roo-ie .x-form-date-trigger{height:18px;}.x-form .x-form-combo-add,.x-form .x-form-combo-edit{background:transparent url(../images/default/dd/drop-add.gif) no-repeat scroll 0 0;border-style:none none solid;cursor:pointer;height:21px;position:absolute;top:2;width:17px;margin-left:20px;}.x-form .x-form-combo-edit{background:transparent url(../images/default/tree/leaf.gif) no-repeat scroll 0 0;}.x-combo-list-inner .x-btn{text-align:left;font:12px arial,tahoma,verdana,helvetica;}.x-cbarray-item{display:inline-block;background:#e0ecff none no-repeat scroll 0 0;float:left;height:18px;-moz-border-radius:2px;margin:2px;float:left font-family:arial,tahoma,helvetica,sans-serif;font-size:11px;font-size-adjust:none;font-style:normal;font-variant:normal;font-weight:normal;}.x-cbarray-item div{display:inline-block;float:left;margin:2px;margin-left:5px;}.x-cbarray-item img{margin-left:5px;background:transparent url(../images/default/dd/drop-sub.gif) no-repeat scroll 0 0;cursor:pointer;}.x-cbarray-cb{float:left;}.x-cbarray-grp{padding:2px;border:1px solid #e0ecff;display:inline-block;}.x-cbarray-grp input.x-form-text,.x-cbarray-grp img.x-form-trigger{float:left;}
+.x-combo-list{background-color:white;border:1px solid #afafaf;cursor:default;}.x-combo-list-inner{overflow:auto;}.x-combo-list-item{padding-left:2px;padding-top:0;margin:0;padding-bottom:2px;white-space:nowrap;}.x-combo-selected{background-color:#ABC9C2;color:black;border:1px solid #5e8a7f;}.x-form-date-trigger,.x-form-arrow-trigger{width:17px;height:19px;background:url(../images/default/combo/arrow.gif);background-repeat:no-repeat;background-position:center;}.roo-ie .x-form-field-wrap .x-form-trigger,.roo-ie .x-toolbar .x-form-arrow-trigger{margin:0;}.roo-ie .x-form-arrow-trigger,.roo-ie .x-form-date-trigger{height:18px;}.x-form .x-form-combo-add,.x-form .x-form-combo-edit{background:transparent url(../images/default/dd/drop-add.gif) no-repeat scroll 0 0;border-style:none none solid;cursor:pointer;height:21px;position:absolute;top:2;width:17px;margin-left:20px;}.x-form .x-form-combo-edit{background:transparent url(../images/default/tree/leaf.gif) no-repeat scroll 0 0;}.x-combo-list-inner .x-btn{text-align:left;font:12px arial,tahoma,verdana,helvetica;}.x-cbarray-item{display:inline-block;background:#e0ecff none no-repeat scroll 0 0;float:left;height:18px;-moz-border-radius:2px;margin:2px;float:left font-family:arial,tahoma,helvetica,sans-serif;font-size:11px;font-size-adjust:none;font-style:normal;font-variant:normal;font-weight:normal;}.x-cbarray-item div{display:inline-block;float:left;margin:2px;margin-left:5px;}.x-cbarray-item img{margin-left:5px;background:transparent url(../images/default/dd/drop-sub.gif) no-repeat scroll 0 0;cursor:pointer;}.x-cbarray-cb{float:left;}.x-cbarray-grp{padding:2px;border:1px solid #e0ecff;display:inline-block;}.x-cbarray-grp input.x-form-text,.x-cbarray-grp img.x-form-trigger{float:left;}.x-combo-list-item.x-combo-list-item-has-children:after{content:'>';float:right;margin-right:2px;}
.x-form-daypick-item td div{width:30px;text-align:center;}.x-form-daypick-icons td img{background:url(../images/default/menu/chk-sprite.gif) no-repeat 0 0;width:16px;height:16px;margin:0;margin-left:5px;cursor:pointer;}.x-form-daypick-icons td img.x-menu-item-checked{background-position:0 -16px;}
.x-html-editor-wrap{background-color:#fff;border:1px solid #a3bac9;}.x-html-editor-tb{height:24px;}.x-html-editor-tb .x-toolbar{height:24px;}.x-html-editor-tb .x-toolbar>table{position:absolute;}.x-html-editor-tb .x-btn-text{background:transparent url(../images/default/form/htmleditor.gif) no-repeat scroll 0 0;}.x-html-editor-tb .x-btn-text{min-width:18px;}.x-html-editor-tb .x-edit-bold .x-btn-text{background-position:0 0;}.x-html-editor-tb .x-edit-italic .x-btn-text{background-position:0 -16px;}.x-html-editor-tb .x-edit-underline .x-btn-text{background-position:0 -32px;}.x-html-editor-tb .x-edit-strikethrough .x-btn-text{background-position:0 -223px;}.x-html-editor-tb .x-edit-increasefontsize .x-btn-text{background-position:0 -48px;}.x-html-editor-tb .x-edit-decreasefontsize .x-btn-text{background-position:0 -64px;}.x-html-editor-tb .x-edit-insertorderedlist .x-btn-text{background-position:0 -80px;}.x-html-editor-tb .x-edit-insertunorderedlist .x-btn-text{background-position:0 -96px;}.x-html-editor-tb .x-edit-justifyleft .x-btn-text{background-position:0 -112px;}.x-html-editor-tb .x-edit-justifycenter .x-btn-text{background-position:0 -128px;}.x-html-editor-tb .x-edit-justifyright .x-btn-text{background-position:0 -144px;}.x-html-editor-tb .x-edit-forecolor .x-btn-text{background-position:0 -160px;}.x-html-editor-tb .x-edit-backcolor .x-btn-text{background-position:0 -176px;}.x-html-editor-tb .x-edit-sourceedit .x-btn-text{background-position:0 -192px;}.x-html-editor-tb .x-edit-createlink .x-btn-text{background-position:0 -208px;}.x-html-editor-tb .x-edit-none .x-btn-text{background:transparent none 0 0;}.x-html-editor-tb .x-toolbar .x-btn{margin-left:0;margin-right:0;}.x-html-editor-wrap .x-toolbar{height:20px;}.x-html-editor-wrap .x-editor-context span{cursor:pointer;}.x-html-editor-wrap .x-editor-context span:hover{text-decoration:underline;}.roo-htmleditor-body ol li{list-style:decimal outside;}.roo-htmleditor-body ul li{list-style:disc outside;}.roo-htmleditor-body ol,.roo-htmleditor-body ul,.roo-htmleditor-body dl{margin-left:2em;}
"desc" : "default false",
"memberOf" : ""
},
+ {
+ "name" : "height",
+ "type" : "Number",
+ "desc" : "fixed height - usefull for chrome extension only really.",
+ "memberOf" : ""
+ },
{
"name" : "hideMode",
"type" : "String",
],
"memberOf" : "Roo.bootstrap.Component"
},
+ {
+ "name" : "width",
+ "type" : "Number",
+ "desc" : "fixed width - usefull for chrome extension only really.",
+ "memberOf" : ""
+ },
{
"name" : "xattr",
"type" : "Object",
"static" : false,
"memberOf" : "Roo.data.Store"
},
+ {
+ "name" : "loadDataFromChildren",
+ "type" : "function",
+ "desc" : "using 'cn' the nested child reader read the child array into it's child stores.",
+ "sig" : "(rec)",
+ "static" : false,
+ "memberOf" : "Roo.data.Store"
+ },
{
"name" : "on",
"type" : "function",
},
"Roo.data.SimpleStore" : {
"props" : [
+ {
+ "name" : "an",
+ "type" : "Object",
+ "desc" : "existing reader (eg. copied from another store)",
+ "memberOf" : ""
+ },
{
"name" : "baseParams",
"type" : "Object",
"static" : false,
"memberOf" : "Roo.data.Store"
},
+ {
+ "name" : "loadDataFromChildren",
+ "type" : "function",
+ "desc" : "using 'cn' the nested child reader read the child array into it's child stores.",
+ "sig" : "(rec)",
+ "static" : false,
+ "memberOf" : "Roo.data.Store"
+ },
{
"name" : "on",
"type" : "function",
"static" : false,
"memberOf" : ""
},
+ {
+ "name" : "loadDataFromChildren",
+ "type" : "function",
+ "desc" : "using 'cn' the nested child reader read the child array into it's child stores.",
+ "sig" : "(rec)",
+ "static" : false,
+ "memberOf" : ""
+ },
{
"name" : "on",
"type" : "function",
"desc" : "Parameters to pass with all requests. e.g. baseParams: {id: '123', foo: 'bar'}.",
"memberOf" : ""
},
+ {
+ "name" : "errorMask",
+ "type" : "Boolean",
+ "desc" : [
+ "(true",
+ "false)"
+ ],
+ "memberOf" : ""
+ },
{
"name" : "errorReader",
"type" : "DataReader",
"desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n listeners : { \n 'click' : function(e) {\n ..... \n } ,\n .... \n } \n </code></pre>",
"memberOf" : "Roo.util.Observable"
},
+ {
+ "name" : "maskOffset",
+ "type" : "Number",
+ "desc" : "Default 100",
+ "memberOf" : ""
+ },
{
"name" : "method",
"type" : "String",
"desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "alwaysQuery",
"type" : "Boolean",
"desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "autoCreate",
"type" : "String/Object",
"desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "alwaysQuery",
"type" : "Boolean",
}
]
},
- "Roo.form.DateField" : {
+ "Roo.form.ComboNested" : {
"props" : [
{
"name" : "actionMode",
"desc" : "which property holds the element that used for hide() / show() / disable() / enable()\ndefault is 'el'",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allQuery",
+ "type" : "String",
+ "desc" : "The text query to send to the server to return all records for the list with no filtering (defaults to '')",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "allowBlank",
"type" : "Boolean",
"memberOf" : "Roo.Component"
},
{
- "name" : "altFormats",
- "type" : "String",
- "desc" : "Multiple date formats separated by \"|\" to try when parsing a user input value and it doesn't match the defined\nformat (defaults to 'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d').",
- "memberOf" : ""
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "alwaysQuery",
+ "type" : "Boolean",
+ "desc" : "Disable caching of results, and always send query",
+ "memberOf" : "Roo.form.ComboBox"
},
{
"name" : "autoCreate",
- "type" : "String/Object",
- "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"10\", autocomplete: \"off\"})",
- "memberOf" : ""
+ "type" : "Boolean/Object",
+ "desc" : "A DomHelper element spec, or true for a default element spec (defaults to:\n{tag: \"input\", type: \"text\", size: \"24\", autocomplete: \"off\"})",
+ "memberOf" : "Roo.form.ComboBox"
},
{
"name" : "blankText",
"desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
"memberOf" : "Roo.form.TextField"
},
+ {
+ "name" : "blockFocus",
+ "type" : "Boolean",
+ "desc" : "Prevents all focus calls, so it can work with things like HTML edtor bar",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "cls",
"type" : "String",
"desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "disableClear",
+ "type" : "Boolean",
+ "desc" : "Disable showing of clear button.",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "disableKeyFilter",
"type" : "Boolean",
"memberOf" : "Roo.form.Field"
},
{
- "name" : "disabledDates",
- "type" : "Array",
- "desc" : "An array of \"dates\" to disable, as strings. These strings will be used to build a dynamic regular\nexpression so they are very powerful. Some examples:\n<ul>\n<li>[\"03/08/2003\", \"09/16/2003\"] would disable those exact dates</li>\n<li>[\"03/08\", \"09/16\"] would disable those days for every year</li>\n<li>[\"^03/08\"] would only match the beginning (useful if you are using short years)</li>\n<li>[\"03/../2006\"] would disable every day in March 2006</li>\n<li>[\"^03\"] would disable every day in every March</li>\n</ul>\nIn order to support regular expressions, if you are using a date format that has \".\" in it, you will have to\nescape the dot when restricting dates. For example: [\"03\\\\.08\\\\.03\"].",
- "memberOf" : ""
- },
- {
- "name" : "disabledDatesText",
+ "name" : "displayField",
"type" : "String",
- "desc" : "The tooltip text to display when the date falls on a disabled date (defaults to 'Disabled')",
- "memberOf" : ""
- },
- {
- "name" : "disabledDays",
- "type" : "Array",
- "desc" : "An array of days to disable, 0 based. For example, [0, 6] disables Sunday and Saturday (defaults to null).",
- "memberOf" : ""
+ "desc" : "The underlying data field name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'text' if mode = 'local')",
+ "memberOf" : "Roo.form.ComboBox"
},
{
- "name" : "disabledDaysText",
- "type" : "String",
- "desc" : "The tooltip to display when the date falls on a disabled day (defaults to 'Disabled')",
- "memberOf" : ""
+ "name" : "editable",
+ "type" : "Boolean",
+ "desc" : "False to prevent the user from typing text directly into the field, just like a\ntraditional select (defaults to true)",
+ "memberOf" : "Roo.form.ComboBox"
},
{
"name" : "emptyText",
"memberOf" : "Roo.form.Field"
},
{
- "name" : "format",
- "type" : "String",
- "desc" : "The default date format string which can be overriden for localization support. The format must be\nvalid according to {@link Date#parseDate} (defaults to 'm/d/y').",
- "memberOf" : ""
+ "name" : "forceSelection",
+ "type" : "Boolean",
+ "desc" : "True to restrict the selected value to one of the values in the list, false to\nallow the user to set arbitrary text into the field (defaults to false)",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "grow",
+ "type" : "Boolean",
+ "desc" : "",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "growMax",
+ "type" : "Number",
+ "desc" : "",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "growMin",
+ "type" : "Number",
+ "desc" : "",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "handleHeight",
+ "type" : "Number",
+ "desc" : "The height in pixels of the dropdown list resize handle if resizable = true (defaults to 8)",
+ "memberOf" : "Roo.form.ComboBox"
},
{
"name" : "height",
"desc" : "height (optional) size of component",
"memberOf" : "Roo.BoxComponent"
},
+ {
+ "name" : "hiddenName",
+ "type" : "String",
+ "desc" : "If specified, a hidden form field with this name is dynamically generated to store the\nfield's data value (defaults to the underlying DOM element's name)",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "hideMode",
"type" : "String",
{
"name" : "invalidText",
"type" : "String",
- "desc" : "The error text to display when the date in the field is invalid (defaults to\n'{value} is not a valid date - it must be in the format {format}').",
- "memberOf" : ""
+ "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
+ "memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "lazyRender",
+ "type" : "Boolean",
+ "desc" : "True to prevent the ComboBox from rendering until requested (should always be used when\nrendering into an Roo.Editor, defaults to false)",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "listAlign",
+ "type" : "String",
+ "desc" : "A valid anchor position value. See {@link Roo.Element#alignTo} for details on supported\nanchor positions (defaults to 'tl-bl')",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "listClass",
+ "type" : "String",
+ "desc" : "CSS class to apply to the dropdown list element (defaults to '')",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "listWidth",
+ "type" : "Number",
+ "desc" : "The width in pixels of the dropdown list (defaults to the width of the ComboBox field)",
+ "memberOf" : "Roo.form.ComboBox"
},
{
"name" : "listeners",
"desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n listeners : { \n 'click' : function(e) {\n ..... \n } ,\n .... \n } \n </code></pre>",
"memberOf" : "Roo.util.Observable"
},
+ {
+ "name" : "loadingText",
+ "type" : "String",
+ "desc" : "The text to display in the dropdown list while data is loading. Only applies\nwhen mode = 'remote' (defaults to 'Loading...')",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "maskRe",
"type" : "String",
"desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
"memberOf" : "Roo.form.TextField"
},
+ {
+ "name" : "maxHeight",
+ "type" : "Number",
+ "desc" : "The maximum height in pixels of the dropdown list before scrollbars are shown (defaults to 300)",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "maxLength",
"type" : "Number",
"memberOf" : "Roo.form.TextField"
},
{
- "name" : "maxText",
- "type" : "String",
- "desc" : "The error text to display when the date in the cell is after maxValue (defaults to\n'The date in this field must be before {maxValue}').",
- "memberOf" : ""
- },
- {
- "name" : "maxValue",
- "type" : "Date/String",
- "desc" : "The maximum allowed date. Can be either a Javascript date object or a string date in a\nvalid format (defaults to null).",
- "memberOf" : ""
+ "name" : "minChars",
+ "type" : "Number",
+ "desc" : "The minimum number of characters the user must type before autocomplete and typeahead activate\n(defaults to 4, does not apply if editable = false)",
+ "memberOf" : "Roo.form.ComboBox"
},
{
"name" : "minLength",
"memberOf" : "Roo.form.TextField"
},
{
- "name" : "minText",
- "type" : "String",
- "desc" : "The error text to display when the date in the cell is before minValue (defaults to\n'The date in this field must be after {minValue}').",
- "memberOf" : ""
+ "name" : "minListWidth",
+ "type" : "Number",
+ "desc" : "The minimum width of the dropdown list in pixels (defaults to 70, will be ignored if\nlistWidth has a higher value)",
+ "memberOf" : "Roo.form.ComboBox"
},
{
- "name" : "minValue",
- "type" : "Date/String",
- "desc" : "The minimum allowed date. Can be either a Javascript date object or a string date in a\nvalid format (defaults to null).",
- "memberOf" : ""
+ "name" : "mode",
+ "type" : "String",
+ "desc" : "Set to 'local' if the ComboBox loads local data (defaults to 'remote' which loads from the server)",
+ "memberOf" : "Roo.form.ComboBox"
},
{
"name" : "msgFx",
"desc" : "The field's HTML name attribute.",
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "pageSize",
+ "type" : "Number",
+ "desc" : "If greater than 0, a paging toolbar is displayed in the footer of the dropdown list and the\nfilter queries will execute with page start and limit parameters. Only applies when mode = 'remote' (defaults to 0)",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "qtip",
"type" : "String",
"desc" : "Mouse over tip",
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "queryDelay",
+ "type" : "Number",
+ "desc" : "The length of time in milliseconds to delay between the start of typing and sending the\nquery to filter the dropdown list (defaults to 500 if mode = 'remote' or 10 if mode = 'local')",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "queryParam",
+ "type" : "String",
+ "desc" : "Name of the query as it will be passed on the querystring (defaults to 'query')",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "readOnly",
"type" : "Boolean",
"desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
"memberOf" : "Roo.form.TextField"
},
+ {
+ "name" : "resizable",
+ "type" : "Boolean",
+ "desc" : "True to add a resize handle to the bottom of the dropdown list (defaults to false)",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "selectOnFocus",
"type" : "Boolean",
- "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
- "memberOf" : "Roo.form.TextField"
+ "desc" : "True to select any existing text in the field immediately on focus. Only applies\nwhen editable = true (defaults to false)",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "selectedClass",
+ "type" : "String",
+ "desc" : "CSS class to apply to the selected item in the dropdown list (defaults to 'x-combo-selected')",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "shadow",
+ "type" : "Boolean/String",
+ "desc" : "True or \"sides\" for the default effect, \"frame\" for 4-way shadow, and \"drop\" for bottom-right",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "store",
+ "type" : "Roo.data.Store",
+ "desc" : "The data store to which this combo is bound (defaults to undefined)",
+ "memberOf" : "Roo.form.ComboBox"
},
{
"name" : "tabIndex",
"desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "title",
+ "type" : "String",
+ "desc" : "If supplied, a header element is created containing this text and added into the top of\nthe dropdown list (defaults to undefined, with no header element)",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "tpl",
+ "type" : "String/Roo.Template",
+ "desc" : "The template to use to render the output",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "transform",
+ "type" : "String/HTMLElement/Element",
+ "desc" : "The id, DOM node or element of an existing select to convert to a ComboBox",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "triggerAction",
+ "type" : "String",
+ "desc" : "The action to execute when the trigger field is activated. Use 'all' to run the\nquery specified by the allQuery config option (defaults to 'query')",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "triggerClass",
"type" : "String",
- "desc" : "An additional CSS class used to style the trigger button. The trigger will always get the\nclass 'x-form-trigger' and triggerClass will be <b>appended</b> if specified (defaults to 'x-form-date-trigger'\nwhich displays a calendar icon).",
- "memberOf" : ""
+ "desc" : "An additional CSS class used to style the trigger button. The trigger will always get the\nclass 'x-form-trigger' and triggerClass will be <b>appended</b> if specified (defaults to 'x-form-arrow-trigger'\nwhich displays a downward arrow icon).",
+ "memberOf" : "Roo.form.ComboBox"
},
{
- "name" : "useIso",
+ "name" : "typeAhead",
"type" : "Boolean",
- "desc" : "if enabled, then the date field will use a hidden field to store the \nreal value as iso formated date. default (false)",
- "memberOf" : ""
+ "desc" : "True to populate and autoselect the remainder of the text being typed after a configurable\ndelay (typeAheadDelay) if it matches a known value (defaults to false)",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "typeAheadDelay",
+ "type" : "Number",
+ "desc" : "The length of time in milliseconds to wait until the typeahead text is displayed\nif typeAhead = true (defaults to 250)",
+ "memberOf" : "Roo.form.ComboBox"
},
{
"name" : "validateOnBlur",
"desc" : "A value to initialize this field with.",
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "valueField",
+ "type" : "String",
+ "desc" : "The underlying data value name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'value' if mode = 'local'). \nNote: use of a valueField requires the user make a selection\nin order for a value to be mapped.",
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "valueNotFoundText",
+ "type" : "String",
+ "desc" : "When using a name/value combo, if the value passed to setValue is not found in\nthe store, valueNotFoundText will be displayed as the field text if defined (defaults to undefined)",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "vtype",
"type" : "String",
}
],
"events" : [
+ {
+ "name" : "add",
+ "type" : "function",
+ "desc" : "Fires when the 'add' icon is pressed (add a listener to enable add button)",
+ "sig" : "function (combo)\n{\n\n}",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "autosize",
"type" : "function",
"sig" : "function (_self)\n{\n\n}",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "beforequery",
+ "type" : "function",
+ "desc" : "Fires before all queries are processed. Return false to cancel the query or set cancel to true.\nThe event object passed has these properties:",
+ "sig" : "function (combo, query, forceAll, cancel, e)\n{\n\n}",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "beforerender",
"type" : "function",
"sig" : "function (_self)\n{\n\n}",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "beforeselect",
+ "type" : "function",
+ "desc" : "Fires before a list item is selected. Return false to cancel the selection.",
+ "sig" : "function (combo, record, index)\n{\n\n}",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "beforeshow",
"type" : "function",
"sig" : "function (_self, newValue, oldValue)\n{\n\n}",
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "collapse",
+ "type" : "function",
+ "desc" : "Fires when the dropdown list is collapsed",
+ "sig" : "function (combo)\n{\n\n}",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "destroy",
"type" : "function",
"sig" : "function (_self)\n{\n\n}",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "edit",
+ "type" : "function",
+ "desc" : "Fires when the 'edit' icon is pressed (add a listener to enable add button)",
+ "sig" : "function (combo, record)\n{\n\n}",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "enable",
"type" : "function",
"sig" : "function (_self)\n{\n\n}",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "expand",
+ "type" : "function",
+ "desc" : "Fires when the dropdown list is expanded",
+ "sig" : "function (combo)\n{\n\n}",
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "focus",
"type" : "function",
{
"name" : "select",
"type" : "function",
- "desc" : "Fires when a date is selected",
- "sig" : "function (combo, date)\n{\n\n}",
- "memberOf" : ""
+ "desc" : "Fires when a list item is selected",
+ "sig" : "function (combo, record, index)\n{\n\n}",
+ "memberOf" : "Roo.form.ComboBox"
},
{
"name" : "show",
"static" : false,
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "clearValue",
+ "type" : "function",
+ "desc" : "Clears any text/value currently set in the field",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "collapse",
+ "type" : "function",
+ "desc" : "Hides the dropdown list if it is currently expanded. Fires the 'collapse' event on completion.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "destroy",
"type" : "function",
"static" : false,
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "doQuery",
+ "type" : "function",
+ "desc" : "Execute a query to filter the dropdown list. Fires the beforequery event prior to performing the\nquery allowing the query action to be canceled if needed.",
+ "sig" : "(query, forceAll)",
+ "static" : false,
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "enable",
"type" : "function",
"static" : false,
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "expand",
+ "type" : "function",
+ "desc" : "Expands the dropdown list if it is currently hidden. Fires the 'expand' event on completion.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "fireEvent",
"type" : "function",
{
"name" : "getValue",
"type" : "function",
- "desc" : "Returns the current date value of the date field.",
+ "desc" : "Returns the currently selected field value or empty string if no value is set.",
"sig" : "()\n{\n\n}",
"static" : false,
- "memberOf" : ""
+ "memberOf" : "Roo.form.ComboBox"
},
{
"name" : "hasChanged",
"static" : false,
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "isExpanded",
+ "type" : "function",
+ "desc" : "Returns true if the dropdown list is expanded, else false.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "isValid",
"type" : "function",
"static" : false,
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "select",
+ "type" : "function",
+ "desc" : "Select an item in the dropdown list by its numeric index in the list. This function does NOT cause the select event to fire.\nThe store must be loaded and the list expanded for this function to work, otherwise use setValue.",
+ "sig" : "(index, scrollIntoView)",
+ "static" : false,
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "selectByValue",
+ "type" : "function",
+ "desc" : "Select an item in the dropdown list by its data value. This function does NOT cause the select event to fire.\nThe store must be loaded and the list expanded for this function to work, otherwise use setValue.",
+ "sig" : "(value, scrollIntoView)",
+ "static" : false,
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "selectText",
"type" : "function",
"static" : false,
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "setEditable",
+ "type" : "function",
+ "desc" : "Allow or prevent the user from directly editing the field text. If false is passed,\nthe user will only be able to select from the items defined in the dropdown list. This method\nis the runtime equivalent of setting the 'editable' config option at config time.",
+ "sig" : "(value)",
+ "static" : false,
+ "memberOf" : "Roo.form.ComboBox"
+ },
+ {
+ "name" : "setFromData",
+ "type" : "function",
+ "desc" : "Sets the value of the field based on a object which is related to the record format for the store.",
+ "sig" : "(value)",
+ "static" : false,
+ "memberOf" : "Roo.form.ComboBox"
+ },
{
"name" : "setPagePosition",
"type" : "function",
{
"name" : "setValue",
"type" : "function",
- "desc" : "Sets the value of the date field. You can pass a date object or any string that can be parsed into a valid\ndate, using DateField.format as the date format, according to the same rules as {@link Date#parseDate}\n(the default format used is \"m/d/y\").\n<br />Usage:\n<pre><code>\n//All of these calls set the same date value (May 4, 2006)\n\n//Pass a date object:\nvar dt = new Date('5/4/06');\ndateField.setValue(dt);\n\n//Pass a date string (default format):\ndateField.setValue('5/4/06');\n\n//Pass a date string (custom format):\ndateField.format = 'Y-m-d';\ndateField.setValue('2006-5-4');\n</code></pre>",
- "sig" : "(date)",
+ "desc" : "Sets the specified value into the field. If the value finds a match, the corresponding record text\nwill be displayed in the field. If the value does not match the data value of an existing item,\nand the valueNotFoundText config option is defined, it will be displayed as the default field text.\nOtherwise the field will be blank (although the value will still be set).",
+ "sig" : "(value)",
"static" : false,
- "memberOf" : ""
+ "memberOf" : "Roo.form.ComboBox"
},
{
"name" : "setVisible",
}
]
},
- "Roo.form.DayPicker" : {
+ "Roo.form.DateField" : {
"props" : [
{
"name" : "actionMode",
"desc" : "which property holds the element that used for hide() / show() / disable() / enable()\ndefault is 'el'",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowBlank",
+ "type" : "Boolean",
+ "desc" : "False to validate that the value length > 0 (defaults to true)",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "allowDomMove",
"type" : "Boolean",
"desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "altFormats",
+ "type" : "String",
+ "desc" : "Multiple date formats separated by \"|\" to try when parsing a user input value and it doesn't match the defined\nformat (defaults to 'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d').",
+ "memberOf" : ""
+ },
{
"name" : "autoCreate",
"type" : "String/Object",
- "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"checkbox\", autocomplete: \"off\"})",
+ "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"10\", autocomplete: \"off\"})",
"memberOf" : ""
},
+ {
+ "name" : "blankText",
+ "type" : "String",
+ "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "cls",
"type" : "String",
"desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "disableKeyFilter",
+ "type" : "Boolean",
+ "desc" : "True to disable input keystroke filtering (defaults to false)",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "disabled",
"type" : "Boolean",
"memberOf" : "Roo.form.Field"
},
{
- "name" : "fieldClass",
+ "name" : "disabledDates",
+ "type" : "Array",
+ "desc" : "An array of \"dates\" to disable, as strings. These strings will be used to build a dynamic regular\nexpression so they are very powerful. Some examples:\n<ul>\n<li>[\"03/08/2003\", \"09/16/2003\"] would disable those exact dates</li>\n<li>[\"03/08\", \"09/16\"] would disable those days for every year</li>\n<li>[\"^03/08\"] would only match the beginning (useful if you are using short years)</li>\n<li>[\"03/../2006\"] would disable every day in March 2006</li>\n<li>[\"^03\"] would disable every day in every March</li>\n</ul>\nIn order to support regular expressions, if you are using a date format that has \".\" in it, you will have to\nescape the dot when restricting dates. For example: [\"03\\\\.08\\\\.03\"].",
+ "memberOf" : ""
+ },
+ {
+ "name" : "disabledDatesText",
"type" : "String",
- "desc" : "The default CSS class for the checkbox (defaults to \"x-form-field\")",
+ "desc" : "The tooltip text to display when the date falls on a disabled date (defaults to 'Disabled')",
"memberOf" : ""
},
+ {
+ "name" : "disabledDays",
+ "type" : "Array",
+ "desc" : "An array of days to disable, 0 based. For example, [0, 6] disables Sunday and Saturday (defaults to null).",
+ "memberOf" : ""
+ },
+ {
+ "name" : "disabledDaysText",
+ "type" : "String",
+ "desc" : "The tooltip to display when the date falls on a disabled day (defaults to 'Disabled')",
+ "memberOf" : ""
+ },
+ {
+ "name" : "emptyText",
+ "type" : "String",
+ "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "fieldClass",
+ "type" : "String",
+ "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
+ "memberOf" : "Roo.form.Field"
+ },
{
"name" : "fieldLabel",
"type" : "String",
{
"name" : "focusClass",
"type" : "String",
- "desc" : "The CSS class to use when the checkbox receives focus (defaults to undefined)",
+ "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
+ "memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "format",
+ "type" : "String",
+ "desc" : "The default date format string which can be overriden for localization support. The format must be\nvalid according to {@link Date#parseDate} (defaults to 'm/d/y').",
"memberOf" : ""
},
{
],
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "hideTrigger",
+ "type" : "Boolean",
+ "desc" : "True to hide the trigger element and display only the base text field (defaults to false)",
+ "memberOf" : "Roo.form.TriggerField"
+ },
{
"name" : "inputType",
"type" : "String",
{
"name" : "invalidText",
"type" : "String",
- "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
- "memberOf" : "Roo.form.Field"
+ "desc" : "The error text to display when the date in the field is invalid (defaults to\n'{value} is not a valid date - it must be in the format {format}').",
+ "memberOf" : ""
},
{
"name" : "listeners",
"desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n listeners : { \n 'click' : function(e) {\n ..... \n } ,\n .... \n } \n </code></pre>",
"memberOf" : "Roo.util.Observable"
},
+ {
+ "name" : "maskRe",
+ "type" : "String",
+ "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "maxLength",
+ "type" : "Number",
+ "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "maxLengthText",
+ "type" : "String",
+ "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "maxText",
+ "type" : "String",
+ "desc" : "The error text to display when the date in the cell is after maxValue (defaults to\n'The date in this field must be before {maxValue}').",
+ "memberOf" : ""
+ },
+ {
+ "name" : "maxValue",
+ "type" : "Date/String",
+ "desc" : "The maximum allowed date. Can be either a Javascript date object or a string date in a\nvalid format (defaults to null).",
+ "memberOf" : ""
+ },
+ {
+ "name" : "minLength",
+ "type" : "Number",
+ "desc" : "Minimum input field length required (defaults to 0)",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "minLengthText",
+ "type" : "String",
+ "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "minText",
+ "type" : "String",
+ "desc" : "The error text to display when the date in the cell is before minValue (defaults to\n'The date in this field must be after {minValue}').",
+ "memberOf" : ""
+ },
+ {
+ "name" : "minValue",
+ "type" : "Date/String",
+ "desc" : "The minimum allowed date. Can be either a Javascript date object or a string date in a\nvalid format (defaults to null).",
+ "memberOf" : ""
+ },
{
"name" : "msgFx",
"type" : "String",
"desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "regex",
+ "type" : "RegExp",
+ "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value. If the test fails, the field will be marked invalid using {@link #regexText}.",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "regexText",
+ "type" : "String",
+ "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "selectOnFocus",
+ "type" : "Boolean",
+ "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "tabIndex",
"type" : "Number",
"desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "triggerClass",
+ "type" : "String",
+ "desc" : "An additional CSS class used to style the trigger button. The trigger will always get the\nclass 'x-form-trigger' and triggerClass will be <b>appended</b> if specified (defaults to 'x-form-date-trigger'\nwhich displays a calendar icon).",
+ "memberOf" : ""
+ },
+ {
+ "name" : "useIso",
+ "type" : "Boolean",
+ "desc" : "if enabled, then the date field will use a hidden field to store the \nreal value as iso formated date. default (false)",
+ "memberOf" : ""
+ },
{
"name" : "validateOnBlur",
"type" : "Boolean",
"desc" : "The event that should initiate field validation. Set to false to disable\n automatic validation (defaults to \"keyup\").",
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "validator",
+ "type" : "Function",
+ "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "value",
"type" : "Mixed",
"desc" : "A value to initialize this field with.",
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "vtype",
+ "type" : "String",
+ "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "width",
"type" : "Number",
}
],
"events" : [
+ {
+ "name" : "autosize",
+ "type" : "function",
+ "desc" : "Fires when the autosize function is triggered. The field may or may not have actually changed size\naccording to the default logic, but this event provides a hook for the developer to apply additional\nlogic at runtime to resize the field if needed.",
+ "sig" : "function (_self, width)\n{\n\n}",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "beforedestroy",
"type" : "function",
"sig" : "function (_self, adjWidth, adjHeight, rawWidth, rawHeight)\n{\n\n}",
"memberOf" : "Roo.BoxComponent"
},
+ {
+ "name" : "select",
+ "type" : "function",
+ "desc" : "Fires when a date is selected",
+ "sig" : "function (combo, date)\n{\n\n}",
+ "memberOf" : ""
+ },
{
"name" : "show",
"type" : "function",
"static" : false,
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "autoSize",
+ "type" : "function",
+ "desc" : "",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.form.TriggerField"
+ },
{
"name" : "capture",
"type" : "function",
{
"name" : "getValue",
"type" : "function",
- "desc" : "Returns the checked state of the checkbox.",
+ "desc" : "Returns the current date value of the date field.",
"sig" : "()\n{\n\n}",
"static" : false,
"memberOf" : ""
"static" : false,
"memberOf" : "Roo.BoxComponent"
},
+ {
+ "name" : "onTriggerClick",
+ "type" : "function",
+ "desc" : "The function that should handle the trigger's click event. This method does nothing by default until overridden\nby an implementing function.",
+ "sig" : "(e)",
+ "static" : false,
+ "memberOf" : "Roo.form.TriggerField"
+ },
{
"name" : "purgeListeners",
"type" : "function",
{
"name" : "reset",
"type" : "function",
- "desc" : "Resets the current field value to the originally loaded value and clears any validation messages",
+ "desc" : "Resets the current field value to the originally-loaded value and clears any validation messages.",
"sig" : "()\n{\n\n}",
"static" : false,
- "memberOf" : "Roo.form.Field"
+ "memberOf" : "Roo.form.TextField"
},
{
"name" : "resetHasChanged",
"static" : false,
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "selectText",
+ "type" : "function",
+ "desc" : "Selects text in this field",
+ "sig" : "(start, end)",
+ "static" : false,
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "setDisabled",
"type" : "function",
{
"name" : "setValue",
"type" : "function",
- "desc" : "Sets the checked state of the checkbox.\nOn is always based on a string comparison between inputValue and the param.",
- "sig" : "(value, suppressEvent)",
+ "desc" : "Sets the value of the date field. You can pass a date object or any string that can be parsed into a valid\ndate, using DateField.format as the date format, according to the same rules as {@link Date#parseDate}\n(the default format used is \"m/d/y\").\n<br />Usage:\n<pre><code>\n//All of these calls set the same date value (May 4, 2006)\n\n//Pass a date object:\nvar dt = new Date('5/4/06');\ndateField.setValue(dt);\n\n//Pass a date string (default format):\ndateField.setValue('5/4/06');\n\n//Pass a date string (custom format):\ndateField.format = 'Y-m-d';\ndateField.setValue('2006-5-4');\n</code></pre>",
+ "sig" : "(date)",
"static" : false,
"memberOf" : ""
},
"sig" : "()\n{\n\n}",
"static" : false,
"memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "validateValue",
+ "type" : "function",
+ "desc" : "Validates a value according to the field's validation rules and marks the field as invalid\nif the validation fails",
+ "sig" : "(value)",
+ "static" : false,
+ "memberOf" : "Roo.form.TextField"
}
]
},
- "Roo.form.DisplayField" : {
+ "Roo.form.DayPicker" : {
"props" : [
{
"name" : "actionMode",
"desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"checkbox\", autocomplete: \"off\"})",
"memberOf" : ""
},
- {
- "name" : "closable",
- "type" : "Boolean",
- "desc" : [
- "(true",
- "false)"
- ],
- "memberOf" : ""
- },
{
"name" : "cls",
"type" : "String",
"desc" : "A value to initialize this field with.",
"memberOf" : "Roo.form.Field"
},
- {
- "name" : "valueRenderer",
- "type" : "Function",
- "desc" : "The renderer for the field (so you can reformat output). should return raw HTML",
- "memberOf" : ""
- },
{
"name" : "width",
"type" : "Number",
"sig" : "function (_self, newValue, oldValue)\n{\n\n}",
"memberOf" : "Roo.form.Field"
},
- {
- "name" : "close",
- "type" : "function",
- "desc" : "Fires after the click the close btn",
- "sig" : "function (_self)\n{\n\n}",
- "memberOf" : ""
- },
{
"name" : "destroy",
"type" : "function",
{
"name" : "getValue",
"type" : "function",
- "desc" : "Returns the normalized data value (undefined or emptyText will be returned as ''). To return the raw value see {@link #getRawValue}.",
+ "desc" : "Returns the checked state of the checkbox.",
"sig" : "()\n{\n\n}",
"static" : false,
- "memberOf" : "Roo.form.Field"
+ "memberOf" : ""
},
{
"name" : "hasChanged",
{
"name" : "setValue",
"type" : "function",
- "desc" : "Sets the checked state of the checkbox.",
- "sig" : "(checked)",
+ "desc" : "Sets the checked state of the checkbox.\nOn is always based on a string comparison between inputValue and the param.",
+ "sig" : "(value, suppressEvent)",
"static" : false,
"memberOf" : ""
},
}
]
},
- "Roo.form.FCKeditor" : {
+ "Roo.form.DisplayField" : {
"props" : [
{
"name" : "actionMode",
"desc" : "which property holds the element that used for hide() / show() / disable() / enable()\ndefault is 'el'",
"memberOf" : "Roo.Component"
},
- {
- "name" : "allowBlank",
- "type" : "Boolean",
- "desc" : "False to validate that the value length > 0 (defaults to true)",
- "memberOf" : "Roo.form.TextField"
- },
{
"name" : "allowDomMove",
"type" : "Boolean",
{
"name" : "autoCreate",
"type" : "String/Object",
- "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"textarea\", style: \"width:300px;height:60px;\", autocomplete: \"off\"})",
- "memberOf" : "Roo.form.TextArea"
+ "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"checkbox\", autocomplete: \"off\"})",
+ "memberOf" : ""
},
{
- "name" : "blankText",
- "type" : "String",
- "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
- "memberOf" : "Roo.form.TextField"
+ "name" : "closable",
+ "type" : "Boolean",
+ "desc" : [
+ "(true",
+ "false)"
+ ],
+ "memberOf" : ""
},
{
"name" : "cls",
"desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
"memberOf" : "Roo.Component"
},
- {
- "name" : "disableKeyFilter",
- "type" : "Boolean",
- "desc" : "True to disable input keystroke filtering (defaults to false)",
- "memberOf" : "Roo.form.TextField"
- },
{
"name" : "disabled",
"type" : "Boolean",
"desc" : "True to disable the field (defaults to false).",
"memberOf" : "Roo.form.Field"
},
- {
- "name" : "emptyText",
- "type" : "String",
- "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
- "memberOf" : "Roo.form.TextField"
- },
- {
- "name" : "fck",
- "type" : "Object",
- "desc" : "BasePath",
- "memberOf" : ""
- },
{
"name" : "fieldClass",
"type" : "String",
- "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
- "memberOf" : "Roo.form.Field"
+ "desc" : "The default CSS class for the checkbox (defaults to \"x-form-field\")",
+ "memberOf" : ""
},
{
"name" : "fieldLabel",
{
"name" : "focusClass",
"type" : "String",
- "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
- "memberOf" : "Roo.form.Field"
- },
- {
- "name" : "grow",
- "type" : "Boolean",
- "desc" : "True if this field should automatically grow and shrink to its content",
- "memberOf" : "Roo.form.TextField"
- },
- {
- "name" : "growMax",
- "type" : "Number",
- "desc" : "The maximum height to allow when grow = true (defaults to 1000)",
- "memberOf" : "Roo.form.TextArea"
- },
- {
- "name" : "growMin",
- "type" : "Number",
- "desc" : "The minimum height to allow when grow = true (defaults to 60)",
- "memberOf" : "Roo.form.TextArea"
+ "desc" : "The CSS class to use when the checkbox receives focus (defaults to undefined)",
+ "memberOf" : ""
},
{
"name" : "height",
"desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n listeners : { \n 'click' : function(e) {\n ..... \n } ,\n .... \n } \n </code></pre>",
"memberOf" : "Roo.util.Observable"
},
- {
- "name" : "maskRe",
- "type" : "String",
- "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
- "memberOf" : "Roo.form.TextField"
- },
- {
- "name" : "maxLength",
- "type" : "Number",
- "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
- "memberOf" : "Roo.form.TextField"
- },
- {
- "name" : "maxLengthText",
- "type" : "String",
- "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
- "memberOf" : "Roo.form.TextField"
- },
- {
- "name" : "minLength",
- "type" : "Number",
- "desc" : "Minimum input field length required (defaults to 0)",
- "memberOf" : "Roo.form.TextField"
- },
- {
- "name" : "minLengthText",
- "type" : "String",
- "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
- "memberOf" : "Roo.form.TextField"
- },
{
"name" : "msgFx",
"type" : "String",
"desc" : "The field's HTML name attribute.",
"memberOf" : "Roo.form.Field"
},
- {
- "name" : "preventScrollbars",
- "type" : "Boolean",
- "desc" : "True to prevent scrollbars from appearing regardless of how much text is\nin the field (equivalent to setting overflow: hidden, defaults to false)",
- "memberOf" : "Roo.form.TextArea"
- },
{
"name" : "qtip",
"type" : "String",
"desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
"memberOf" : "Roo.form.Field"
},
- {
- "name" : "regex",
- "type" : "RegExp",
- "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value. If the test fails, the field will be marked invalid using {@link #regexText}.",
- "memberOf" : "Roo.form.TextField"
- },
- {
- "name" : "regexText",
- "type" : "String",
- "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
- "memberOf" : "Roo.form.TextField"
- },
- {
- "name" : "selectOnFocus",
- "type" : "Boolean",
- "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
- "memberOf" : "Roo.form.TextField"
- },
{
"name" : "tabIndex",
"type" : "Number",
"desc" : "The event that should initiate field validation. Set to false to disable\n automatic validation (defaults to \"keyup\").",
"memberOf" : "Roo.form.Field"
},
- {
- "name" : "validator",
- "type" : "Function",
- "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
- "memberOf" : "Roo.form.TextField"
- },
{
"name" : "value",
"type" : "Mixed",
"memberOf" : "Roo.form.Field"
},
{
- "name" : "vtype",
- "type" : "String",
- "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
- "memberOf" : "Roo.form.TextField"
+ "name" : "valueRenderer",
+ "type" : "Function",
+ "desc" : "The renderer for the field (so you can reformat output). should return raw HTML",
+ "memberOf" : ""
},
{
"name" : "width",
}
],
"events" : [
- {
- "name" : "autosize",
- "type" : "function",
- "desc" : "Fires when the autosize function is triggered. The field may or may not have actually changed size\naccording to the default logic, but this event provides a hook for the developer to apply additional\nlogic at runtime to resize the field if needed.",
- "sig" : "function (_self, width)\n{\n\n}",
- "memberOf" : "Roo.form.TextField"
- },
{
"name" : "beforedestroy",
"type" : "function",
"sig" : "function (_self, newValue, oldValue)\n{\n\n}",
"memberOf" : "Roo.form.Field"
},
+ {
+ "name" : "close",
+ "type" : "function",
+ "desc" : "Fires after the click the close btn",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : ""
+ },
{
"name" : "destroy",
"type" : "function",
"sig" : "function (_self)\n{\n\n}",
"memberOf" : "Roo.Component"
},
- {
- "name" : "editorinit",
- "type" : "function",
- "desc" : "Fired when the editor is initialized - you can add extra handlers here..",
- "sig" : "function (_self, the)\n{\n\n}",
- "memberOf" : ""
- },
{
"name" : "enable",
"type" : "function",
"static" : false,
"memberOf" : "Roo.form.Field"
},
- {
- "name" : "autoSize",
- "type" : "function",
- "desc" : "Automatically grows the field to accomodate the height of the text up to the maximum field height allowed.\nThis only takes effect if grow = true, and fires the autosize event if the height changes.",
- "sig" : "()\n{\n\n}",
- "static" : false,
- "memberOf" : "Roo.form.TextArea"
- },
{
"name" : "capture",
"type" : "function",
"desc" : "Returns the raw data value which may or may not be a valid, defined value. To return a normalized value see {@link #getValue}.",
"sig" : "()\n{\n\n}",
"static" : false,
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "getSize",
"desc" : "Returns the normalized data value (undefined or emptyText will be returned as ''). To return the raw value see {@link #getRawValue}.",
"sig" : "()\n{\n\n}",
"static" : false,
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "hasChanged",
{
"name" : "reset",
"type" : "function",
- "desc" : "Resets the current field value to the originally-loaded value and clears any validation messages.",
+ "desc" : "Resets the current field value to the originally loaded value and clears any validation messages",
"sig" : "()\n{\n\n}",
"static" : false,
- "memberOf" : "Roo.form.TextField"
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "resetHasChanged",
"static" : false,
"memberOf" : "Roo.form.Field"
},
- {
- "name" : "selectText",
- "type" : "function",
- "desc" : "Selects text in this field",
- "sig" : "(start, end)",
- "static" : false,
- "memberOf" : "Roo.form.TextField"
- },
{
"name" : "setDisabled",
"type" : "function",
{
"name" : "setValue",
"type" : "function",
- "desc" : "Sets a data value into the field and validates it. To set the value directly without validation see {@link #setRawValue}.",
- "sig" : "(value)",
+ "desc" : "Sets the checked state of the checkbox.",
+ "sig" : "(checked)",
"static" : false,
"memberOf" : ""
},
"sig" : "()\n{\n\n}",
"static" : false,
"memberOf" : "Roo.form.Field"
- },
- {
- "name" : "validateValue",
- "type" : "function",
- "desc" : "Validates a value according to the field's validation rules and marks the field as invalid\nif the validation fails",
- "sig" : "(value)",
- "static" : false,
- "memberOf" : "Roo.form.TextField"
}
]
},
- "Roo.form.Field" : {
+ "Roo.form.FCKeditor" : {
"props" : [
{
"name" : "actionMode",
"desc" : "which property holds the element that used for hide() / show() / disable() / enable()\ndefault is 'el'",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowBlank",
+ "type" : "Boolean",
+ "desc" : "False to validate that the value length > 0 (defaults to true)",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "allowDomMove",
"type" : "Boolean",
"desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "autoCreate",
"type" : "String/Object",
- "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"20\", autocomplete: \"off\"})",
- "memberOf" : ""
+ "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"textarea\", style: \"width:300px;height:60px;\", autocomplete: \"off\"})",
+ "memberOf" : "Roo.form.TextArea"
+ },
+ {
+ "name" : "blankText",
+ "type" : "String",
+ "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
+ "memberOf" : "Roo.form.TextField"
},
{
"name" : "cls",
"type" : "String",
"desc" : "A CSS class to apply to the field's underlying element.",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "disableClass",
"desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "disableKeyFilter",
+ "type" : "Boolean",
+ "desc" : "True to disable input keystroke filtering (defaults to false)",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "disabled",
"type" : "Boolean",
"desc" : "True to disable the field (defaults to false).",
+ "memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "emptyText",
+ "type" : "String",
+ "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "fck",
+ "type" : "Object",
+ "desc" : "BasePath",
"memberOf" : ""
},
{
"name" : "fieldClass",
"type" : "String",
"desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "fieldLabel",
"type" : "String",
"desc" : "Label to use when rendering a form.",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "focusClass",
"type" : "String",
"desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "grow",
+ "type" : "Boolean",
+ "desc" : "True if this field should automatically grow and shrink to its content",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "growMax",
+ "type" : "Number",
+ "desc" : "The maximum height to allow when grow = true (defaults to 1000)",
+ "memberOf" : "Roo.form.TextArea"
+ },
+ {
+ "name" : "growMin",
+ "type" : "Number",
+ "desc" : "The minimum height to allow when grow = true (defaults to 60)",
+ "memberOf" : "Roo.form.TextArea"
},
{
"name" : "height",
"name" : "inputType",
"type" : "String",
"desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "invalidClass",
"type" : "String",
"desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "invalidText",
"type" : "String",
"desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "listeners",
"desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n listeners : { \n 'click' : function(e) {\n ..... \n } ,\n .... \n } \n </code></pre>",
"memberOf" : "Roo.util.Observable"
},
+ {
+ "name" : "maskRe",
+ "type" : "String",
+ "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "maxLength",
+ "type" : "Number",
+ "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "maxLengthText",
+ "type" : "String",
+ "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "minLength",
+ "type" : "Number",
+ "desc" : "Minimum input field length required (defaults to 0)",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "minLengthText",
+ "type" : "String",
+ "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "msgFx",
"type" : "String",
"desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "msgTarget",
"type" : "String",
"desc" : "The location where error text should display. Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue Description\n----------- ----------------------------------------------------------------------\nqtip Display a quick tip when the user hovers over the field\ntitle Display a default browser title attribute popup\nunder Add a block div beneath the field containing the error text\nside Add an error icon to the right of the field with a popup on hover\n[element id] Add the error text directly to the innerHTML of the specified element\n</pre>",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "name",
"type" : "String",
"desc" : "The field's HTML name attribute.",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "preventScrollbars",
+ "type" : "Boolean",
+ "desc" : "True to prevent scrollbars from appearing regardless of how much text is\nin the field (equivalent to setting overflow: hidden, defaults to false)",
+ "memberOf" : "Roo.form.TextArea"
},
{
"name" : "qtip",
"type" : "String",
"desc" : "Mouse over tip",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "readOnly",
"type" : "Boolean",
"desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "regex",
+ "type" : "RegExp",
+ "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value. If the test fails, the field will be marked invalid using {@link #regexText}.",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "regexText",
+ "type" : "String",
+ "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "selectOnFocus",
+ "type" : "Boolean",
+ "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
+ "memberOf" : "Roo.form.TextField"
},
{
"name" : "tabIndex",
"type" : "Number",
"desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "validateOnBlur",
"type" : "Boolean",
"desc" : "Whether the field should validate when it loses focus (defaults to true).",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "validationDelay",
"type" : "Number",
"desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "validationEvent",
"type" : "String/Boolean",
"desc" : "The event that should initiate field validation. Set to false to disable\n automatic validation (defaults to \"keyup\").",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "validator",
+ "type" : "Function",
+ "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
+ "memberOf" : "Roo.form.TextField"
},
{
"name" : "value",
"type" : "Mixed",
"desc" : "A value to initialize this field with.",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "vtype",
+ "type" : "String",
+ "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
+ "memberOf" : "Roo.form.TextField"
},
{
"name" : "width",
}
],
"events" : [
+ {
+ "name" : "autosize",
+ "type" : "function",
+ "desc" : "Fires when the autosize function is triggered. The field may or may not have actually changed size\naccording to the default logic, but this event provides a hook for the developer to apply additional\nlogic at runtime to resize the field if needed.",
+ "sig" : "function (_self, width)\n{\n\n}",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "beforedestroy",
"type" : "function",
"type" : "function",
"desc" : "Fires when this field loses input focus.",
"sig" : "function (_self)\n{\n\n}",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "change",
"type" : "function",
"desc" : "Fires just before the field blurs if the field value has changed.",
"sig" : "function (_self, newValue, oldValue)\n{\n\n}",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "destroy",
"sig" : "function (_self)\n{\n\n}",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "editorinit",
+ "type" : "function",
+ "desc" : "Fired when the editor is initialized - you can add extra handlers here..",
+ "sig" : "function (_self, the)\n{\n\n}",
+ "memberOf" : ""
+ },
{
"name" : "enable",
"type" : "function",
"type" : "function",
"desc" : "Fires when this field receives input focus.",
"sig" : "function (_self)\n{\n\n}",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "hide",
"type" : "function",
"desc" : "Fires after the field has been marked as invalid.",
"sig" : "function (_self, msg)\n{\n\n}",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "keyup",
"type" : "function",
"desc" : "Fires after the key up",
"sig" : "function (_self, e)\n{\n\n}",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "move",
"type" : "function",
"desc" : "Fires when any key related to navigation (arrows, tab, enter, esc, etc.) is pressed. You can check\n{@link Roo.EventObject#getKey} to determine which key was pressed.",
"sig" : "function (_self, e)\n{\n\n}",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "valid",
"type" : "function",
"desc" : "Fires after the field has been validated with no errors.",
"sig" : "function (_self)\n{\n\n}",
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
}
],
"methods" : [
"desc" : "Apply the behaviors of this component to an existing element. <b>This is used instead of render().</b>",
"sig" : "(el)",
"static" : false,
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "autoSize",
+ "type" : "function",
+ "desc" : "Automatically grows the field to accomodate the height of the text up to the maximum field height allowed.\nThis only takes effect if grow = true, and fires the autosize event if the height changes.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.form.TextArea"
},
{
"name" : "capture",
"desc" : "Clear any invalid styles/messages for this field",
"sig" : "()\n{\n\n}",
"static" : false,
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "destroy",
"desc" : "Returns the name attribute of the field if available",
"sig" : "()\n{\n\n}",
"static" : false,
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "getPosition",
"desc" : "checks the current value against the 'loaded' value.\nNote - will return false if 'resetHasChanged' has not been called first.",
"sig" : "()\n{\n\n}",
"static" : false,
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "hasListener",
"desc" : "Returns true if this field has been changed since it was originally loaded and is not disabled.\nDEPRICATED - it never worked well - use hasChanged/resetHasChanged.",
"sig" : "()\n{\n\n}",
"static" : false,
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "isValid",
"desc" : "Returns whether or not the field value is currently valid",
"sig" : "(preventMark)",
"static" : false,
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
},
{
"name" : "isVisible",
"desc" : "Mark this field as invalid",
"sig" : "(msg)",
"static" : false,
- "memberOf" : ""
+ "memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "on",
+ "type" : "function",
+ "desc" : "Appends an event handler to this element (shorthand for addListener)",
+ "sig" : "(eventName, handler, scope, options)",
+ "static" : false,
+ "memberOf" : "Roo.util.Observable"
+ },
+ {
+ "name" : "onPosition",
+ "type" : "function",
+ "desc" : "Called after the component is moved, this method is empty by default but can be implemented by any\nsubclass that needs to perform custom logic after a move occurs.",
+ "sig" : "(x, y)",
+ "static" : false,
+ "memberOf" : "Roo.BoxComponent"
+ },
+ {
+ "name" : "onResize",
+ "type" : "function",
+ "desc" : "Called after the component is resized, this method is empty by default but can be implemented by any\nsubclass that needs to perform custom logic after a resize occurs.",
+ "sig" : "(adjWidth, adjHeight, rawWidth, rawHeight)",
+ "static" : false,
+ "memberOf" : "Roo.BoxComponent"
+ },
+ {
+ "name" : "purgeListeners",
+ "type" : "function",
+ "desc" : "Removes all listeners for this object",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.util.Observable"
+ },
+ {
+ "name" : "releaseCapture",
+ "type" : "function",
+ "desc" : "Removes <b>all</b> added captures from the Observable.",
+ "sig" : "(o)",
+ "static" : true,
+ "memberOf" : "Roo.util.Observable"
+ },
+ {
+ "name" : "removeListener",
+ "type" : "function",
+ "desc" : "Removes a listener",
+ "sig" : "(eventName, handler, scope)",
+ "static" : false,
+ "memberOf" : "Roo.util.Observable"
+ },
+ {
+ "name" : "render",
+ "type" : "function",
+ "desc" : "If this is a lazy rendering component, render it to its container element.",
+ "sig" : "(container)",
+ "static" : false,
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "reset",
+ "type" : "function",
+ "desc" : "Resets the current field value to the originally-loaded value and clears any validation messages.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "resetHasChanged",
+ "type" : "function",
+ "desc" : "stores the current value in loadedValue",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "selectText",
+ "type" : "function",
+ "desc" : "Selects text in this field",
+ "sig" : "(start, end)",
+ "static" : false,
+ "memberOf" : "Roo.form.TextField"
+ },
+ {
+ "name" : "setDisabled",
+ "type" : "function",
+ "desc" : "Convenience function for setting disabled/enabled by boolean.",
+ "sig" : "(disabled)",
+ "static" : false,
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "setPagePosition",
+ "type" : "function",
+ "desc" : "Sets the page XY position of the component. To set the left and top instead, use {@link #setPosition}.\nThis method fires the move event.",
+ "sig" : "(x, y)",
+ "static" : false,
+ "memberOf" : "Roo.BoxComponent"
+ },
+ {
+ "name" : "setPosition",
+ "type" : "function",
+ "desc" : "Sets the left and top of the component. To set the page XY position instead, use {@link #setPagePosition}.\nThis method fires the move event.",
+ "sig" : "(left, top)",
+ "static" : false,
+ "memberOf" : "Roo.BoxComponent"
+ },
+ {
+ "name" : "setRawValue",
+ "type" : "function",
+ "desc" : "Sets the underlying DOM field's value directly, bypassing validation. To set the value with validation see {@link #setValue}.",
+ "sig" : "(value)",
+ "static" : false,
+ "memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "setSize",
+ "type" : "function",
+ "desc" : "Sets the width and height of the component. This method fires the resize event. This method can accept\neither width and height as separate numeric arguments, or you can pass a size object like {width:10, height:20}.",
+ "sig" : "(width, height)",
+ "static" : false,
+ "memberOf" : "Roo.BoxComponent"
+ },
+ {
+ "name" : "setValue",
+ "type" : "function",
+ "desc" : "Sets a data value into the field and validates it. To set the value directly without validation see {@link #setRawValue}.",
+ "sig" : "(value)",
+ "static" : false,
+ "memberOf" : ""
+ },
+ {
+ "name" : "setVisible",
+ "type" : "function",
+ "desc" : "Convenience function to hide or show this component by boolean.",
+ "sig" : "(visible)",
+ "static" : false,
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "show",
+ "type" : "function",
+ "desc" : "Show this component.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "syncSize",
+ "type" : "function",
+ "desc" : "Force the component's size to recalculate based on the underlying element's current height and width.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.BoxComponent"
+ },
+ {
+ "name" : "un",
+ "type" : "function",
+ "desc" : "Removes a listener (shorthand for removeListener)",
+ "sig" : "(eventName, handler, scope)",
+ "static" : false,
+ "memberOf" : "Roo.util.Observable"
+ },
+ {
+ "name" : "updateBox",
+ "type" : "function",
+ "desc" : "Sets the current box measurements of the component's underlying element.",
+ "sig" : "(box)",
+ "static" : false,
+ "memberOf" : "Roo.BoxComponent"
+ },
+ {
+ "name" : "validate",
+ "type" : "function",
+ "desc" : "Validates the field value",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.form.Field"
+ },
+ {
+ "name" : "validateValue",
+ "type" : "function",
+ "desc" : "Validates a value according to the field's validation rules and marks the field as invalid\nif the validation fails",
+ "sig" : "(value)",
+ "static" : false,
+ "memberOf" : "Roo.form.TextField"
+ }
+ ]
+ },
+ "Roo.form.Field" : {
+ "props" : [
+ {
+ "name" : "actionMode",
+ "type" : "String",
+ "desc" : "which property holds the element that used for hide() / show() / disable() / enable()\ndefault is 'el'",
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "allowDomMove",
+ "type" : "Boolean",
+ "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "autoCreate",
+ "type" : "String/Object",
+ "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"20\", autocomplete: \"off\"})",
+ "memberOf" : ""
+ },
+ {
+ "name" : "cls",
+ "type" : "String",
+ "desc" : "A CSS class to apply to the field's underlying element.",
+ "memberOf" : ""
+ },
+ {
+ "name" : "disableClass",
+ "type" : "String",
+ "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "disabled",
+ "type" : "Boolean",
+ "desc" : "True to disable the field (defaults to false).",
+ "memberOf" : ""
+ },
+ {
+ "name" : "fieldClass",
+ "type" : "String",
+ "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
+ "memberOf" : ""
+ },
+ {
+ "name" : "fieldLabel",
+ "type" : "String",
+ "desc" : "Label to use when rendering a form.",
+ "memberOf" : ""
+ },
+ {
+ "name" : "focusClass",
+ "type" : "String",
+ "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
+ "memberOf" : ""
+ },
+ {
+ "name" : "height",
+ "type" : "Number",
+ "desc" : "height (optional) size of component",
+ "memberOf" : "Roo.BoxComponent"
+ },
+ {
+ "name" : "hideMode",
+ "type" : "String",
+ "desc" : [
+ "(display",
+ "visibility)"
+ ],
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "inputType",
+ "type" : "String",
+ "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
+ "memberOf" : ""
+ },
+ {
+ "name" : "invalidClass",
+ "type" : "String",
+ "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
+ "memberOf" : ""
+ },
+ {
+ "name" : "invalidText",
+ "type" : "String",
+ "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
+ "memberOf" : ""
+ },
+ {
+ "name" : "listeners",
+ "type" : "Object",
+ "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n listeners : { \n 'click' : function(e) {\n ..... \n } ,\n .... \n } \n </code></pre>",
+ "memberOf" : "Roo.util.Observable"
+ },
+ {
+ "name" : "msgFx",
+ "type" : "String",
+ "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
+ "memberOf" : ""
+ },
+ {
+ "name" : "msgTarget",
+ "type" : "String",
+ "desc" : "The location where error text should display. Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue Description\n----------- ----------------------------------------------------------------------\nqtip Display a quick tip when the user hovers over the field\ntitle Display a default browser title attribute popup\nunder Add a block div beneath the field containing the error text\nside Add an error icon to the right of the field with a popup on hover\n[element id] Add the error text directly to the innerHTML of the specified element\n</pre>",
+ "memberOf" : ""
+ },
+ {
+ "name" : "name",
+ "type" : "String",
+ "desc" : "The field's HTML name attribute.",
+ "memberOf" : ""
+ },
+ {
+ "name" : "qtip",
+ "type" : "String",
+ "desc" : "Mouse over tip",
+ "memberOf" : ""
+ },
+ {
+ "name" : "readOnly",
+ "type" : "Boolean",
+ "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
+ "memberOf" : ""
+ },
+ {
+ "name" : "tabIndex",
+ "type" : "Number",
+ "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
+ "memberOf" : ""
+ },
+ {
+ "name" : "validateOnBlur",
+ "type" : "Boolean",
+ "desc" : "Whether the field should validate when it loses focus (defaults to true).",
+ "memberOf" : ""
+ },
+ {
+ "name" : "validationDelay",
+ "type" : "Number",
+ "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
+ "memberOf" : ""
+ },
+ {
+ "name" : "validationEvent",
+ "type" : "String/Boolean",
+ "desc" : "The event that should initiate field validation. Set to false to disable\n automatic validation (defaults to \"keyup\").",
+ "memberOf" : ""
+ },
+ {
+ "name" : "value",
+ "type" : "Mixed",
+ "desc" : "A value to initialize this field with.",
+ "memberOf" : ""
+ },
+ {
+ "name" : "width",
+ "type" : "Number",
+ "desc" : "width (optional) size of component",
+ "memberOf" : "Roo.BoxComponent"
+ }
+ ],
+ "events" : [
+ {
+ "name" : "beforedestroy",
+ "type" : "function",
+ "desc" : "Fires before the component is destroyed. Return false to stop the destroy.",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "beforehide",
+ "type" : "function",
+ "desc" : "Fires before the component is hidden. Return false to stop the hide.",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "beforerender",
+ "type" : "function",
+ "desc" : "Fires before the component is rendered. Return false to stop the render.",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "beforeshow",
+ "type" : "function",
+ "desc" : "Fires before the component is shown. Return false to stop the show.",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "blur",
+ "type" : "function",
+ "desc" : "Fires when this field loses input focus.",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : ""
+ },
+ {
+ "name" : "change",
+ "type" : "function",
+ "desc" : "Fires just before the field blurs if the field value has changed.",
+ "sig" : "function (_self, newValue, oldValue)\n{\n\n}",
+ "memberOf" : ""
+ },
+ {
+ "name" : "destroy",
+ "type" : "function",
+ "desc" : "Fires after the component is destroyed.",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "disable",
+ "type" : "function",
+ "desc" : "Fires after the component is disabled.",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "enable",
+ "type" : "function",
+ "desc" : "Fires after the component is enabled.",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "focus",
+ "type" : "function",
+ "desc" : "Fires when this field receives input focus.",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : ""
+ },
+ {
+ "name" : "hide",
+ "type" : "function",
+ "desc" : "Fires after the component is hidden.",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "invalid",
+ "type" : "function",
+ "desc" : "Fires after the field has been marked as invalid.",
+ "sig" : "function (_self, msg)\n{\n\n}",
+ "memberOf" : ""
+ },
+ {
+ "name" : "keyup",
+ "type" : "function",
+ "desc" : "Fires after the key up",
+ "sig" : "function (_self, e)\n{\n\n}",
+ "memberOf" : ""
+ },
+ {
+ "name" : "move",
+ "type" : "function",
+ "desc" : "Fires after the component is moved.",
+ "sig" : "function (_self, x, y)\n{\n\n}",
+ "memberOf" : "Roo.BoxComponent"
+ },
+ {
+ "name" : "render",
+ "type" : "function",
+ "desc" : "Fires after the component is rendered.",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "resize",
+ "type" : "function",
+ "desc" : "Fires after the component is resized.",
+ "sig" : "function (_self, adjWidth, adjHeight, rawWidth, rawHeight)\n{\n\n}",
+ "memberOf" : "Roo.BoxComponent"
+ },
+ {
+ "name" : "show",
+ "type" : "function",
+ "desc" : "Fires after the component is shown.",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "specialkey",
+ "type" : "function",
+ "desc" : "Fires when any key related to navigation (arrows, tab, enter, esc, etc.) is pressed. You can check\n{@link Roo.EventObject#getKey} to determine which key was pressed.",
+ "sig" : "function (_self, e)\n{\n\n}",
+ "memberOf" : ""
+ },
+ {
+ "name" : "valid",
+ "type" : "function",
+ "desc" : "Fires after the field has been validated with no errors.",
+ "sig" : "function (_self)\n{\n\n}",
+ "memberOf" : ""
+ }
+ ],
+ "methods" : [
+ {
+ "name" : "addEvents",
+ "type" : "function",
+ "desc" : "Used to define events on this Observable",
+ "sig" : "(object)",
+ "static" : false,
+ "memberOf" : "Roo.util.Observable"
+ },
+ {
+ "name" : "addListener",
+ "type" : "function",
+ "desc" : "Appends an event handler to this component",
+ "sig" : "(eventName, handler, scope, options)",
+ "static" : false,
+ "memberOf" : "Roo.util.Observable"
+ },
+ {
+ "name" : "applyTo",
+ "type" : "function",
+ "desc" : "Apply the behaviors of this component to an existing element. <b>This is used instead of render().</b>",
+ "sig" : "(el)",
+ "static" : false,
+ "memberOf" : ""
+ },
+ {
+ "name" : "capture",
+ "type" : "function",
+ "desc" : "Starts capture on the specified Observable. All events will be passed\nto the supplied function with the event name + standard signature of the event\n<b>before</b> the event is fired. If the supplied function returns false,\nthe event will not fire.",
+ "sig" : "(o, fn, scope)",
+ "static" : true,
+ "memberOf" : "Roo.util.Observable"
+ },
+ {
+ "name" : "clearInvalid",
+ "type" : "function",
+ "desc" : "Clear any invalid styles/messages for this field",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : ""
+ },
+ {
+ "name" : "destroy",
+ "type" : "function",
+ "desc" : "Destroys this component by purging any event listeners, removing the component's element from the DOM,\nremoving the component from its {@link Roo.Container} (if applicable) and unregistering it from {@link Roo.ComponentMgr}.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "disable",
+ "type" : "function",
+ "desc" : "Disable this component.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "enable",
+ "type" : "function",
+ "desc" : "Enable this component.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "fireEvent",
+ "type" : "function",
+ "desc" : "Fires the specified event with the passed parameters (minus the event name).",
+ "sig" : "(eventName, args)",
+ "static" : false,
+ "memberOf" : "Roo.util.Observable"
+ },
+ {
+ "name" : "focus",
+ "type" : "function",
+ "desc" : "Try to focus this component.",
+ "sig" : "(selectText)",
+ "static" : false,
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "getBox",
+ "type" : "function",
+ "desc" : "Gets the current box measurements of the component's underlying element.",
+ "sig" : "(local)",
+ "static" : false,
+ "memberOf" : "Roo.BoxComponent"
+ },
+ {
+ "name" : "getEl",
+ "type" : "function",
+ "desc" : "Returns the underlying {@link Roo.Element}.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "getId",
+ "type" : "function",
+ "desc" : "Returns the id of this component.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "getName",
+ "type" : "function",
+ "desc" : "Returns the name attribute of the field if available",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : ""
+ },
+ {
+ "name" : "getPosition",
+ "type" : "function",
+ "desc" : "Gets the current XY position of the component's underlying element.",
+ "sig" : "(local)",
+ "static" : false,
+ "memberOf" : "Roo.BoxComponent"
+ },
+ {
+ "name" : "getRawValue",
+ "type" : "function",
+ "desc" : "Returns the raw data value which may or may not be a valid, defined value. To return a normalized value see {@link #getValue}.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : ""
+ },
+ {
+ "name" : "getSize",
+ "type" : "function",
+ "desc" : "Gets the current size of the component's underlying element.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.BoxComponent"
+ },
+ {
+ "name" : "getValue",
+ "type" : "function",
+ "desc" : "Returns the normalized data value (undefined or emptyText will be returned as ''). To return the raw value see {@link #getRawValue}.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : ""
+ },
+ {
+ "name" : "hasChanged",
+ "type" : "function",
+ "desc" : "checks the current value against the 'loaded' value.\nNote - will return false if 'resetHasChanged' has not been called first.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : ""
+ },
+ {
+ "name" : "hasListener",
+ "type" : "function",
+ "desc" : "Checks to see if this object has any listeners for a specified event",
+ "sig" : "(eventName)",
+ "static" : false,
+ "memberOf" : "Roo.util.Observable"
+ },
+ {
+ "name" : "hide",
+ "type" : "function",
+ "desc" : "Hide this component.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "isDirty",
+ "type" : "function",
+ "desc" : "Returns true if this field has been changed since it was originally loaded and is not disabled.\nDEPRICATED - it never worked well - use hasChanged/resetHasChanged.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : ""
+ },
+ {
+ "name" : "isValid",
+ "type" : "function",
+ "desc" : "Returns whether or not the field value is currently valid",
+ "sig" : "(preventMark)",
+ "static" : false,
+ "memberOf" : ""
+ },
+ {
+ "name" : "isVisible",
+ "type" : "function",
+ "desc" : "Returns true if this component is visible.",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "Roo.Component"
+ },
+ {
+ "name" : "markInvalid",
+ "type" : "function",
+ "desc" : "Mark this field as invalid",
+ "sig" : "(msg)",
+ "static" : false,
+ "memberOf" : ""
},
{
"name" : "on",
"desc" : "Valid values are \"left,\" \"center\" and \"right\" (defaults to \"center\")",
"memberOf" : ""
},
+ {
+ "name" : "errorMask",
+ "type" : "Boolean",
+ "desc" : [
+ "(true",
+ "false)"
+ ],
+ "memberOf" : "Roo.form.BasicForm"
+ },
{
"name" : "errorReader",
"type" : "DataReader",
"desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n listeners : { \n 'click' : function(e) {\n ..... \n } ,\n .... \n } \n </code></pre>",
"memberOf" : "Roo.util.Observable"
},
+ {
+ "name" : "maskOffset",
+ "type" : "Number",
+ "desc" : "Default 100",
+ "memberOf" : "Roo.form.BasicForm"
+ },
{
"name" : "method",
"type" : "String",
"desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "autoCreate",
"type" : "String/Object",
"desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "altFormats",
"type" : "String",
"desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "allowNegative",
"type" : "Boolean",
"desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "alwaysQuery",
"type" : "Boolean",
"desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "autoCreate",
"type" : "String/Object",
"desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : ""
+ },
{
"name" : "autoCreate",
"type" : "String/Object",
"desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
"memberOf" : "Roo.Component"
},
- {
- "name" : "cls",
- "type" : "String",
- "desc" : "the class for this item",
- "memberOf" : ""
- },
{
"name" : "disableClass",
"type" : "String",
"desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
"memberOf" : "Roo.Component"
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField"
+ },
{
"name" : "autoCreate",
"type" : "String/Object",
"sig" : "function (tree, parent, node, index)\n{\n\n}",
"memberOf" : "Roo.data.Tree"
},
+ {
+ "name" : "appendnode",
+ "type" : "function",
+ "desc" : "Fires when append node to the tree",
+ "sig" : "function (_self, node, index)\n{\n\n}",
+ "memberOf" : ""
+ },
{
"name" : "beforeappend",
"type" : "function",
{
"name" : "Parser",
"type" : "function",
- "desc" : "Parsing & Compiling",
+ "desc" : "eval:var:Parser",
"sig" : "()\n{\n\n}",
"static" : false,
"memberOf" : ""
{
"name" : "Renderer",
"type" : "function",
- "desc" : "Renderer",
+ "desc" : "eval:var:Renderer",
"sig" : "()\n{\n\n}",
"static" : false,
"memberOf" : ""
{
"name" : "marked",
"type" : "function",
- "desc" : "Marked",
+ "desc" : "eval:var:marked",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : ""
+ },
+ {
+ "name" : "merge",
+ "type" : "function",
+ "desc" : "eval:var:merge",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : ""
+ },
+ {
+ "name" : "noop",
+ "type" : "function",
+ "desc" : "eval:var:noop",
"sig" : "()\n{\n\n}",
"static" : false,
"memberOf" : ""
-<html><head><title>/home/edward/gitlive/roojs1/Array.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Array.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Date.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Date.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Function.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Function.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Number.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Number.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/Ajax.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/Ajax.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/BasicDialog.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/BasicDialog.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/BasicLayoutRegion.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/BasicLayoutRegion.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/BorderLayout.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/BorderLayout.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/BoxComponent.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/BoxComponent.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/Button.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/Button.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/CalendarPanel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/CalendarPanel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* based on jquery fullcalendar
-<html><head><title>/home/edward/gitlive/roojs1/Roo/CenterLayoutRegion.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/CenterLayoutRegion.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/ColorPalette.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/ColorPalette.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/Component.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/Component.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/ComponentMgr.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/ComponentMgr.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/CompositeElement.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/CompositeElement.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/CompositeElementLite.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/CompositeElementLite.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/ContentPanel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/ContentPanel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/DDView.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<script type="text/javasscript">
+<html><head><title>Roo/DDView.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<script type="text/javasscript">
/**
-<html><head><title>/home/edward/gitlive/roojs1/Roo/DatePicker.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/DatePicker.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/Document.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/Document.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* RooJS Library
* Copyright(c) 2007-2017, Roo J Solutions Ltd
*
-<html><head><title>/home/edward/gitlive/roojs1/Roo/DomHelper.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/DomHelper.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/DomQuery.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/DomQuery.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/DomTemplate.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/DomTemplate.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Roo JS
* (c)) Alan Knowles
-<html><head><title>/home/edward/gitlive/roojs1/Roo/Editor.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/Editor.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/Element.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/Element.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/EventManager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/EventManager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/Fx.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/Fx.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/HtmlEditorCore.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<script type="text/javascript">
+<html><head><title>Roo/HtmlEditorCore.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<script type="text/javascript">
/*
* Based Ext JS Library 1.1.1
</span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cleanHtml</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-comment">// fix up the special chars.. normaly like back quotes in word...
// however we do not want to do this with chinese..
- </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">html.replace</span><span class="jsdoc-syntax">(/([\x80-\uffff])/g, </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b.charCodeAt</span><span class="jsdoc-syntax">();
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(
+ </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">html.replace</span><span class="jsdoc-syntax">(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[\u0080-\uFFFF]/g, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">match</span><span class="jsdoc-syntax">) {
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">match.charCodeAt</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-comment">// Get the character value, handling surrogate pairs
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">match.length </span><span class="jsdoc-syntax">== 2) {
+ </span><span class="jsdoc-comment">// It's a surrogate pair, calculate the Unicode code point
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">high </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">match.charCodeAt</span><span class="jsdoc-syntax">(0) - 0xD800;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">low </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">match.charCodeAt</span><span class="jsdoc-syntax">(1) - 0xDC00;
+ </span><span class="jsdoc-var">cc </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">high </span><span class="jsdoc-syntax">* 0x400) + </span><span class="jsdoc-var">low </span><span class="jsdoc-syntax">+ 0x10000;
+ } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(
(</span><span class="jsdoc-var">cc </span><span class="jsdoc-syntax">>= 0x4E00 && </span><span class="jsdoc-var">cc </span><span class="jsdoc-syntax">< 0xA000 ) ||
(</span><span class="jsdoc-var">cc </span><span class="jsdoc-syntax">>= 0x3400 && </span><span class="jsdoc-var">cc </span><span class="jsdoc-syntax">< 0x4E00 ) ||
(</span><span class="jsdoc-var">cc </span><span class="jsdoc-syntax">>= 0xf900 && </span><span class="jsdoc-var">cc </span><span class="jsdoc-syntax">< 0xfb00 )
) {
- </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">match</span><span class="jsdoc-syntax">;
}
- </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">"&#"</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">cc</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">";"
- </span><span class="jsdoc-syntax">});
+
+ </span><span class="jsdoc-comment">// No, use a numeric entity. Here we brazenly (and possibly mistakenly)
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">"&#" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">cc </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">";"</span><span class="jsdoc-syntax">;
+
+
+ });
+
+
+
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.owner.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'beforesync'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">) !== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.el.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">this.owner.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'sync'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">insertTag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tg</span><span class="jsdoc-syntax">)
{
</span><span class="jsdoc-comment">// could be a bit smarter... -> wrap the current selected tRoo..
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tg.toLowerCase</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-string">'span' </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">tg.toLowerCase</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-string">'code'</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tg.toLowerCase</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-string">'span' </span><span class="jsdoc-syntax">||
+ </span><span class="jsdoc-var">tg.toLowerCase</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-string">'code' </span><span class="jsdoc-syntax">||
+ </span><span class="jsdoc-var">tg.toLowerCase</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-string">'sup' </span><span class="jsdoc-syntax">||
+ </span><span class="jsdoc-var">tg.toLowerCase</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-string">'sub'
+ </span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-var">range </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.createRange</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getSelection</span><span class="jsdoc-syntax">());
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">wrappingNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.doc.createElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tg.toLowerCase</span><span class="jsdoc-syntax">());
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">remove_keep_children</span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.HtmlEditorCore.remove.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node.tagName.toLowerCase</span><span class="jsdoc-syntax">()) > -1;
+ </span><span class="jsdoc-comment">// spans with no attributes - just remove them..
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">((!</span><span class="jsdoc-var">node.attributes </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">node.attributes.length</span><span class="jsdoc-syntax">) && </span><span class="jsdoc-var">lcname </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">remove_keep_children </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ }
+
</span><span class="jsdoc-comment">// remove <a name=....> as rendering on yahoo mailer is borked with this.
// this will have to be flaged elsewhere - perhaps ablack=name... on the mailer..
}
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">node.attributes </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">node.attributes.length</span><span class="jsdoc-syntax">) {
+
+
+
+
</span><span class="jsdoc-var">this.cleanUpChildren</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
}
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a.name </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'class'</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a.value.match</span><span class="jsdoc-syntax">(/^Mso/)) {
- </span><span class="jsdoc-var">node.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">node.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'class'</span><span class="jsdoc-syntax">);
}
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a.value.match</span><span class="jsdoc-syntax">(/^body$/)) {
- </span><span class="jsdoc-var">node.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">node.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'class'</span><span class="jsdoc-syntax">);
}
</span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
}
*/
</span><span class="jsdoc-var">cleanWord </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">)
{
-
-
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-var">this.cleanWord</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.doc.body</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
}
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(
+ </span><span class="jsdoc-var">node.nodeName </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'SPAN' </span><span class="jsdoc-syntax">&&
+ !</span><span class="jsdoc-var">node.hasAttributes</span><span class="jsdoc-syntax">() &&
+ </span><span class="jsdoc-var">node.childNodes.length </span><span class="jsdoc-syntax">== 1 &&
+ </span><span class="jsdoc-var">node.firstChild.nodeName </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">"#text"
+ </span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">textNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">node.firstChild</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">node.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">textNode</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node.getAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'lang'</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'zh-CN'</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-comment">// do not space pad on chinese characters..
+ </span><span class="jsdoc-var">node.parentNode.insertBefore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node.ownerDocument.createTextNode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">" "</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">node.parentNode.insertBefore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">textNode</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node.getAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'lang'</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'zh-CN'</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-comment">// do not space pad on chinese characters..
+ </span><span class="jsdoc-var">node.parentNode.insertBefore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node.ownerDocument.createTextNode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">" "</span><span class="jsdoc-syntax">) , </span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">node.parentNode.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
+ }
+
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node.nodeName </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">"#text"</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-comment">// clean up silly Windows -- stuff?
</span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">node.parentNode.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
}
-
- </span><span class="jsdoc-comment">// remove - but keep children..
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node.tagName.toLowerCase</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.match</span><span class="jsdoc-syntax">(/^(meta|link|\\?xml:|st1:|o:|font)/)) {
+ </span><span class="jsdoc-comment">//Roo.log(node.tagName);
+ // remove - but keep children..
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node.tagName.toLowerCase</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.match</span><span class="jsdoc-syntax">(/^(meta|link|\\?xml:|st1:|o:|v:|font)/)) {
+ </span><span class="jsdoc-comment">//Roo.log('-- removed');
</span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node.childNodes.length</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">node.childNodes</span><span class="jsdoc-syntax">[0];
</span><span class="jsdoc-var">node.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">node.parentNode.insertBefore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-comment">// move node to parent - and clean it..
+ </span><span class="jsdoc-var">this.cleanWord</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">);
}
</span><span class="jsdoc-var">node.parentNode.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">this.iterateChildren</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.cleanWord</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-comment">/// no need to iterate chidlren = it's got none..
+ //this.iterateChildren(node, this.cleanWord);
</span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
}
</span><span class="jsdoc-comment">// clean styles
-<html><head><title>/home/edward/gitlive/roojs1/Roo/JsonView.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/JsonView.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/KeyMap.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/KeyMap.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/KeyNav.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/KeyNav.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/Layer.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/Layer.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/LayoutManager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/LayoutManager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/LayoutRegion.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/LayoutRegion.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
* Collapses this region.
* @param {Boolean} skipAnim (optional) true to collapse the element without animation (if animate is true)
*/
- </span><span class="jsdoc-var">collapse </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">skipAnim</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">skipCheck </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">collapse </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">skipAnim</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">skipCheck</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.collapsed</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
}
-<html><head><title>/home/edward/gitlive/roojs1/Roo/LayoutStateManager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/LayoutStateManager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/LoadMask.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/LoadMask.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/Markdown.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//
+<html><head><title>Roo/Markdown.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//
/**
* marked - a markdown parser
* Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)
//
</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
+ </span><span class="jsdoc-comment">/**
+ * eval:var:escape
+ * eval:var:unescape
+ * eval:var:replace
+ */
+
+ /**
+ * Helpers
+ */
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">escape </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">encode</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">html
+ .replace</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">encode </span><span class="jsdoc-syntax">? /&(?!#?\w+;)/g : /&/g, </span><span class="jsdoc-string">'&amp;'</span><span class="jsdoc-syntax">)
+ </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/</g, </span><span class="jsdoc-string">'&lt;'</span><span class="jsdoc-syntax">)
+ </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/>/g, </span><span class="jsdoc-string">'&gt;'</span><span class="jsdoc-syntax">)
+ </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/"/g, </span><span class="jsdoc-string">'&quot;'</span><span class="jsdoc-syntax">)
+ </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/'/g, </span><span class="jsdoc-string">'&#39;'</span><span class="jsdoc-syntax">);
+ }
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">unescape </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-comment">// explicitly match decimal, hex, and named HTML entities
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">html.replace</span><span class="jsdoc-syntax">(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.toLowerCase</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'colon'</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">':'</span><span class="jsdoc-syntax">; }
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.charAt</span><span class="jsdoc-syntax">(0) === </span><span class="jsdoc-string">'#'</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">n.charAt</span><span class="jsdoc-syntax">(1) === </span><span class="jsdoc-string">'x'
+ </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">String.fromCharCode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.substring</span><span class="jsdoc-syntax">(2), 16))
+ : </span><span class="jsdoc-var">String.fromCharCode</span><span class="jsdoc-syntax">(+</span><span class="jsdoc-var">n.substring</span><span class="jsdoc-syntax">(1));
+ }
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+ });
+ }
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">replace </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">regex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">regex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">regex.source</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">return function </span><span class="jsdoc-var">self</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">RegExp</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">regex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">); }
+ </span><span class="jsdoc-var">val </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">val.source </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">val </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">val.replace</span><span class="jsdoc-syntax">(/(^|[^\[])\^/g, </span><span class="jsdoc-string">'$1'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">regex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">regex.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">self</span><span class="jsdoc-syntax">;
+ };
+ }
+
+
+ </span><span class="jsdoc-comment">/**
+ * eval:var:noop
+ */
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">noop </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">() {}
+ </span><span class="jsdoc-var">noop.exec </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">noop</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-comment">/**
+ * eval:var:merge
+ */
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">merge </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 1
+ , </span><span class="jsdoc-var">target
+ </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">arguments.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
+ </span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">key </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Object.prototype.hasOwnProperty.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">)) {
+ </span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">];
+ }
+ }
+ }
+
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">;
+ }
+
+
</span><span class="jsdoc-comment">/**
* Block-Level Grammar
*/
+
+
+
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">block </span><span class="jsdoc-syntax">= {
</span><span class="jsdoc-var">newline</span><span class="jsdoc-syntax">: /^\n+/,
</span><span class="jsdoc-var">code</span><span class="jsdoc-syntax">: /^( {4}[^\n]+\n*)+/,
* Inline Lexer & Compiler
*/
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">InlineLexer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">links</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">InlineLexer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">links</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-var">this.options </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">options </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">marked.defaults</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">this.links </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">links</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">this.rules </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">inline.normal</span><span class="jsdoc-syntax">;
* Renderer
*/
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">Renderer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) {
+ /**
+ * eval:var:Renderer
+ */
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">Renderer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-var">this.options </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">options </span><span class="jsdoc-syntax">|| {};
}
</span><span class="jsdoc-comment">/**
* Parsing & Compiling
*/
+ /**
+ * eval:var:Parser
+ */
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">Parser </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">Parser</span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-var">this.tokens </span><span class="jsdoc-syntax">= [];
</span><span class="jsdoc-var">this.token </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">this.options </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">options </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">marked.defaults</span><span class="jsdoc-syntax">;
}
};
- </span><span class="jsdoc-comment">/**
- * Helpers
- */
-
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">escape </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">encode</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">html
- .replace</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">encode </span><span class="jsdoc-syntax">? /&(?!#?\w+;)/g : /&/g, </span><span class="jsdoc-string">'&amp;'</span><span class="jsdoc-syntax">)
- </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/</g, </span><span class="jsdoc-string">'&lt;'</span><span class="jsdoc-syntax">)
- </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/>/g, </span><span class="jsdoc-string">'&gt;'</span><span class="jsdoc-syntax">)
- </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/"/g, </span><span class="jsdoc-string">'&quot;'</span><span class="jsdoc-syntax">)
- </span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/'/g, </span><span class="jsdoc-string">'&#39;'</span><span class="jsdoc-syntax">);
- }
-
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">unescape </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-comment">// explicitly match decimal, hex, and named HTML entities
- </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">html.replace</span><span class="jsdoc-syntax">(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.toLowerCase</span><span class="jsdoc-syntax">();
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'colon'</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">':'</span><span class="jsdoc-syntax">; }
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.charAt</span><span class="jsdoc-syntax">(0) === </span><span class="jsdoc-string">'#'</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">n.charAt</span><span class="jsdoc-syntax">(1) === </span><span class="jsdoc-string">'x'
- </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">String.fromCharCode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.substring</span><span class="jsdoc-syntax">(2), 16))
- : </span><span class="jsdoc-var">String.fromCharCode</span><span class="jsdoc-syntax">(+</span><span class="jsdoc-var">n.substring</span><span class="jsdoc-syntax">(1));
- }
- </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
- });
- }
-
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">replace </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">regex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-var">regex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">regex.source</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">return function </span><span class="jsdoc-var">self</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">RegExp</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">regex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">); }
- </span><span class="jsdoc-var">val </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">val.source </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">val </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">val.replace</span><span class="jsdoc-syntax">(/(^|[^\[])\^/g, </span><span class="jsdoc-string">'$1'</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">regex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">regex.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">self</span><span class="jsdoc-syntax">;
- };
- }
-
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">noop </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">() {}
- </span><span class="jsdoc-var">noop.exec </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">noop</span><span class="jsdoc-syntax">;
-
- </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">merge</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 1
- , </span><span class="jsdoc-var">target
- </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">;
-
- </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">arguments.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
- </span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
- </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">key </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Object.prototype.hasOwnProperty.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">)) {
- </span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">];
- }
- }
- }
-
- </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">;
- }
-
</span><span class="jsdoc-comment">/**
* Marked
*/
-
+ /**
+ * eval:var:marked
+ */
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">marked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">opt</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'function'</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">) {
}
</span><span class="jsdoc-var">pending </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tokens.length</span><span class="jsdoc-syntax">;
-
+ </span><span class="jsdoc-comment">/**
+ * eval:var:done
+ */
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">done </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">err</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">err</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-var">opt.highlight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">highlight</span><span class="jsdoc-syntax">;
-<html><head><title>/home/edward/gitlive/roojs1/Roo/MasterTemplate.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/MasterTemplate.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/MessageBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/MessageBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/PagingToolbar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/PagingToolbar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/QuickTips.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/QuickTips.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/ReaderLayout.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/ReaderLayout.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/Resizable.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/Resizable.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/Shadow.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/Shadow.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/SplitBar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/SplitBar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/SplitButton.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/SplitButton.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/SplitLayoutRegion.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/SplitLayoutRegion.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/TabPanel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"> <span class="jsdoc-comment">/*
+<html><head><title>Roo/TabPanel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"> <span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/Template.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/Template.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
* @return {String} The HTML fragment
*/
</span><span class="jsdoc-var">applyTemplate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">([</span><span class="jsdoc-string">"applyTemplate"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">]);
</span><span class="jsdoc-keyword">try </span><span class="jsdoc-syntax">{
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.compiled</span><span class="jsdoc-syntax">){
-<html><head><title>/home/edward/gitlive/roojs1/Roo/Toolbar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/Toolbar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/UpdateManager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/UpdateManager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/View.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/View.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/XComponent.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/XComponent.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Original code for Roojs - LGPL
* <script type="text/javascript">
*/
-<html><head><title>/home/edward/gitlive/roojs1/Roo/XTemplate.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/XTemplate.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Alert.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
+<html><head><title>Roo/bootstrap/Alert.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
* @class Roo.bootstrap.Alert
* @extends Roo.bootstrap.Component
* Bootstrap Alert class - shows an alert area box
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/BezierSignature.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
+<html><head><title>Roo/bootstrap/BezierSignature.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
* @class Roo.bootstrap.BezierSignature
* @extends Roo.bootstrap.Component
* Bootstrap BezierSignature class
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Body.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Body.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* Body
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Brick.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Brick.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* element
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Button.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Button.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* button
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/ButtonGroup.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/ButtonGroup.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* button group
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Calendar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Calendar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* based on jquery fullcalendar
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/CheckBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/CheckBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* CheckBox
</span><span class="jsdoc-var">inline</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
</span><span class="jsdoc-var">tooltip </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">// checkbox success does not make any sense really..
+ </span><span class="jsdoc-var">invalidClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">validClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">,
+
+
</span><span class="jsdoc-var">getAutoCreate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
{
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">align </span><span class="jsdoc-syntax">= (!</span><span class="jsdoc-var">this.labelAlign</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-var">this.parentLabelAlign</span><span class="jsdoc-syntax">() : </span><span class="jsdoc-var">this.labelAlign</span><span class="jsdoc-syntax">;
}
}
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">boxLabelCfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.boxLabel</span><span class="jsdoc-syntax">){
+
+ </span><span class="jsdoc-var">boxLabelCfg </span><span class="jsdoc-syntax">= {
+ </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'label'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">//'for': id, // box label is handled by onclick - so no for...
+ </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'box-label'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.boxLabel
+ </span><span class="jsdoc-syntax">};
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tooltip</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">boxLabelCfg.tooltip </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.tooltip</span><span class="jsdoc-syntax">;
+ }
+
+ }
+
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">align </span><span class="jsdoc-syntax">===</span><span class="jsdoc-string">'left' </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">this.fieldLabel.length</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-comment">// Roo.log("left and has label");
}
];
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">boxLabelCfg</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">cfg.cn</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.cn.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">boxLabelCfg</span><span class="jsdoc-syntax">);
+ }
+
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labelWidth </span><span class="jsdoc-syntax">> 12){
</span><span class="jsdoc-var">cfg.cn</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.style </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"width: " </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.labelWidth </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'px'</span><span class="jsdoc-syntax">;
}
</span><span class="jsdoc-var">inputblock
</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">boxLabelCfg</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">cfg.cn.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">boxLabelCfg</span><span class="jsdoc-syntax">);
+ }
} </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
</span><span class="jsdoc-comment">// Roo.log(" no label && no align");
</span><span class="jsdoc-var">cfg.cn </span><span class="jsdoc-syntax">= [ </span><span class="jsdoc-var">inputblock </span><span class="jsdoc-syntax">] ;
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">boxLabelCfg</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">cfg.cn.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">boxLabelCfg</span><span class="jsdoc-syntax">);
+ }
}
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.boxLabel</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">boxLabelCfg </span><span class="jsdoc-syntax">= {
- </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'label'</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-comment">//'for': id, // box label is handled by onclick - so no for...
- </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'box-label'</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.boxLabel
- </span><span class="jsdoc-syntax">};
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tooltip</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">boxLabelCfg.tooltip </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.tooltip</span><span class="jsdoc-syntax">;
- }
-
- </span><span class="jsdoc-var">cfg.cn.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">boxLabelCfg</span><span class="jsdoc-syntax">);
- }
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inputType </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">'radio'</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">cfg.cn.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hidden</span><span class="jsdoc-syntax">);
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Column.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Column.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* column
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/ComboBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/ComboBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
* *
*/
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Component.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Component.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* base class for bootstrap elements.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Container.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Container.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* page container.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/DateField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/DateField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* DateField
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/DateSplitField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/DateSplitField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* page DateSplitField.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/DocumentManager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/DocumentManager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-comment">/*
* Licence: LGPL
*/
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/DocumentSlider.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/DocumentSlider.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-comment">/*
* Licence: LGPL
*/
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/DocumentViewer.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/DocumentViewer.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-comment">/*
* Licence: LGPL
*/
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Element.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Element.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* element
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/FieldLabel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/FieldLabel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* FieldLabel
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Form.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Form.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* form
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Graph.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"> <span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Graph.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"> <span class="jsdoc-comment">/*
* - LGPL
*
* Graph
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Header.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Header.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* header
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/HtmlEditor.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/HtmlEditor.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* HtmlEditor
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Img.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Img.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* image
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Input.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Input.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* Input
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/LayoutMasonry.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
+<html><head><title>Roo/bootstrap/LayoutMasonry.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
*
* This is based on
* http://masonry.desandro.com
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/LayoutMasonryAuto.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
+<html><head><title>Roo/bootstrap/LayoutMasonryAuto.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
*
* This is based on
* http://masonry.desandro.com
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Link.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Link.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* image
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/LocationPicker.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/LocationPicker.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* Location Picker
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/MasonryBrick.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/MasonryBrick.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* element
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Menu.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Menu.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* menu
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/MenuItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/MenuItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* menu item
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/MenuMgr.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/MenuMgr.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/MenuSeparator.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/MenuSeparator.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* menu separator
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/MessageBar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/MessageBar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* element
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/MessageBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/MessageBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* messagebox - can be used as a replace
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Modal.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/Modal.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-comment">/*
* Licence: LGPL
*/
* @cfg {Boolean} animate default true
* @cfg {Boolean} allow_close default true
* @cfg {Boolean} fitwindow default false
+ * @cfg {Number} width fixed width - usefull for chrome extension only really.
+ * @cfg {Number} height fixed height - usefull for chrome extension only really.
* @cfg {String} size (sm|lg) default empty
* @cfg {Number} max_width set the max width of modal
*
</span><span class="jsdoc-var">getAutoCreate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
{
+ </span><span class="jsdoc-comment">// we will default to modal-body-overflow - might need to remove or make optional later.
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bdy </span><span class="jsdoc-syntax">= {
- </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'modal-body'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'modal-body enable-modal-body-overflow '</span><span class="jsdoc-syntax">,
</span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.html </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">''
</span><span class="jsdoc-syntax">};
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/MoneyField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/MoneyField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-comment">/**
* @class Roo.bootstrap.MoneyField
* @extends Roo.bootstrap.ComboBox
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/MonthField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/MonthField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* MonthField
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/NavGroup.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/NavGroup.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* nav group
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/NavHeaderbar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/NavHeaderbar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* navbar
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/NavItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/NavItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* row
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/NavProgressBar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/NavProgressBar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* nav progress bar
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/NavProgressItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/NavProgressItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* Nav Progress Item
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/NavSidebar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/NavSidebar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* navbar
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/NavSidebarItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/NavSidebarItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* sidebar item
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/NavSimplebar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/NavSimplebar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* navbar
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Navbar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Navbar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* navbar
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/NumberField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/NumberField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* Number field
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Pagination.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Pagination.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* pagination
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/PaginationItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/PaginationItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* Pagination item
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/PagingToolbar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/PagingToolbar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/PhoneInput.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
+<html><head><title>Roo/bootstrap/PhoneInput.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
* This script refer to:
* Title: International Telephone Input
* Author: Jack O'Connor
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/PhoneInputData.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
+<html><head><title>Roo/bootstrap/PhoneInputData.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
* This script refer to:
* Title: International Telephone Input
* Author: Jack O'Connor
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Popover.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Popover.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* element
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Progress.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Progress.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* Progress
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/ProgressBar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/ProgressBar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* ProgressBar
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Radio.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Radio.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* RadioItem
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/RadioSet.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/RadioSet.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* RadioSet
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Row.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Row.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* row
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/SecurePass.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/SecurePass.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* Input
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Slider.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Slider.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* slider
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/SplitBar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/SplitBar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/TabGroup.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/TabGroup.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* column
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/TabPanel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/TabPanel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* TabPanel
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Table.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Table.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* table
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/TableBody.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/TableBody.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* table body
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/TableCell.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/TableCell.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* table cell
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/TableRow.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/TableRow.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* table row
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Table/AbstractSelectionModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/Table/AbstractSelectionModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-comment">/**
* @class Roo.bootstrap.Table.AbstractSelectionModel
* @extends Roo.util.Observable
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Table/RowSelectionModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/Table/RowSelectionModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-comment">/**
* @extends Roo.bootstrap.Table.AbstractSelectionModel
* @class Roo.bootstrap.Table.RowSelectionModel
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/TextArea.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/TextArea.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* Input
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/TimeField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/TimeField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* TimeField
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Tooltip.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/Tooltip.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* Tooltip
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/TriggerField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/TriggerField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* trigger field - base class for combo..
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/UploadCropbox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/UploadCropbox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-comment">/*
* Licence: LGPL
*/
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/dash/NumberBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/dash/NumberBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* numberBox
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/dash/TabBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/dash/TabBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* TabBox
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/dash/TabPane.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/dash/TabPane.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* Tab pane
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/htmleditor/ToolbarStandard.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/htmleditor/ToolbarStandard.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-var">Roo.namespace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'Roo.bootstrap.htmleditor'</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-comment">/**
* @class Roo.bootstrap.HtmlEditorToolbar1
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/layout/Basic.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/layout/Basic.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/layout/Border.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/layout/Border.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/layout/Center.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/layout/Center.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/layout/East.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/layout/East.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-var">Roo.bootstrap.layout.East </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">config.region </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"east"</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">config.cursor </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"e-resize"</span><span class="jsdoc-syntax">;
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/layout/Manager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/layout/Manager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/layout/North.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/layout/North.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/layout/Region.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/layout/Region.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/layout/South.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/layout/South.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/layout/Split.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/layout/Split.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/layout/West.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/layout/West.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-var">Roo.bootstrap.layout.West </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">config.region </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"west"</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">config.cursor </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"w-resize"</span><span class="jsdoc-syntax">;
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/layout/layout-ns.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-var">Roo.namespace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"Roo.bootstrap.layout"</span><span class="jsdoc-syntax">);</span></code></body></html>
\ No newline at end of file
+<html><head><title>Roo/bootstrap/layout/layout-ns.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-var">Roo.namespace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"Roo.bootstrap.layout"</span><span class="jsdoc-syntax">);</span></code></body></html>
\ No newline at end of file
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/menu/Item.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/menu/Item.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* menu item
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/menu/Menu.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/menu/Menu.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* menu
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/menu/Separator.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/menu/Separator.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* - LGPL
*
* menu separator
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/panel/Content.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/panel/Content.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/panel/Grid.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/panel/Grid.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-comment">/**
* @class Roo.bootstrap.panel.Grid
* @extends Roo.bootstrap.panel.Content
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/panel/Nest.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/panel/Nest.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-comment">/**
* @class Roo.bootstrap.panel.Nest
* @extends Roo.bootstrap.panel.Content
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/panel/TabItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/bootstrap/panel/TabItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-comment">/**
* @class Roo.TabPanelItem
* @extends Roo.util.Observable
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/panel/Tabs.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/bootstrap/panel/Tabs.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/panel/panel-ns.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-var">Roo.namespace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"Roo.bootstrap.panel"</span><span class="jsdoc-syntax">);</span></code></body></html>
\ No newline at end of file
+<html><head><title>Roo/bootstrap/panel/panel-ns.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-var">Roo.namespace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"Roo.bootstrap.panel"</span><span class="jsdoc-syntax">);</span></code></body></html>
\ No newline at end of file
-<html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/version.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
+<html><head><title>Roo/bootstrap/version.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
* set the version of bootstrap based on the stylesheet...
*
*/
</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">=3;
</span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.styleSheets</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s.href.match</span><span class="jsdoc-syntax">(/css-bootstrap4/)) {
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">s.href </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">s.href.match</span><span class="jsdoc-syntax">(/css-bootstrap4/)) {
</span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">=4;
}
});
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/ArrayReader.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/ArrayReader.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
*
* created using {@link Roo.data.Record#create}.
*/
-</span><span class="jsdoc-var">Roo.data.ArrayReader </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">meta</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">recordType</span><span class="jsdoc-syntax">){
-
-
+</span><span class="jsdoc-var">Roo.data.ArrayReader </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">meta</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">recordType</span><span class="jsdoc-syntax">)
+{
</span><span class="jsdoc-var">Roo.data.ArrayReader.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">meta</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">recordType</span><span class="jsdoc-syntax">||</span><span class="jsdoc-var">meta.fields</span><span class="jsdoc-syntax">);
};
</span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.data.ArrayReader</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.data.JsonReader</span><span class="jsdoc-syntax">, {
- </span><span class="jsdoc-comment">/**
+
+ </span><span class="jsdoc-comment">/**
* 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} A data block which is used by an {@link Roo.data.Store} object as
* a cache of Roo.data.Records.
*/
- </span><span class="jsdoc-var">readRecords </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">readRecords </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">)
+ {
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.meta </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.meta.id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">recordType </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.recordType</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fields </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">recordType.prototype.fields</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">records </span><span class="jsdoc-syntax">= [];
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">root </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">root.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">root</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">values </span><span class="jsdoc-syntax">= {};
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">= ((</span><span class="jsdoc-var">sid </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">sid </span><span class="jsdoc-syntax">=== 0) && </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">sid</span><span class="jsdoc-syntax">] !== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">sid</span><span class="jsdoc-syntax">] !== </span><span class="jsdoc-string">"" </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">sid</span><span class="jsdoc-syntax">] : </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">jlen </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fields.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">jlen</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">++){
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fields.items</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">];
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f.mapping </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">f.mapping </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">null </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">f.mapping </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">] !== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">] : </span><span class="jsdoc-var">f.defaultValue</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f.convert</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">f.name</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
- }
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">record </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">recordType</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">record.json </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">records</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">records.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">root.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">root</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">values </span><span class="jsdoc-syntax">= {};
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">= ((</span><span class="jsdoc-var">sid </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">sid </span><span class="jsdoc-syntax">=== 0) && </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">sid</span><span class="jsdoc-syntax">] !== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">sid</span><span class="jsdoc-syntax">] !== </span><span class="jsdoc-string">"" </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">sid</span><span class="jsdoc-syntax">] : </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">jlen </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fields.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">jlen</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fields.items</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f.mapping </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">f.mapping </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">null </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">f.mapping </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">] !== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">] : </span><span class="jsdoc-var">f.defaultValue</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f.convert</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">f.name</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
}
- </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{
- </span><span class="jsdoc-var">records </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">records</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">totalRecords </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">records.length
- </span><span class="jsdoc-syntax">};
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">record </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">recordType</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">record.json </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">records</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">records.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">records </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">records</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">totalRecords </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">records.length
+ </span><span class="jsdoc-syntax">};
+ },
+ </span><span class="jsdoc-comment">// used when loading children.. @see loadDataFromChildren
+ </span><span class="jsdoc-var">toLoadData</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rec</span><span class="jsdoc-syntax">)
+ {
+ </span><span class="jsdoc-comment">// expect rec just to be an array.. eg [a,b,c, [...] << cn ]
+ </span><span class="jsdoc-keyword">return typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rec.data.cn</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? [] : </span><span class="jsdoc-var">rec.data.cn</span><span class="jsdoc-syntax">;
+
}
+
+
});</span></code></body></html>
\ No newline at end of file
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/Connection.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/Connection.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
</span><span class="jsdoc-var">url </span><span class="jsdoc-syntax">+= (</span><span class="jsdoc-var">url.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'?'</span><span class="jsdoc-syntax">) != -1 ? </span><span class="jsdoc-string">'&' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'?'</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
}
+ </span><span class="jsdoc-var">Roo.lib.Ajax.useDefaultHeader </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.headers</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.headers</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'Content-Type'</span><span class="jsdoc-syntax">]) == </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">this.transId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.lib.Ajax.request</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">method</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">url</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">Roo.lib.Ajax.useDefaultHeader </span><span class="jsdoc-syntax">== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.transId</span><span class="jsdoc-syntax">;
}</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
</span><span class="jsdoc-var">Roo.callback</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.callback</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o.scope</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">]);
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/DataProxy.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/DataProxy.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/DataReader.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/DataReader.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
};
</span><span class="jsdoc-var">Roo.data.DataReader.prototype </span><span class="jsdoc-syntax">= {
+
+
+ </span><span class="jsdoc-var">readerType </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Data'</span><span class="jsdoc-syntax">,
</span><span class="jsdoc-comment">/**
* Create an empty record
* @param {Object} data (optional) - overlay some values
</span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">this.recordType</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">da</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">));
}
+
};</span></code></body></html>
\ No newline at end of file
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/Field.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/Field.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/HttpProxy.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/HttpProxy.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/JsonReader.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/JsonReader.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
};
</span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.data.JsonReader</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.data.DataReader</span><span class="jsdoc-syntax">, {
+ </span><span class="jsdoc-var">readerType </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Json'</span><span class="jsdoc-syntax">,
+
</span><span class="jsdoc-comment">/**
* @prop {Boolean} metaFromRemote - if the meta data was loaded from the remote source.
* Used by Store query builder to append _requestMeta to params.
</span><span class="jsdoc-var">records </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">records</span><span class="jsdoc-syntax">,
</span><span class="jsdoc-var">totalRecords </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">totalRecords
</span><span class="jsdoc-syntax">};
+ },
+ </span><span class="jsdoc-comment">// used when loading children.. @see loadDataFromChildren
+ </span><span class="jsdoc-var">toLoadData</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rec</span><span class="jsdoc-syntax">)
+ {
+ </span><span class="jsdoc-comment">// expect rec just to be an array.. eg [a,b,c, [...] << cn ]
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rec.data.cn</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? [] : </span><span class="jsdoc-var">rec.data.cn</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{ </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">data</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">total </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">data.length </span><span class="jsdoc-syntax">};
+
}
});</span></code></body></html>
\ No newline at end of file
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/JsonStore.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/JsonStore.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/MemoryProxy.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/MemoryProxy.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/Record.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/Record.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/ScriptTagProxy.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/ScriptTagProxy.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/SimpleStore.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/SimpleStore.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
* Small helper class to make creating Stores from Array data easier.
* @cfg {Number} id The array index of the record id. Leave blank to auto generate ids.
* @cfg {Array} fields An array of field definition objects, or field name strings.
+ * @cfg {Object} an existing reader (eg. copied from another store)
* @cfg {Array} data The multi-dimensional array of data
* @constructor
* @param {Object} config
*/
-</span><span class="jsdoc-var">Roo.data.SimpleStore </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
+</span><span class="jsdoc-var">Roo.data.SimpleStore </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">)
+{
</span><span class="jsdoc-var">Roo.data.SimpleStore.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, {
</span><span class="jsdoc-var">isLocal </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">reader</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.data.ArrayReader</span><span class="jsdoc-syntax">({
+ </span><span class="jsdoc-var">reader</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.reader</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">config.reader </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.data.ArrayReader</span><span class="jsdoc-syntax">({
</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">config.id
</span><span class="jsdoc-syntax">},
</span><span class="jsdoc-var">Roo.data.Record.create</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.fields</span><span class="jsdoc-syntax">)
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/SortTypes.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/SortTypes.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/Store.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/Store.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
</span><span class="jsdoc-var">this.loadRecords</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, {</span><span class="jsdoc-var">add</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">append</span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
},
+ </span><span class="jsdoc-comment">/**
+ * using 'cn' the nested child reader read the child array into it's child stores.
+ * @param {Object} rec The record with a 'children array
+ */
+ </span><span class="jsdoc-var">loadDataFromChildren </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rec</span><span class="jsdoc-syntax">)
+ {
+ </span><span class="jsdoc-var">this.loadData</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.reader.toLoadData</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rec</span><span class="jsdoc-syntax">));
+ },
+
+
</span><span class="jsdoc-comment">/**
* Gets the number of cached records.
* <p>
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/Tree.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/Tree.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
}</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">arguments.length </span><span class="jsdoc-syntax">> 1){
</span><span class="jsdoc-var">multi </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">;
}
+
</span><span class="jsdoc-comment">// if passed an array or multiple args do them one by one
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">multi</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">multi.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
}
</span><span class="jsdoc-var">oldParent.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
}
+
</span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.childNodes.length</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">== 0){
</span><span class="jsdoc-var">this.setFirstChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.setLastChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">node.setOwnerTree</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getOwnerTree</span><span class="jsdoc-syntax">());
</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"append"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.ownerTree</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.ownerTree</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">this.ownerTree.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"appendnode"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
+ }
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">oldParent</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">node.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"move"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.ownerTree</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">oldParent</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
}
-<html><head><title>/home/edward/gitlive/roojs1/Roo/data/XmlReader.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/data/XmlReader.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
</span><span class="jsdoc-var">Roo.data.XmlReader.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">meta</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">recordType</span><span class="jsdoc-syntax">||</span><span class="jsdoc-var">meta.fields</span><span class="jsdoc-syntax">);
};
</span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.data.XmlReader</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.data.DataReader</span><span class="jsdoc-syntax">, {
+
+ </span><span class="jsdoc-var">readerType </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Xml'</span><span class="jsdoc-syntax">,
+
</span><span class="jsdoc-comment">/**
* This method is only used by a DataProxy which has retrieved data from a remote server.
* @param {Object} response The XHR object which contains the parsed XML document. The response is expected
-<html><head><title>/home/edward/gitlive/roojs1/Roo/dd/DD.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/dd/DD.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/dd/DDProxy.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/dd/DDProxy.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/dd/DDTarget.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/dd/DDTarget.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-var">this.initTarget</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">sGroup</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
}
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.listeners </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">config.events</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-var">Roo.dd.DragDrop.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, {
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config </span><span class="jsdoc-syntax">&& (</span><span class="jsdoc-var">config.listeners </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">config.events</span><span class="jsdoc-syntax">)) {
+ </span><span class="jsdoc-var">Roo.dd.DragDrop.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, {
</span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">config.listeners </span><span class="jsdoc-syntax">|| {},
</span><span class="jsdoc-var">events </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">config.events </span><span class="jsdoc-syntax">|| {}
});
-<html><head><title>/home/edward/gitlive/roojs1/Roo/dd/DragDrop.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/dd/DragDrop.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/dd/DragDropMgr.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/dd/DragDropMgr.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/dd/DragSource.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/dd/DragSource.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/dd/DragZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/dd/DragZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/dd/DropTarget.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/dd/DropTarget.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/dd/DropZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/dd/DropZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/dd/Registry.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/dd/Registry.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/dd/ScrollManager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/dd/ScrollManager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/dd/StatusProxy.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/dd/StatusProxy.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/Action.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/Action.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/BasicForm.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/BasicForm.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
</span><span class="jsdoc-var">this.initEl</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
}
</span><span class="jsdoc-var">Roo.form.BasicForm.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">Roo.form.BasicForm.popover.apply</span><span class="jsdoc-syntax">();
};
</span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.form.BasicForm</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.util.Observable</span><span class="jsdoc-syntax">, {
*/
</span><span class="jsdoc-var">disableMask </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {Boolean} errorMask (true|false) default false
+ */
+ </span><span class="jsdoc-var">errorMask </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-comment">/**
+ * @cfg {Number} maskOffset Default 100
+ */
+ </span><span class="jsdoc-var">maskOffset </span><span class="jsdoc-syntax">: 100,
+
</span><span class="jsdoc-comment">// private
</span><span class="jsdoc-var">initEl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
*/
</span><span class="jsdoc-var">isValid </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">valid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">this.items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">f.validate</span><span class="jsdoc-syntax">()){
- </span><span class="jsdoc-var">valid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
- }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f.validate</span><span class="jsdoc-syntax">()){
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+
+ </span><span class="jsdoc-var">valid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">f.el.isVisible</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">;
+ }
});
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.errorMask </span><span class="jsdoc-syntax">&& !</span><span class="jsdoc-var">valid</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">Roo.form.BasicForm.popover.mask</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">);
+ }
+
</span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">valid</span><span class="jsdoc-syntax">;
},
}, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
}
+ </span><span class="jsdoc-comment">// use formdata
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">FormData</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">asString </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fd </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">FormData</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.dom</span><span class="jsdoc-syntax">))</span><span class="jsdoc-var">.entries</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ret </span><span class="jsdoc-syntax">= {};
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ent </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fd.next</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">ent.done</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">ent.value</span><span class="jsdoc-syntax">[0]] = </span><span class="jsdoc-var">ent.value</span><span class="jsdoc-syntax">[1]; </span><span class="jsdoc-comment">// not sure how this will handle duplicates..
+ </span><span class="jsdoc-var">ent </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fd.next</span><span class="jsdoc-syntax">();
+ };
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">;
+ }
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.lib.Ajax.serializeForm</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.dom</span><span class="jsdoc-syntax">);
});
</span><span class="jsdoc-comment">// back compat
-</span><span class="jsdoc-var">Roo.BasicForm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.form.BasicForm</span><span class="jsdoc-syntax">;</span></code></body></html>
\ No newline at end of file
+</span><span class="jsdoc-var">Roo.BasicForm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.form.BasicForm</span><span class="jsdoc-syntax">;
+
+</span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.form.BasicForm</span><span class="jsdoc-syntax">, {
+
+ </span><span class="jsdoc-var">popover </span><span class="jsdoc-syntax">: {
+
+ </span><span class="jsdoc-var">padding </span><span class="jsdoc-syntax">: 5,
+
+ </span><span class="jsdoc-var">isApplied </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">isMasked </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">form </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">intervalID </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">maskEl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">apply </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
+ {
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isApplied</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+
+ </span><span class="jsdoc-var">this.maskEl </span><span class="jsdoc-syntax">= {
+ </span><span class="jsdoc-var">top </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.DomHelper.append</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">), { </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"div"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">"x-dlg-mask roo-form-top-mask" </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">),
+ </span><span class="jsdoc-var">left </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.DomHelper.append</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">), { </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"div"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">"x-dlg-mask roo-form-left-mask" </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">),
+ </span><span class="jsdoc-var">bottom </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.DomHelper.append</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">), { </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"div"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">"x-dlg-mask roo-form-bottom-mask" </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">),
+ </span><span class="jsdoc-var">right </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.DomHelper.append</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">), { </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"div"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">"x-dlg-mask roo-form-right-mask" </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)
+ };
+
+ </span><span class="jsdoc-var">this.maskEl.top.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"block"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.left.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"block"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.bottom.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"block"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.right.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"block"</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.unmask</span><span class="jsdoc-syntax">();
+ }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'touchstart'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.unmask</span><span class="jsdoc-syntax">();
+ }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.isApplied </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true
+ </span><span class="jsdoc-syntax">},
+
+ </span><span class="jsdoc-var">mask </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">form</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">)
+ {
+ </span><span class="jsdoc-var">this.form </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">form</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-var">this.target </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.form.errorMask </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">target.el</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">scrollable </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.target.el.findScrollableParent</span><span class="jsdoc-syntax">() || </span><span class="jsdoc-var">this.target.el.findParent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'div.x-layout-active-content'</span><span class="jsdoc-syntax">, 100, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ot </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.target.el.calcOffsetsTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scrollable</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">scrollTo </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ot</span><span class="jsdoc-syntax">[1] - </span><span class="jsdoc-var">this.form.maskOffset</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-var">scrollTo </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scrollTo</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scrollable.dom.scrollHeight</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">scrollable.scrollTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'top'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scrollTo</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.target.wrap </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.target.el</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">box </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.getBox</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-var">this.maskEl.top.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.top.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'z-index'</span><span class="jsdoc-syntax">, 10000);
+ </span><span class="jsdoc-var">this.maskEl.top.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.lib.Dom.getDocumentWidth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">box.y </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.top.setLeft</span><span class="jsdoc-syntax">(0);
+ </span><span class="jsdoc-var">this.maskEl.top.setTop</span><span class="jsdoc-syntax">(0);
+ </span><span class="jsdoc-var">this.maskEl.top.show</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-var">this.maskEl.left.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.left.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'z-index'</span><span class="jsdoc-syntax">, 10000);
+ </span><span class="jsdoc-var">this.maskEl.left.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">box.x </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">box.height </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.padding </span><span class="jsdoc-syntax">* 2);
+ </span><span class="jsdoc-var">this.maskEl.left.setLeft</span><span class="jsdoc-syntax">(0);
+ </span><span class="jsdoc-var">this.maskEl.left.setTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">box.y </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.left.show</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-var">this.maskEl.bottom.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.bottom.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'z-index'</span><span class="jsdoc-syntax">, 10000);
+ </span><span class="jsdoc-var">this.maskEl.bottom.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.lib.Dom.getDocumentWidth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">Roo.lib.Dom.getDocumentHeight</span><span class="jsdoc-syntax">() - </span><span class="jsdoc-var">box.bottom </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.bottom.setLeft</span><span class="jsdoc-syntax">(0);
+ </span><span class="jsdoc-var">this.maskEl.bottom.setTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">box.bottom </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.bottom.show</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-var">this.maskEl.right.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.right.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'z-index'</span><span class="jsdoc-syntax">, 10000);
+ </span><span class="jsdoc-var">this.maskEl.right.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.lib.Dom.getDocumentWidth</span><span class="jsdoc-syntax">() - </span><span class="jsdoc-var">box.right </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">box.height </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.padding </span><span class="jsdoc-syntax">* 2);
+ </span><span class="jsdoc-var">this.maskEl.right.setLeft</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">box.right </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.right.setTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">box.y </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.right.show</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-var">this.intervalID </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">window.setInterval</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
+ </span><span class="jsdoc-var">Roo.form.BasicForm.popover.unmask</span><span class="jsdoc-syntax">();
+ }, 10000);
+
+ </span><span class="jsdoc-var">window.onwheel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){ </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;};
+
+ (</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){ </span><span class="jsdoc-var">this.isMasked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">; })</span><span class="jsdoc-var">.defer</span><span class="jsdoc-syntax">(500, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+
+ },
+
+ </span><span class="jsdoc-var">unmask </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
+ {
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.isApplied </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.isMasked </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.form </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.target </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.form.errorMask</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+
+ </span><span class="jsdoc-var">this.maskEl.top.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.top.setSize</span><span class="jsdoc-syntax">(0, 0)</span><span class="jsdoc-var">.setXY</span><span class="jsdoc-syntax">([0, 0]);
+ </span><span class="jsdoc-var">this.maskEl.top.hide</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-var">this.maskEl.left.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.left.setSize</span><span class="jsdoc-syntax">(0, 0)</span><span class="jsdoc-var">.setXY</span><span class="jsdoc-syntax">([0, 0]);
+ </span><span class="jsdoc-var">this.maskEl.left.hide</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-var">this.maskEl.bottom.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.bottom.setSize</span><span class="jsdoc-syntax">(0, 0)</span><span class="jsdoc-var">.setXY</span><span class="jsdoc-syntax">([0, 0]);
+ </span><span class="jsdoc-var">this.maskEl.bottom.hide</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-var">this.maskEl.right.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.maskEl.right.setSize</span><span class="jsdoc-syntax">(0, 0)</span><span class="jsdoc-var">.setXY</span><span class="jsdoc-syntax">([0, 0]);
+ </span><span class="jsdoc-var">this.maskEl.right.hide</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-var">window.onwheel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){ </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;};
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.intervalID</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">window.clearInterval</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.intervalID</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.intervalID </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
+ }
+
+ </span><span class="jsdoc-var">this.isMasked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
+
+ }
+
+ }
+
+});</span></code></body></html>
\ No newline at end of file
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/Checkbox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/Checkbox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/ComboBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/ComboBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
</span><span class="jsdoc-comment">// element that contains real text value.. (when hidden is used..)
// private
- </span><span class="jsdoc-var">onRender </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">onRender </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">)
+ {
</span><span class="jsdoc-var">Roo.form.ComboBox.superclass.onRender.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hiddenName</span><span class="jsdoc-syntax">){
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hiddenName</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.hiddenField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.insertSibling</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'hidden'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.hiddenName</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">: (</span><span class="jsdoc-var">this.hiddenId</span><span class="jsdoc-syntax">||</span><span class="jsdoc-var">this.hiddenName</span><span class="jsdoc-syntax">)},
</span><span class="jsdoc-string">'before'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.hiddenField.value </span><span class="jsdoc-syntax">=
}
+
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isGecko</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.el.dom.setAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'autocomplete'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'off'</span><span class="jsdoc-syntax">);
}
}
</span><span class="jsdoc-var">this.view </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.View</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.innerList</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.tpl</span><span class="jsdoc-syntax">, {
- </span><span class="jsdoc-var">singleSelect</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">store</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.store</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">selectedClass</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.selectedClass
+ </span><span class="jsdoc-var">singleSelect</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">store</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.store</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">selectedClass</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.selectedClass
</span><span class="jsdoc-syntax">});
</span><span class="jsdoc-var">this.view.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onViewClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/ComboBoxArray.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/ComboBoxArray.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Copyright(c) 2010-2012, Roo J Solutions Limited
*
* Licence LGPL
// give fake names to child combo;
</span><span class="jsdoc-var">this.combo.hiddenName </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hiddenName </span><span class="jsdoc-syntax">? (</span><span class="jsdoc-var">this.hiddenName</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'-subcombo'</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">this.hiddenName</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">this.combo.name </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">? (</span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'-subcombo'</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.combo.name </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.name </span><span class="jsdoc-syntax">? (</span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'-subcombo'</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">this.combo </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.combo</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.form</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.combo.onRender</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">);
{
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">valueField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.combo.valueField</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">displayField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.combo.displayField</span><span class="jsdoc-syntax">;
+
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.items.indexOfKey</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rec</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">valueField</span><span class="jsdoc-syntax">]) > -1) {
</span><span class="jsdoc-comment">//console.log("GOT " + rec.data.id);
</span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">this.items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-var">ar.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">idField</span><span class="jsdoc-syntax">]);
-
});
</span><span class="jsdoc-var">this.hiddenEl.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ar.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">','</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
</span><span class="jsdoc-var">this.reset</span><span class="jsdoc-syntax">();
-
-
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.store.isLocal </span><span class="jsdoc-syntax">&& (</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'string'</span><span class="jsdoc-syntax">)) {
</span><span class="jsdoc-comment">// then we can use the store to find the values..
// comma seperated at present.. this needs to allow JSON based encoding..
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/ComboCheck.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/ComboCheck.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* RooJS Library 1.1.1
* Copyright(c) 2008-2011 Alan Knowles
*
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/DateField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/DateField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
* Create a new DateField
* @param {Object} config
*/
-</span><span class="jsdoc-var">Roo.form.DateField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
+</span><span class="jsdoc-var">Roo.form.DateField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">)
+{
</span><span class="jsdoc-var">Roo.form.DateField.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.addEvents</span><span class="jsdoc-syntax">({
</span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">String</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getValue</span><span class="jsdoc-syntax">()) !== </span><span class="jsdoc-var">String</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.startValue</span><span class="jsdoc-syntax">);
+ },
+ </span><span class="jsdoc-comment">// @overide
+ </span><span class="jsdoc-var">cleanLeadingSpace </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)
+ {
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
}
+
});</span></code></body></html>
\ No newline at end of file
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/DayPicker.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/DayPicker.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
*
* Licence- LGPL
*
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/DisplayField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/DisplayField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/FCKeditor.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<script type="text/javascript">
+<html><head><title>Roo/form/FCKeditor.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<script type="text/javascript">
/**
* @class Roo.form.FCKeditor
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/Field.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/Field.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/Form.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/Form.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
</span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">xitems</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.addxtype</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
-
-
};
</span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.form.Form</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.form.BasicForm</span><span class="jsdoc-syntax">, {
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/GridField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<script type="text/javascript">
+<html><head><title>Roo/form/GridField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<script type="text/javascript">
/**
* @class Roo.form.GridField
* @extends Roo.form.Field
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/Hidden.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/Hidden.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/HtmlEditor.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<script type="text/javascript">
+<html><head><title>Roo/form/HtmlEditor.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<script type="text/javascript">
/*
* Ext JS Library 1.1.1
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/HtmlEditor/ToolbarContext.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">// <script type="text/javascript">
+<html><head><title>Roo/form/HtmlEditor/ToolbarContext.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">// <script type="text/javascript">
/*
* Based on
* Ext JS Library 1.1.1
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/HtmlEditor/ToolbarStandard.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">// <script type="text/javascript">
+<html><head><title>Roo/form/HtmlEditor/ToolbarStandard.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">// <script type="text/javascript">
/*
* Based on
* Ext JS Library 1.1.1
[</span><span class="jsdoc-string">"h1"</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">"h2"</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">"h3"</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">"h4"</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">"h5"</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">"h6"</span><span class="jsdoc-syntax">],
[</span><span class="jsdoc-string">"pre"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"code"</span><span class="jsdoc-syntax">],
[</span><span class="jsdoc-string">"abbr"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"acronym"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"address"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"cite"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"samp"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"var"</span><span class="jsdoc-syntax">],
- [</span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">]
+ [</span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">],
+ [</span><span class="jsdoc-string">'sup'</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">'sub'</span><span class="jsdoc-syntax">]
],
</span><span class="jsdoc-var">cleanStyles </span><span class="jsdoc-syntax">: [
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">editorcore.doc.body</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">c.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'[class]'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-var">s.dom.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">s.dom.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'class'</span><span class="jsdoc-syntax">);
});
+ </span><span class="jsdoc-var">editorcore.cleanWord</span><span class="jsdoc-syntax">();
</span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
},
</span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:-1
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/Layout.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/Layout.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/MonthField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/MonthField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/NumberField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/NumberField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/Radio.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/Radio.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/Select.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/Select.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/Signature.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/Signature.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/TextArea.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/TextArea.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/TextField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/TextField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
* @cfg {Boolean} selectOnFocus True to automatically select any existing field text when the field receives input focus (defaults to false)
*/
</span><span class="jsdoc-var">selectOnFocus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {Boolean} allowLeadingSpace True to prevent the stripping of leading white space
+ */
+ </span><span class="jsdoc-var">allowLeadingSpace </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
</span><span class="jsdoc-comment">/**
* @cfg {String} blankText Error text to display if the allow blank validation fails (defaults to "This field is required")
*/
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.selectOnFocus</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"focus"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.preFocus</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
-
}
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.allowLeadingSpace</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">this.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'blur'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.cleanLeadingSpace</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ }
+
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.maskRe </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">this.vtype </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">this.disableKeyFilter </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">true </span><span class="jsdoc-syntax">&& (</span><span class="jsdoc-var">this.maskRe </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.form.VTypes</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.vtype</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'Mask'</span><span class="jsdoc-syntax">]))){
</span><span class="jsdoc-var">this.el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"keypress"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.filterKeys</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
}
</span><span class="jsdoc-var">this.autoSize</span><span class="jsdoc-syntax">();
}
},
+ </span><span class="jsdoc-comment">// private - clean the leading white space
+ </span><span class="jsdoc-var">cleanLeadingSpace </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)
+ {
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">this.inputType </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'file'</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">this.getValue</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/^\s+/,</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">));
+ },
</span><span class="jsdoc-comment">/**
* Resets the current field value to the originally-loaded value and clears any validation messages.
*
</span><span class="jsdoc-var">Roo.form.TextField.superclass.reset.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
},
-
-
</span><span class="jsdoc-comment">// private
</span><span class="jsdoc-var">preFocus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/TextItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/TextItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
* @cfg {String} html the content for this item
*/
</span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-comment">/**
- * @cfg {String} cls the class for this item
- */
- </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
</span><span class="jsdoc-var">getAutoCreate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
{
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= {
</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.id</span><span class="jsdoc-syntax">,
</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.tag</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.html
+ </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.html</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-form-item'
</span><span class="jsdoc-syntax">};
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.cls</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-var">cfg.cls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cls</span><span class="jsdoc-syntax">;
- }
-
</span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">onRender </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">)
+ {
+ </span><span class="jsdoc-var">Roo.form.TextItem.superclass.onRender.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getAutoCreate</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">cfg.name</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">cfg.name </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">cfg.name.length</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">cfg.name</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">this.el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ct.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">);
+ }
}
});</span></code></body></html>
\ No newline at end of file
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/TriggerField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/TriggerField.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/form/VTypes.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/form/VTypes.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/AbstractGridView.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/AbstractGridView.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/AbstractSelectionModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/AbstractSelectionModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/Calendar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/Calendar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Licence LGPL
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/CellSelectionModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/CellSelectionModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/ColumnModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/ColumnModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/EditorGrid.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/EditorGrid.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/Grid.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/Grid.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/GridDragZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/GridDragZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/GridEditor.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/GridEditor.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/GridView.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/GridView.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/HeaderDragZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/HeaderDragZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/HeaderDropZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/HeaderDropZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/PropertyGrid.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/PropertyGrid.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/RowSelectionModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/RowSelectionModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/grid/SplitDragZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/grid/SplitDragZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/lib/Ajax.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/lib/Ajax.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Portions of this file are based on pieces of Yahoo User Interface Library
* Copyright (c) 2007, Yahoo! Inc. All rights reserved.
* YUI licensed under the BSD License:
-<html><head><title>/home/edward/gitlive/roojs1/Roo/lib/Anim.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/lib/Anim.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Portions of this file are based on pieces of Yahoo User Interface Library
* Copyright (c) 2007, Yahoo! Inc. All rights reserved.
* YUI licensed under the BSD License:
-<html><head><title>/home/edward/gitlive/roojs1/Roo/lib/AnimBase.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/lib/AnimBase.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Portions of this file are based on pieces of Yahoo User Interface Library
* Copyright (c) 2007, Yahoo! Inc. All rights reserved.
* YUI licensed under the BSD License:
-<html><head><title>/home/edward/gitlive/roojs1/Roo/lib/AnimMgr.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<html><head><title>Roo/lib/AnimMgr.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
<span class="jsdoc-comment">/*
* Portions of this file are based on pieces of Yahoo User Interface Library
* Copyright (c) 2007, Yahoo! Inc. All rights reserved.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/lib/Beizer.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/lib/Beizer.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Portions of this file are based on pieces of Yahoo User Interface Library
* Copyright (c) 2007, Yahoo! Inc. All rights reserved.
* YUI licensed under the BSD License:
-<html><head><title>/home/edward/gitlive/roojs1/Roo/lib/ColorAnim.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/lib/ColorAnim.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Portions of this file are based on pieces of Yahoo User Interface Library
* Copyright (c) 2007, Yahoo! Inc. All rights reserved.
* YUI licensed under the BSD License:
-<html><head><title>/home/edward/gitlive/roojs1/Roo/lib/Dom.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/lib/Dom.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/lib/Easing.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/lib/Easing.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Portions of this file are based on pieces of Yahoo User Interface Library
* Copyright (c) 2007, Yahoo! Inc. All rights reserved.
* YUI licensed under the BSD License:
-<html><head><title>/home/edward/gitlive/roojs1/Roo/lib/Event.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/lib/Event.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Portions of this file are based on pieces of Yahoo User Interface Library
* Copyright (c) 2007, Yahoo! Inc. All rights reserved.
* YUI licensed under the BSD License:
-<html><head><title>/home/edward/gitlive/roojs1/Roo/lib/Motion.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/lib/Motion.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Portions of this file are based on pieces of Yahoo User Interface Library
* Copyright (c) 2007, Yahoo! Inc. All rights reserved.
* YUI licensed under the BSD License:
-<html><head><title>/home/edward/gitlive/roojs1/Roo/lib/Point.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/lib/Point.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Portions of this file are based on pieces of Yahoo User Interface Library
* Copyright (c) 2007, Yahoo! Inc. All rights reserved.
* YUI licensed under the BSD License:
-<html><head><title>/home/edward/gitlive/roojs1/Roo/lib/Region.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/lib/Region.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Portions of this file are based on pieces of Yahoo User Interface Library
* Copyright (c) 2007, Yahoo! Inc. All rights reserved.
* YUI licensed under the BSD License:
-<html><head><title>/home/edward/gitlive/roojs1/Roo/lib/Scroll.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/lib/Scroll.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Portions of this file are based on pieces of Yahoo User Interface Library
* Copyright (c) 2007, Yahoo! Inc. All rights reserved.
* YUI licensed under the BSD License:
-<html><head><title>/home/edward/gitlive/roojs1/Roo/menu/Adapter.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/menu/Adapter.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/menu/BaseItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/menu/BaseItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/menu/CheckItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/menu/CheckItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/menu/ColorItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/menu/ColorItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/menu/ColorMenu.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/menu/ColorMenu.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/menu/DateItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/menu/DateItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/menu/DateMenu.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/menu/DateMenu.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/menu/Item.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/menu/Item.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/menu/Menu.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/menu/Menu.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
* @param {Object} config Configuration options
*/
</span><span class="jsdoc-var">Roo.menu.Menu </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">Roo.menu.Menu.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
+
</span><span class="jsdoc-var">this.id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.id </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">Roo.id</span><span class="jsdoc-syntax">();
</span><span class="jsdoc-var">this.addEvents</span><span class="jsdoc-syntax">({
</span><span class="jsdoc-comment">/**
-<html><head><title>/home/edward/gitlive/roojs1/Roo/menu/MenuMgr.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/menu/MenuMgr.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/menu/Separator.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/menu/Separator.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/menu/TextItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/menu/TextItem.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/state/CookieProvider.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/state/CookieProvider.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/state/Manager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/state/Manager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/state/Provider.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/state/Provider.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/tree/AsyncTreeNode.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/tree/AsyncTreeNode.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/tree/ColumnNodeUI.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<Script type="text/javascript">
+<html><head><title>Roo/tree/ColumnNodeUI.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<Script type="text/javascript">
/*
* Based on:
* Ext JS Library 1.1.1
-<html><head><title>/home/edward/gitlive/roojs1/Roo/tree/ColumnTree.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<Script type="text/javascript">
+<html><head><title>Roo/tree/ColumnTree.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//<Script type="text/javascript">
/*
* Based on:
-<html><head><title>/home/edward/gitlive/roojs1/Roo/tree/TreeDragZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/tree/TreeDragZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/tree/TreeDropZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/tree/TreeDropZone.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/tree/TreeEditor.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/tree/TreeEditor.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/tree/TreeFilter.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/tree/TreeFilter.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/tree/TreeLoader.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/tree/TreeLoader.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/tree/TreeNode.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/tree/TreeNode.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
</span><span class="jsdoc-var">this.renderChildren</span><span class="jsdoc-syntax">();
}
</span><span class="jsdoc-var">this.expanded </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.isHiddenRoot</span><span class="jsdoc-syntax">() && (</span><span class="jsdoc-var">this.getOwnerTree</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.animate </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">anim </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-var">anim</span><span class="jsdoc-syntax">){
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.isHiddenRoot</span><span class="jsdoc-syntax">() && (</span><span class="jsdoc-var">this.getOwnerTree</span><span class="jsdoc-syntax">() && </span><span class="jsdoc-var">this.getOwnerTree</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.animate </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">anim </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-var">anim</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.ui.animExpand</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"expand"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">callback </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">"function"</span><span class="jsdoc-syntax">){
-<html><head><title>/home/edward/gitlive/roojs1/Roo/tree/TreeNodeUI.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/tree/TreeNodeUI.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
</span><span class="jsdoc-var">this.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-tree-node-disabled"</span><span class="jsdoc-syntax">);
}
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ot </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.node.getOwnerTree</span><span class="jsdoc-syntax">();
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ot.enableDD </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">ot.enableDrag </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">ot.enableDrop</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ot </span><span class="jsdoc-syntax">? (</span><span class="jsdoc-var">ot.enableDD </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">ot.enableDrag </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">ot.enableDrop</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dd </span><span class="jsdoc-syntax">&& (!</span><span class="jsdoc-var">this.node.isRoot </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">ot.rootVisible</span><span class="jsdoc-syntax">)){
</span><span class="jsdoc-var">Roo.dd.Registry.register</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elNode</span><span class="jsdoc-syntax">, {
</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.node</span><span class="jsdoc-syntax">,
</span><span class="jsdoc-comment">// add some indent caching, this helps performance when rendering a large tree
</span><span class="jsdoc-var">this.indentMarkup </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.parentNode </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">n.parentNode.ui.getChildIndent</span><span class="jsdoc-syntax">() : </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.getOwnerTree</span><span class="jsdoc-syntax">();
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">txt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t.renderer </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">t.renderer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.attributes</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">Roo.util.Format.htmlEncode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.text</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">txt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">t.renderer </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">t.renderer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.attributes</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">Roo.util.Format.htmlEncode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.text</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.attributes.html</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) {
</span><span class="jsdoc-var">txt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.attributes.html</span><span class="jsdoc-syntax">;
}
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tip </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t.rendererTip </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">t.rendererTip</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.attributes</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">txt</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tip </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">t.rendererTip </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">t.rendererTip</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.attributes</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">txt</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">a.checked </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'boolean'</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">href </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a.href </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">a.href </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.isGecko </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">"" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"#"</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">buf </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-string">'<li class="x-tree-node"><div class="x-tree-node-el '</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a.cls</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'">'</span><span class="jsdoc-syntax">,
-<html><head><title>/home/edward/gitlive/roojs1/Roo/tree/TreePanel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/tree/TreePanel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
* </ul>
* @param {Object} dragOverEvent
*/
- </span><span class="jsdoc-string">"nodedragover" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
+ </span><span class="jsdoc-string">"nodedragover" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @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
+ */
+ </span><span class="jsdoc-string">"appendnode" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
</span><span class="jsdoc-syntax">});
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.singleExpand</span><span class="jsdoc-syntax">){
-<html><head><title>/home/edward/gitlive/roojs1/Roo/tree/TreeSelectionModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/tree/TreeSelectionModel.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/tree/TreeSorter.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/tree/TreeSorter.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/util/CSS.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/util/CSS.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/util/ClickRepeater.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/util/ClickRepeater.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/util/DelayedTask.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/util/DelayedTask.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/util/Format.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/util/Format.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/util/JSON.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/util/JSON.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/util/MixedCollection.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/util/MixedCollection.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/util/Observable.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/util/Observable.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.listeners</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ls.length</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">> 0){
</span><span class="jsdoc-var">this.firing </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">args </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Array.prototype.slice.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">, 0);
+
</span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ls</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
- </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">l.fireFn.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">l.scope</span><span class="jsdoc-syntax">||</span><span class="jsdoc-var">this.obj</span><span class="jsdoc-syntax">||</span><span class="jsdoc-var">window</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">) === </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">args </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Array.prototype.slice.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">, 0);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ls</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-var">args.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">l.options</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">l.fireFn.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">l.scope</span><span class="jsdoc-syntax">||</span><span class="jsdoc-var">this.obj</span><span class="jsdoc-syntax">||</span><span class="jsdoc-var">window</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">args</span><span class="jsdoc-syntax">) === </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.firing </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
}
-<html><head><title>/home/edward/gitlive/roojs1/Roo/util/TaskRunner.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/util/TaskRunner.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/Roo/util/TextMetrics.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>Roo/util/TextMetrics.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
-<html><head><title>/home/edward/gitlive/roojs1/String.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>String.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
"values" : [
]
},
+ {
+ "name" : "width",
+ "type" : "Number",
+ "desc" : "fixed width - usefull for chrome extension only really.",
+ "memberOf" : "Roo.bootstrap.Modal",
+ "values" : [
+ ]
+ },
{
"name" : "dataId",
"type" : "string",
"values" : [
]
},
+ {
+ "name" : "height",
+ "type" : "Number",
+ "desc" : "fixed height - usefull for chrome extension only really.",
+ "memberOf" : "Roo.bootstrap.Modal",
+ "values" : [
+ ]
+ },
{
"name" : "size",
"type" : "String",
}
]
},
+ {
+ "name" : "loadDataFromChildren",
+ "desc" : "using 'cn' the nested child reader read the child array into it's child stores.",
+ "isStatic" : false,
+ "isConstructor" : false,
+ "isPrivate" : false,
+ "memberOf" : "Roo.data.Store",
+ "example" : "",
+ "deprecated" : "",
+ "since" : "",
+ "see" : "",
+ "params" : [
+ {
+ "name" : "rec",
+ "type" : "Object",
+ "desc" : "The record with a 'children array",
+ "isOptional" : false
+ }
+ ],
+ "returns" : [
+ ]
+ },
{
"name" : "clearFilter",
"desc" : "Revert to a view of the Record cache with no filtering applied.",
"returns" : [
],
"config" : [
+ {
+ "name" : "an",
+ "type" : "Object",
+ "desc" : "existing reader (eg. copied from another store)",
+ "memberOf" : "Roo.data.SimpleStore",
+ "values" : [
+ ]
+ },
{
"name" : "listeners",
"type" : "Object",
}
]
},
+ {
+ "name" : "loadDataFromChildren",
+ "desc" : "using 'cn' the nested child reader read the child array into it's child stores.",
+ "isStatic" : false,
+ "isConstructor" : false,
+ "isPrivate" : false,
+ "memberOf" : "Roo.data.Store",
+ "example" : "",
+ "deprecated" : "",
+ "since" : "",
+ "see" : "",
+ "params" : [
+ {
+ "name" : "rec",
+ "type" : "Object",
+ "desc" : "The record with a 'children array",
+ "isOptional" : false
+ }
+ ],
+ "returns" : [
+ ]
+ },
{
"name" : "clearFilter",
"desc" : "Revert to a view of the Record cache with no filtering applied.",
}
]
},
+ {
+ "name" : "loadDataFromChildren",
+ "desc" : "using 'cn' the nested child reader read the child array into it's child stores.",
+ "isStatic" : false,
+ "isConstructor" : false,
+ "isPrivate" : false,
+ "memberOf" : "Roo.data.Store",
+ "example" : "",
+ "deprecated" : "",
+ "since" : "",
+ "see" : "",
+ "params" : [
+ {
+ "name" : "rec",
+ "type" : "Object",
+ "desc" : "The record with a 'children array",
+ "isOptional" : false
+ }
+ ],
+ "returns" : [
+ ]
+ },
{
"name" : "clearFilter",
"desc" : "Revert to a view of the Record cache with no filtering applied.",
"values" : [
]
},
+ {
+ "name" : "errorMask",
+ "type" : "Boolean",
+ "desc" : "default false",
+ "memberOf" : "Roo.form.BasicForm",
+ "values" : [
+ "(true",
+ "false)"
+ ]
+ },
{
"name" : "timeout",
"type" : "Number",
"memberOf" : "Roo.form.BasicForm",
"values" : [
]
+ },
+ {
+ "name" : "maskOffset",
+ "type" : "Number",
+ "desc" : "Default 100",
+ "memberOf" : "Roo.form.BasicForm",
+ "values" : [
+ ]
}
],
"methods" : [
"values" : [
]
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField",
+ "values" : [
+ ]
+ },
{
"name" : "invalidClass",
"type" : "String",
"values" : [
]
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField",
+ "values" : [
+ ]
+ },
{
"name" : "validationEvent",
"type" : "String/Boolean",
"values" : [
]
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField",
+ "values" : [
+ ]
+ },
{
"name" : "invalidClass",
"type" : "String",
"values" : [
]
},
- {
- "name" : "validateOnBlur",
- "type" : "Boolean",
- "desc" : "Whether the field should validate when it loses focus (defaults to true).",
- "memberOf" : "Roo.form.Field",
- "values" : [
- ]
- },
{
"name" : "hideTrigger",
"type" : "Boolean",
"values" : [
]
},
+ {
+ "name" : "validateOnBlur",
+ "type" : "Boolean",
+ "desc" : "Whether the field should validate when it loses focus (defaults to true).",
+ "memberOf" : "Roo.form.Field",
+ "values" : [
+ ]
+ },
{
"name" : "inputType",
"type" : "String",
"values" : [
]
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField",
+ "values" : [
+ ]
+ },
{
"name" : "invalidClass",
"type" : "String",
"values" : [
]
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField",
+ "values" : [
+ ]
+ },
{
"name" : "validationEvent",
"type" : "String/Boolean",
"values" : [
]
},
+ {
+ "name" : "errorMask",
+ "type" : "Boolean",
+ "desc" : "default false",
+ "memberOf" : "Roo.form.BasicForm",
+ "values" : [
+ "(true",
+ "false)"
+ ]
+ },
{
"name" : "labelWidth",
"type" : "Number",
"memberOf" : "Roo.form.BasicForm",
"values" : [
]
+ },
+ {
+ "name" : "maskOffset",
+ "type" : "Number",
+ "desc" : "Default 100",
+ "memberOf" : "Roo.form.BasicForm",
+ "values" : [
+ ]
}
],
"methods" : [
"values" : [
]
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField",
+ "values" : [
+ ]
+ },
{
"name" : "autoCreate",
"type" : "String/Object",
"values" : [
]
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField",
+ "values" : [
+ ]
+ },
{
"name" : "autoCreate",
"type" : "String/Object",
"values" : [
]
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField",
+ "values" : [
+ ]
+ },
{
"name" : "autoCreate",
"type" : "String/Object",
"values" : [
]
},
- {
- "name" : "validateOnBlur",
- "type" : "Boolean",
- "desc" : "Whether the field should validate when it loses focus (defaults to true).",
- "memberOf" : "Roo.form.Field",
- "values" : [
- ]
- },
{
"name" : "hideTrigger",
"type" : "Boolean",
"values" : [
]
},
+ {
+ "name" : "validateOnBlur",
+ "type" : "Boolean",
+ "desc" : "Whether the field should validate when it loses focus (defaults to true).",
+ "memberOf" : "Roo.form.Field",
+ "values" : [
+ ]
+ },
{
"name" : "listAlign",
"type" : "String",
"values" : [
]
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField",
+ "values" : [
+ ]
+ },
{
"name" : "invalidClass",
"type" : "String",
]
},
{
- "name" : "validationEvent",
- "type" : "String/Boolean",
- "desc" : "The event that should initiate field validation. Set to false to disable\n automatic validation (defaults to \"keyup\").",
- "memberOf" : "Roo.form.Field",
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField",
"values" : [
]
},
"values" : [
]
},
+ {
+ "name" : "validationEvent",
+ "type" : "String/Boolean",
+ "desc" : "The event that should initiate field validation. Set to false to disable\n automatic validation (defaults to \"keyup\").",
+ "memberOf" : "Roo.form.Field",
+ "values" : [
+ ]
+ },
{
"name" : "fieldLabel",
"type" : "String",
"values" : [
]
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField",
+ "values" : [
+ ]
+ },
{
"name" : "autoCreate",
"type" : "String/Object",
"values" : [
]
},
- {
- "name" : "cls",
- "type" : "String",
- "desc" : "the class for this item",
- "memberOf" : "Roo.form.TextItem",
- "values" : [
- ]
- },
{
"name" : "html",
"type" : "String",
"values" : [
]
},
- {
- "name" : "validateOnBlur",
- "type" : "Boolean",
- "desc" : "Whether the field should validate when it loses focus (defaults to true).",
- "memberOf" : "Roo.form.Field",
- "values" : [
- ]
- },
{
"name" : "hideTrigger",
"type" : "Boolean",
"values" : [
]
},
+ {
+ "name" : "validateOnBlur",
+ "type" : "Boolean",
+ "desc" : "Whether the field should validate when it loses focus (defaults to true).",
+ "memberOf" : "Roo.form.Field",
+ "values" : [
+ ]
+ },
{
"name" : "inputType",
"type" : "String",
"values" : [
]
},
+ {
+ "name" : "allowLeadingSpace",
+ "type" : "Boolean",
+ "desc" : "True to prevent the stripping of leading white space",
+ "memberOf" : "Roo.form.TextField",
+ "values" : [
+ ]
+ },
{
"name" : "autoCreate",
"type" : "String/Object",
"returns" : [
]
},
+ {
+ "name" : "appendnode",
+ "desc" : "Fires when append node to the tree",
+ "memberOf" : "Roo.tree.TreePanel",
+ "example" : "",
+ "deprecated" : "",
+ "since" : "",
+ "see" : "",
+ "params" : [
+ {
+ "name" : "this",
+ "type" : "Roo.tree.TreePanel",
+ "desc" : "",
+ "isOptional" : false
+ },
+ {
+ "name" : "node",
+ "type" : "Roo.tree.TreeNode",
+ "desc" : "",
+ "isOptional" : false
+ },
+ {
+ "name" : "index",
+ "type" : "Number",
+ "desc" : "The index of the newly appended node",
+ "isOptional" : false
+ }
+ ],
+ "returns" : [
+ ]
+ },
{
"name" : "startdrag",
"desc" : "Fires when a node starts being dragged",
"returns" : [
]
},
+ {
+ "name" : "merge",
+ "desc" : "eval:var:merge",
+ "isStatic" : false,
+ "isConstructor" : false,
+ "isPrivate" : false,
+ "memberOf" : "_global_",
+ "example" : "",
+ "deprecated" : "",
+ "since" : "",
+ "see" : "",
+ "params" : [
+ ],
+ "returns" : [
+ ]
+ },
{
"name" : "Renderer",
- "desc" : "Renderer",
+ "desc" : "eval:var:Renderer",
"isStatic" : false,
"isConstructor" : false,
"isPrivate" : false,
},
{
"name" : "marked",
- "desc" : "Marked",
+ "desc" : "eval:var:marked",
+ "isStatic" : false,
+ "isConstructor" : false,
+ "isPrivate" : false,
+ "memberOf" : "_global_",
+ "example" : "",
+ "deprecated" : "",
+ "since" : "",
+ "see" : "",
+ "params" : [
+ ],
+ "returns" : [
+ ]
+ },
+ {
+ "name" : "noop",
+ "desc" : "eval:var:noop",
"isStatic" : false,
"isConstructor" : false,
"isPrivate" : false,
},
{
"name" : "Parser",
- "desc" : "Parsing & Compiling",
+ "desc" : "eval:var:Parser",
"isStatic" : false,
"isConstructor" : false,
"isPrivate" : false,
],
"is_class" : true
},
+ {
+ "name" : "Roo.form.ComboNested",
+ "cn" : [
+ ],
+ "is_class" : true
+ },
{
"name" : "Roo.form.DateField",
"cn" : [
</p>
<p>The js is not minified so it is readable. See
- <button type="button" onclick="RooDocs.viewSource.show('/combocheck.js')">htmledit.js</button> and
- <button type="button" onclick="RooDocs.viewSource.show('/combocheck.html')">htmledit.html</button>
+ <button type="button" onclick="RooDocs.viewSource.show('/combocheck.js')">combocheck.js</button> and
+ <button type="button" onclick="RooDocs.viewSource.show('/combocheck.html')">combocheck.html</button>
.</p>
Roo.QuickTips.init();
+ var sampleData =
+
+
+
/*
* ================ Form 2 =======================
*/
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Forms</title>
+
+ <link rel="stylesheet" type="text/css" href="../../css/roojs-debug.css"/>
+ <link rel="stylesheet" type="text/css" href="../../css/xtheme-slate.css"/>
+ <link rel="stylesheet" type="text/css" href="../../css/inline-editor.css"/>
+
+ <style>
+
+ .roodocs-formblock
+ {
+ border:4px solid #CCCCCC;
+ padding:5px 0pt 5px 10px;
+ }
+
+
+ </style>
+ </head>
+ <body>
+
+ <h1>Nested Combo example</h1>
+ <p>
+ Demostration of nested multicolumned combo
+ </p>
+
+ <p>The js is not minified so it is readable. See
+ <button type="button" onclick="RooDocs.viewSource.show('/nestedcombo.js')">nestedcombo.js</button> and
+ <button type="button" onclick="RooDocs.viewSource.show('/nestedcombo.html')">nestedcombo.html</button>
+ .</p>
+
+
+
+
+ <div style="width:900px;" class="roodocs-formblock">
+ <h3>Display Form</h3>
+ <div id="form-ct5"></div>
+ </div>
+
+
+
+ <div class="x-form-clear"></div>
+<PRE>
+
+
+
+</PRE>
+
+ <script type="text/javascript" src="../../roojs-debug.js"></script>
+ <script type="text/javascript" src="../../Roo/Template.js"></script>
+
+ <script type="text/javascript" src="../../Roo/form/ComboNested.js"></script>
+
+ <script type="text/javascript" src="states.js"></script>
+
+ <script type="text/javascript" src="../examples.js"></script>
+ <script type="text/javascript" src="nestedcombo.js"></script>
+ </body>
+</html>
--- /dev/null
+/*
+ *
+ * (C) Alan Knowles 2011
+ * Licence : Roojs - LGPL
+ */
+
+var mform;
+var combo, cats;
+Roo.onReady(function(){
+
+ Roo.QuickTips.init();
+
+ sampledata = [
+ ['A', 'A states', [
+ ['AK', 'Alaska'],
+ ['AZ', 'Arizona', [
+ ['AK', 'Alaska'],
+ ['AZ', 'Arizona'],
+ ['AR', 'Arkansas']
+ ]],
+ ['AR', 'Arkansas']
+
+ ]],
+ ['C', 'C states', [
+ ['CA', 'California'],
+ ['CO', 'Colorado'],
+ ['CT', 'Connecticut']
+ ]],
+ ['D', 'D states', [
+ ['DE', 'Delaware'],
+ ['DC', 'District of Columbia']
+ ]],
+ ['I', 'I states', [
+
+ ['ID', 'Idaho'],
+ ['IL', 'Illinois'],
+ ['IN', 'Indiana'],
+ ['IA', 'Iowa'],
+ ['IDA', 'Idaho'],
+ ['ILA', 'Illinois'],
+ ['INA', 'Indiana'],
+ ['IAA', 'Iowa']
+ ]],
+ ['E', 'Empty states', []],
+ ];
+ /*
+ * ================ Form 2 =======================
+ */
+ mform = Roo.factory({
+ xns : Roo.form,
+ xtype : 'Form',
+ labelAlign: 'top',
+ items : [
+ {
+ xtype : 'ComboNested',
+ xns: Roo.form,
+
+ fieldLabel: 'State',
+
+ name : 'states_list',
+ hiddenName:'states',
+
+
+ valueField : 'abbr',
+ displayField:'state',
+
+
+ store: {
+ xns : Roo.data,
+ xtype : 'SimpleStore',
+ fields: ['abbr', 'state' , 'cn'],
+ data : sampledata// from states.js
+
+ },
+ listWidth: 250,
+ typeAhead: true,
+ mode: 'local',
+ triggerAction: 'all',
+ emptyText:'Select a state...',
+ selectOnFocus:true,
+ width:190,
+ listeners : {
+ change: function() {
+ Roo.log("changed to " + this.getValue());
+
+ }
+ }
+ },
+
+ {
+ xtype : 'ComboNested',
+ allowBlank : true,
+ alwaysQuery : true,
+ displayField : 'name',
+ editable : false,
+ emptyText : 'Category',
+ fieldLabel : 'Category',
+ forceSelection : true,
+ hiddenName : 'supplier_category_id',
+ listWidth : 200,
+ maxColumns : 4,
+ maxHeight: 400,
+ loadingText : 'Searching',
+ minChars : 2,
+ name : 'supplier_category_id_name',
+ pageSize : 999,
+ qtip : 'Category',
+ queryParam : 'query[fullpath]',
+ selectOnFocus : true,
+ triggerAction : 'all',
+ typeAhead : true,
+ valueField : 'id',
+ width : 300,
+ listeners : {
+ select : function (combo, record, index)
+ {
+ // _this.grid.footer.onClick('first');
+ }
+ },
+ xns : Roo.form,
+ '|xns' : 'Roo.form',
+ store : {
+ xtype : 'Store',
+ remoteSort : true,
+ sortInfo : { direction : 'ASC', field: 'fullpath' },
+ listeners : {
+ beforeload : function (_self, o){
+ o.params = o.params || {};
+ o.params._as_tree = 1;
+ // set more here
+ }
+ },
+ xns : Roo.data,
+ '|xns' : 'Roo.data',
+ proxy : {
+ xtype : 'HttpProxy',
+ method : 'GET',
+ url : '/web.Texon/admin.php/Roo/category.php',
+ xns : Roo.data,
+ '|xns' : 'Roo.data'
+ },
+ reader : {
+ xtype : 'JsonReader',
+ fields : [{"name":"id","type":"int"},{"name":"fullpath","type":"string"},'name', 'cn' ],
+ id : 'id',
+ root : 'data',
+ totalProperty : 'total',
+ xns : Roo.data,
+ '|xns' : 'Roo.data'
+ }
+ }
+ },
+
+
+
+ ]
+
+ });
+
+ mform.render('form-ct5');
+ combo = mform.findField('states');
+ cats = mform.findField('supplier_category_id');
+ /* mform.setValues({
+ states : '["AK","AZ"]',
+ states_list : "Alaska, Arizona"
+
+ });
+ */
+
+
+});
\ No newline at end of file
el.appendChild(N);}else{var O=E(o);N=this.insertHtml("beforeEnd",el,O);}return M?Roo.get(N,true):N;},overwrite:function(el,o,M){el=Roo.getDom(el);if(o.ns){while(el.childNodes.length){el.removeChild(el.firstChild);}F(o,el);}else{el.innerHTML=E(o);}return M?Roo.get(el.firstChild,true):el.firstChild;
},createTemplate:function(o){var M=E(o);return new Roo.Template(M);}};}();
// Roo/Template.js
-Roo.Template=function(A){if(A instanceof Array){A=A.join("");}else if(arguments.length>1){A=Array.prototype.join.call(arguments,"");}if(typeof(A)=='object'){Roo.apply(this,A)}else{this.html=A;}if(this.url){this.load();}};Roo.Template.prototype={url:false,html:'',applyTemplate:function(A){try{if(this.compiled){return this.compiled(A);
-}var B=this.disableFormats!==true;var fm=Roo.util.Format,C=this;var fn=function(m,D,E,F){if(E&&B){if(E.substr(0,5)=="this."){return C.call(E.substr(5),A[D],A);}else{if(F){var re=/^\s*['"](.*)["']\s*$/;F=F.split(',');for(var i=0,G=F.length;i<G;i++){F[i]=F[i].replace(re,"$1");
-}F=[A[D]].concat(F);}else{F=[A[D]];}return fm[E].apply(fm,F);}}else{return A[D]!==undefined?A[D]:"";}};return this.html.replace(this.re,fn);}catch(e){Roo.log(e);throw e;}},loading:false,load:function(){if(this.loading){return;}var _t=this;this.loading=true;
-this.compiled=false;var cx=new Roo.data.Connection();cx.request({url:this.url,method:'GET',success:function(A){_t.loading=false;_t.html=A.responseText;_t.url=false;_t.compile();},failure:function(A){Roo.log("Template failed to load from "+_t.url);_t.loading=false;
-}});},set:function(A,B){this.html=A;this.compiled=null;if(B){this.compile();}return this;},disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,compile:function(){var fm=Roo.util.Format;var A=this.disableFormats!==true;var B=Roo.isGecko?"+":",";
+Roo.Template=function(A){if(A instanceof Array){A=A.join("");}else if(arguments.length>1){A=Array.prototype.join.call(arguments,"");}if(typeof(A)=='object'){Roo.apply(this,A)}else{this.html=A;}if(this.url){this.load();}};Roo.Template.prototype={url:false,html:'',applyTemplate:function(A){Roo.log(["applyTemplate",A]);
+try{if(this.compiled){return this.compiled(A);}var B=this.disableFormats!==true;var fm=Roo.util.Format,C=this;var fn=function(m,D,E,F){if(E&&B){if(E.substr(0,5)=="this."){return C.call(E.substr(5),A[D],A);}else{if(F){var re=/^\s*['"](.*)["']\s*$/;F=F.split(',');
+for(var i=0,G=F.length;i<G;i++){F[i]=F[i].replace(re,"$1");}F=[A[D]].concat(F);}else{F=[A[D]];}return fm[E].apply(fm,F);}}else{return A[D]!==undefined?A[D]:"";}};return this.html.replace(this.re,fn);}catch(e){Roo.log(e);throw e;}},loading:false,load:function(){if(this.loading){return;
+}var _t=this;this.loading=true;this.compiled=false;var cx=new Roo.data.Connection();cx.request({url:this.url,method:'GET',success:function(A){_t.loading=false;_t.html=A.responseText;_t.url=false;_t.compile();},failure:function(A){Roo.log("Template failed to load from "+_t.url);
+_t.loading=false;}});},set:function(A,B){this.html=A;this.compiled=null;if(B){this.compile();}return this;},disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,compile:function(){var fm=Roo.util.Format;var A=this.disableFormats!==true;var B=Roo.isGecko?"+":",";
var fn=function(m,D,E,F){if(E&&A){F=F?','+F:"";if(E.substr(0,5)!="this."){E="fm."+E+'(';}else{E='this.call("'+E.substr(5)+'", ';F=", values";}}else{F='';E="(values['"+D+"'] == undefined ? '' : ";}return "'"+B+E+"values['"+D+"']"+F+")"+B+"'";};var C;if(Roo.isGecko){C="this.compiled = function(values){ return '"+this.html.replace(/\\/g,'\\\\').replace(/(\r\n|\n)/g,'\\n').replace(/'/g,"\\'").replace(this.re,fn)+"';};";
}else{C=["this.compiled = function(values){ return ['"];C.push(this.html.replace(/\\/g,'\\\\').replace(/(\r\n|\n)/g,'\\n').replace(/'/g,"\\'").replace(this.re,fn));C.push("'].join('');};");C=C.join('');}eval(C);return this;},call:function(A,B,C){return this[A](B,C);
},insertFirst:function(el,A,B){return this.doInsert('afterBegin',el,A,B);},insertBefore:function(el,A,B){return this.doInsert('beforeBegin',el,A,B);},insertAfter:function(el,A,B){return this.doInsert('afterEnd',el,A,B);},append:function(el,A,B){return this.doInsert('beforeEnd',el,A,B);
setTimeout(function(){h.apply(D,E);},o.delay||10);};};Roo.util.Event=function(D,E){this.name=E;this.obj=D;this.listeners=[];};Roo.util.Event.prototype={addListener:function(fn,D,E){var o=E||{};D=D||this.obj;if(!this.isListening(fn,D)){var l={fn:fn,scope:D,options:o}
;var h=fn;if(o.delay){h=C(h,o,D);}if(o.single){h=B(h,this,fn,D);}if(o.buffer){h=A(h,o,D);}l.fireFn=h;if(!this.firing){this.listeners.push(l);}else{this.listeners=this.listeners.slice(0);this.listeners.push(l);}}},findListener:function(fn,D){D=D||this.obj;
var ls=this.listeners;for(var i=0,E=ls.length;i<E;i++){var l=ls[i];if(l.fn==fn&&l.scope==D){return i;}}return -1;},isListening:function(fn,D){return this.findListener(fn,D)!=-1;},removeListener:function(fn,D){var E;if((E=this.findListener(fn,D))!=-1){if(!this.firing){this.listeners.splice(E,1);
-}else{this.listeners=this.listeners.slice(0);this.listeners.splice(E,1);}return true;}return false;},clearListeners:function(){this.listeners=[];},fire:function(){var ls=this.listeners,D,E=ls.length;if(E>0){this.firing=true;var F=Array.prototype.slice.call(arguments,0);
-for(var i=0;i<E;i++){var l=ls[i];if(l.fireFn.apply(l.scope||this.obj||window,arguments)===false){this.firing=false;return false;}}this.firing=false;}return true;}};})();
+}else{this.listeners=this.listeners.slice(0);this.listeners.splice(E,1);}return true;}return false;},clearListeners:function(){this.listeners=[];},fire:function(){var ls=this.listeners,D,E=ls.length;if(E>0){this.firing=true;for(var i=0;i<E;i++){var F=Array.prototype.slice.call(arguments,0);
+var l=ls[i];F.push(l.options);if(l.fireFn.apply(l.scope||this.obj||window,F)===false){this.firing=false;return false;}}this.firing=false;}return true;}};})();
// Roo/Document.js
Roo.Document=function(A){this.addEvents({'ready':true});Roo.util.Observable.call(this,A);var B=this;Roo.onReady(function(){B.fireEvent('ready');},null,false);};Roo.extend(Roo.Document,Roo.util.Observable,{});
// Roo/EventManager.js
// Roo/Markdown.js
Roo.Markdown={};Roo.Markdown.toHtml=function(A){var c=new Roo.Markdown.marked.setOptions({renderer:new Roo.Markdown.marked.Renderer(),gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,smartLists:true,smartypants:false});A=A.replace(/\\\n/g,' ');
-return Roo.Markdown.marked(A);};(function(){var A={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/}
-;A.bullet=/(?:[*+-]|\d+\.)/;A.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;A.item=replace(A.item,'gm')(/bull/g,A.bullet)();A.list=replace(A.list)(/bull/g,A.bullet)('hr','\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))')('def','\\n+(?='+A.def.source+')')();A.blockquote=replace(A.blockquote)('def',A.def)();
-A._tag='(?!(?:'+'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'+'|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'+'|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b';A.html=replace(A.html)('comment',/<!--[\s\S]*?-->/)('closed',/<(tag)[\s\S]+?<\/\1>/)('closing',/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,A._tag)();
-A.paragraph=replace(A.paragraph)('hr',A.hr)('heading',A.heading)('lheading',A.lheading)('blockquote',A.blockquote)('tag','<'+A._tag)('def',A.def)();A.normal=merge({},A);A.gfm=merge({},A.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}
-);A.gfm.paragraph=replace(A.paragraph)('(?!','(?!'+A.gfm.fences.source.replace('\\1','\\2')+'|'+A.list.source.replace('\\1','\\3')+'|')();A.tables=merge({},A.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}
-);function Lexer(C){this.tokens=[];this.tokens.links={};this.options=C||marked.defaults;this.rules=A.normal;if(this.options.gfm){if(this.options.tables){this.rules=A.tables;}else{this.rules=A.gfm;}}}Lexer.rules=A;Lexer.lex=function(C,D){var E=new Lexer(D);
-return E.lex(C);};Lexer.prototype.lex=function(C){C=C.replace(/\r\n|\r/g,'\n').replace(/\t/g,' ').replace(/\u00a0/g,' ').replace(/\u2424/g,'\n');return this.token(C,true);};Lexer.prototype.token=function(C,D,bq){var C=C.replace(/^ +$/gm,''),E,F,G,H,b,I,J,i,l;
-while(C){if(G=this.rules.newline.exec(C)){C=C.substring(G[0].length);if(G[0].length>1){this.tokens.push({type:'space'});}}if(G=this.rules.code.exec(C)){C=C.substring(G[0].length);G=G[0].replace(/^ {4}/gm,'');this.tokens.push({type:'code',text:!this.options.pedantic?G.replace(/\n+$/,''):G}
-);continue;}if(G=this.rules.fences.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'code',lang:G[2],text:G[3]||''});continue;}if(G=this.rules.heading.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'heading',depth:G[1].length,text:G[2]}
-);continue;}if(D&&(G=this.rules.nptable.exec(C))){C=C.substring(G[0].length);I={type:'table',header:G[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:G[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:G[3].replace(/\n$/,'').split('\n')};for(i=0;i<I.align.length;
-i++){if(/^ *-+: *$/.test(I.align[i])){I.align[i]='right';}else if(/^ *:-+: *$/.test(I.align[i])){I.align[i]='center';}else if(/^ *:-+ *$/.test(I.align[i])){I.align[i]='left';}else{I.align[i]=null;}}for(i=0;i<I.cells.length;i++){I.cells[i]=I.cells[i].split(/ *\| */);
-}this.tokens.push(I);continue;}if(G=this.rules.lheading.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'heading',depth:G[2]==='='?1:2,text:G[1]});continue;}if(G=this.rules.hr.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'hr'});continue;
-}if(G=this.rules.blockquote.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'blockquote_start'});G=G[0].replace(/^ *> ?/gm,'');this.token(G,D,true);this.tokens.push({type:'blockquote_end'});continue;}if(G=this.rules.list.exec(C)){C=C.substring(G[0].length);
-H=G[2];this.tokens.push({type:'list_start',ordered:H.length>1});G=G[0].match(this.rules.item);E=false;l=G.length;i=0;for(;i<l;i++){I=G[i];J=I.length;I=I.replace(/^ *([*+-]|\d+\.) +/,'');if(~I.indexOf('\n ')){J-=I.length;I=!this.options.pedantic?I.replace(new RegExp('^ {1,'+J+'}','gm'),''):I.replace(/^ {1,4}/gm,'');
-}if(this.options.smartLists&&i!==l-1){b=A.bullet.exec(G[i+1])[0];if(H!==b&&!(H.length>1&&b.length>1)){C=G.slice(i+1).join('\n')+C;i=l-1;}}F=E||/\n\n(?!\s*$)/.test(I);if(i!==l-1){E=I.charAt(I.length-1)==='\n';if(!F){F=E;}}this.tokens.push({type:F?'loose_item_start':'list_item_start'}
-);this.token(I,false,bq);this.tokens.push({type:'list_item_end'});}this.tokens.push({type:'list_end'});continue;}if(G=this.rules.html.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:this.options.sanitize?'paragraph':'html',pre:!this.options.sanitizer&&(G[1]==='pre'||G[1]==='script'||G[1]==='style'),text:G[0]}
-);continue;}if((!bq&&D)&&(G=this.rules.def.exec(C))){C=C.substring(G[0].length);this.tokens.links[G[1].toLowerCase()]={href:G[2],title:G[3]};continue;}if(D&&(G=this.rules.table.exec(C))){C=C.substring(G[0].length);I={type:'table',header:G[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:G[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:G[3].replace(/(?: *\| *)?\n$/,'').split('\n')}
-;for(i=0;i<I.align.length;i++){if(/^ *-+: *$/.test(I.align[i])){I.align[i]='right';}else if(/^ *:-+: *$/.test(I.align[i])){I.align[i]='center';}else if(/^ *:-+ *$/.test(I.align[i])){I.align[i]='left';}else{I.align[i]=null;}}for(i=0;i<I.cells.length;i++){I.cells[i]=I.cells[i].replace(/^ *\| *| *\| *$/g,'').split(/ *\| */);
-}this.tokens.push(I);continue;}if(D&&(G=this.rules.paragraph.exec(C))){C=C.substring(G[0].length);this.tokens.push({type:'paragraph',text:G[1].charAt(G[1].length-1)==='\n'?G[1].slice(0,-1):G[1]});continue;}if(G=this.rules.text.exec(C)){C=C.substring(G[0].length);
-this.tokens.push({type:'text',text:G[0]});continue;}if(C){throw new Error('Infinite loop on byte: '+C.charCodeAt(0));}}return this.tokens;};var B={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/}
-;B._inside=/(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;B._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;B.link=replace(B.link)('inside',B._inside)('href',B._href)();B.reflink=replace(B.reflink)('inside',B._inside)();B.normal=merge({},B);B.pedantic=merge({}
-,B.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});B.gfm=merge({},B.normal,{escape:replace(B.escape)('])','~|])')(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(B.text)(']|','~]|')('|','|https?://|')()}
-);B.breaks=merge({},B.gfm,{br:replace(B.br)('{2,}','*')(),text:replace(B.gfm.text)('{2,}','*')()});function InlineLexer(C,D){this.options=D||marked.defaults;this.links=C;this.rules=B.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options;
-if(!this.links){throw new Error('Tokens array requires a `links` property.');}if(this.options.gfm){if(this.options.breaks){this.rules=B.breaks;}else{this.rules=B.gfm;}}else if(this.options.pedantic){this.rules=B.pedantic;}}InlineLexer.rules=B;InlineLexer.output=function(C,D,E){var F=new InlineLexer(D,E);
-return F.output(C);};InlineLexer.prototype.output=function(C){var D='',E,F,G,H;while(C){if(H=this.rules.escape.exec(C)){C=C.substring(H[0].length);D+=H[1];continue;}if(H=this.rules.autolink.exec(C)){C=C.substring(H[0].length);if(H[2]==='@'){F=H[1].charAt(6)===':'?this.mangle(H[1].substring(7)):this.mangle(H[1]);
-G=this.mangle('mailto:')+F;}else{F=escape(H[1]);G=F;}D+=this.renderer.link(G,null,F);continue;}if(!this.inLink&&(H=this.rules.url.exec(C))){C=C.substring(H[0].length);F=escape(H[1]);G=F;D+=this.renderer.link(G,null,F);continue;}if(H=this.rules.tag.exec(C)){if(!this.inLink&&/^<a /i.test(H[0])){this.inLink=true;
-}else if(this.inLink&&/^<\/a>/i.test(H[0])){this.inLink=false;}C=C.substring(H[0].length);D+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(H[0]):escape(H[0]):H[0];continue;}if(H=this.rules.link.exec(C)){C=C.substring(H[0].length);this.inLink=true;
-D+=this.outputLink(H,{href:H[2],title:H[3]});this.inLink=false;continue;}if((H=this.rules.reflink.exec(C))||(H=this.rules.nolink.exec(C))){C=C.substring(H[0].length);E=(H[2]||H[1]).replace(/\s+/g,' ');E=this.links[E.toLowerCase()];if(!E||!E.href){D+=H[0].charAt(0);
-C=H[0].substring(1)+C;continue;}this.inLink=true;D+=this.outputLink(H,E);this.inLink=false;continue;}if(H=this.rules.strong.exec(C)){C=C.substring(H[0].length);D+=this.renderer.strong(this.output(H[2]||H[1]));continue;}if(H=this.rules.em.exec(C)){C=C.substring(H[0].length);
-D+=this.renderer.em(this.output(H[2]||H[1]));continue;}if(H=this.rules.code.exec(C)){C=C.substring(H[0].length);D+=this.renderer.codespan(escape(H[2],true));continue;}if(H=this.rules.br.exec(C)){C=C.substring(H[0].length);D+=this.renderer.br();continue;}if(H=this.rules.del.exec(C)){C=C.substring(H[0].length);
-D+=this.renderer.del(this.output(H[1]));continue;}if(H=this.rules.text.exec(C)){C=C.substring(H[0].length);D+=this.renderer.text(escape(this.smartypants(H[0])));continue;}if(C){throw new Error('Infinite loop on byte: '+C.charCodeAt(0));}}return D;};InlineLexer.prototype.outputLink=function(C,D){var E=escape(D.href),F=D.title?escape(D.title):null;
-return C[0].charAt(0)!=='!'?this.renderer.link(E,F,this.output(C[1])):this.renderer.image(E,F,escape(C[1]));};InlineLexer.prototype.smartypants=function(C){if(!this.options.smartypants){return C;}return C.replace(/---/g,'\u2014').replace(/--/g,'\u2013').replace(/(^|[-\u2014/(\[{"\s])'/g,'$1\u2018').replace(/'/g,'\u2019').replace(/(^|[-\u2014/(\[{\u2018\s])"/g,'$1\u201c').replace(/"/g,'\u201d').replace(/\.{3}/g,'\u2026');
-};InlineLexer.prototype.mangle=function(C){if(!this.options.mangle){return C;}var D='',l=C.length,i=0,ch;for(;i<l;i++){ch=C.charCodeAt(i);if(Math.random()>0.5){ch='x'+ch.toString(16);}D+='&#'+ch+';';}return D;};function Renderer(C){this.options=C||{};}Renderer.prototype.code=function(C,D,E){if(this.options.highlight){var F=this.options.highlight(C,D);
-if(F!=null&&F!==C){E=true;C=F;}}else{E=true;}if(!D){return '<pre><code>'+(E?C:escape(C,true))+'\n</code></pre>';}return '<pre><code class="'+this.options.langPrefix+escape(D,true)+'">'+(E?C:escape(C,true))+'\n</code></pre>\n';};Renderer.prototype.blockquote=function(C){return '<blockquote>\n'+C+'</blockquote>\n';
-};Renderer.prototype.html=function(C){return C;};Renderer.prototype.heading=function(C,D,E){return '<h'+D+' id="'+this.options.headerPrefix+E.toLowerCase().replace(/[^\w]+/g,'-')+'">'+C+'</h'+D+'>\n';};Renderer.prototype.hr=function(){return this.options.xhtml?'<hr/>\n':'<hr>\n';
-};Renderer.prototype.list=function(C,D){var E=D?'ol':'ul';return '<'+E+'>\n'+C+'</'+E+'>\n';};Renderer.prototype.listitem=function(C){return '<li>'+C+'</li>\n';};Renderer.prototype.paragraph=function(C){return '<p>'+C+'</p>\n';};Renderer.prototype.table=function(C,D){return '<table class="table table-striped">\n'+'<thead>\n'+C+'</thead>\n'+'<tbody>\n'+D+'</tbody>\n'+'</table>\n';
-};Renderer.prototype.tablerow=function(C){return '<tr>\n'+C+'</tr>\n';};Renderer.prototype.tablecell=function(C,D){var E=D.header?'th':'td';var F=D.align?'<'+E+' style="text-align:'+D.align+'">':'<'+E+'>';return F+C+'</'+E+'>\n';};Renderer.prototype.strong=function(C){return '<strong>'+C+'</strong>';
-};Renderer.prototype.em=function(C){return '<em>'+C+'</em>';};Renderer.prototype.codespan=function(C){return '<code>'+C+'</code>';};Renderer.prototype.br=function(){return this.options.xhtml?'<br/>':'<br>';};Renderer.prototype.del=function(C){return '<del>'+C+'</del>';
-};Renderer.prototype.link=function(C,D,E){if(this.options.sanitize){try{var F=decodeURIComponent(unescape(C)).replace(/[^\w:]/g,'').toLowerCase();}catch(e){return '';}if(F.indexOf('javascript:')===0||F.indexOf('vbscript:')===0){return '';}}var G='<a href="'+C+'"';
-if(D){G+=' title="'+D+'"';}G+='>'+E+'</a>';return G;};Renderer.prototype.image=function(C,D,E){var F='<img src="'+C+'" alt="'+E+'"';if(D){F+=' title="'+D+'"';}F+=this.options.xhtml?'/>':'>';return F;};Renderer.prototype.text=function(C){return C;};function Parser(C){this.tokens=[];
-this.token=null;this.options=C||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options;}Parser.parse=function(C,D,E){var F=new Parser(D,E);return F.parse(C);};Parser.prototype.parse=function(C){this.inline=new InlineLexer(C.links,this.options,this.renderer);
-this.tokens=C.reverse();var D='';while(this.next()){D+=this.tok();}return D;};Parser.prototype.next=function(){return this.token=this.tokens.pop();};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0;};Parser.prototype.parseText=function(){var C=this.token.text;
-while(this.peek().type==='text'){C+='\n'+this.next().text;}return this.inline.output(C);};Parser.prototype.tok=function(){switch(this.token.type){case 'space':{return '';}case 'hr':{return this.renderer.hr();}case 'heading':{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);
-}case 'code':{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);}case 'table':{var C='',D='',i,E,F,G,j;F='';for(i=0;i<this.token.header.length;i++){G={header:true,align:this.token.align[i]};F+=this.renderer.tablecell(this.inline.output(this.token.header[i]),{header:true,align:this.token.align[i]}
-);}C+=this.renderer.tablerow(F);for(i=0;i<this.token.cells.length;i++){E=this.token.cells[i];F='';for(j=0;j<E.length;j++){F+=this.renderer.tablecell(this.inline.output(E[j]),{header:false,align:this.token.align[j]});}D+=this.renderer.tablerow(F);}return this.renderer.table(C,D);
-}case 'blockquote_start':{var D='';while(this.next().type!=='blockquote_end'){D+=this.tok();}return this.renderer.blockquote(D);}case 'list_start':{var D='',H=this.token.ordered;while(this.next().type!=='list_end'){D+=this.tok();}return this.renderer.list(D,H);
-}case 'list_item_start':{var D='';while(this.next().type!=='list_item_end'){D+=this.token.type==='text'?this.parseText():this.tok();}return this.renderer.listitem(D);}case 'loose_item_start':{var D='';while(this.next().type!=='list_item_end'){D+=this.tok();
-}return this.renderer.listitem(D);}case 'html':{var I=!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;return this.renderer.html(I);}case 'paragraph':{return this.renderer.paragraph(this.inline.output(this.token.text));
-}case 'text':{return this.renderer.paragraph(this.parseText());}}};function escape(C,D){return C.replace(!D?/&(?!#?\w+;)/g:/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"').replace(/'/g,''');}function unescape(C){return C.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g,function(_,n){n=n.toLowerCase();
-if(n==='colon'){return ':';}if(n.charAt(0)==='#'){return n.charAt(1)==='x'?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1));}return '';});}function replace(C,D){C=C.source;D=D||'';return function E(F,G){if(!F){return new RegExp(C,D);
-}G=G.source||G;G=G.replace(/(^|[^\[])\^/g,'$1');C=C.replace(F,G);return E;};}function noop(){}noop.exec=noop;function merge(C){var i=1,D,E;for(;i<arguments.length;i++){D=arguments[i];for(E in D){if(Object.prototype.hasOwnProperty.call(D,E)){C[E]=D[E];}}}return C;
-}function marked(C,D,E){if(E||typeof D==='function'){if(!E){E=D;D=null;}D=merge({},marked.defaults,D||{});var F=D.highlight,G,H,i=0;try{G=Lexer.lex(C,D)}catch(e){return E(e);}H=G.length;var I=function(J){if(J){D.highlight=F;return E(J);}var K;try{K=Parser.parse(G,D);
-}catch(e){J=e;}D.highlight=F;return J?E(J):E(null,K);};if(!F||F.length<3){return I();}delete D.highlight;if(!H){return I();}for(;i<G.length;i++){(function(J){if(J.type!=='code'){return --H||I();}return F(J.text,J.lang,function(K,L){if(K){return I(K);}if(L==null||L===J.text){return --H||I();
-}J.text=L;J.escaped=true;--H||I();});})(G[i]);}return;}try{if(D){D=merge({},marked.defaults,D);}return Parser.parse(Lexer.lex(C,D),D);}catch(e){e.message+='\nPlease report this to https://github.com/chjj/marked.';if((D||marked.defaults).silent){return '<p>An error occured:</p><pre>'+escape(e.message+'',true)+'</pre>';
-}throw e;}}marked.options=marked.setOptions=function(C){merge(marked.defaults,C);return marked;};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:'lang-',smartypants:false,headerPrefix:'',renderer:new Renderer,xhtml:false}
-;marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;Roo.Markdown.marked=marked;})();
+return Roo.Markdown.marked(A);};(function(){var A=function(I,J){return I.replace(!J?/&(?!#?\w+;)/g:/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"').replace(/'/g,''');};var unescape=function(I){return I.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g,function(_,n){n=n.toLowerCase();
+if(n==='colon'){return ':';}if(n.charAt(0)==='#'){return n.charAt(1)==='x'?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1));}return '';});};var replace=function(I,J){I=I.source;J=J||'';return function K(L,M){if(!L){return new RegExp(I,J);
+}M=M.source||M;M=M.replace(/(^|[^\[])\^/g,'$1');I=I.replace(L,M);return K;};};var noop=function(){};noop.exec=noop;var B=function(I){var i=1,J,K;for(;i<arguments.length;i++){J=arguments[i];for(K in J){if(Object.prototype.hasOwnProperty.call(J,K)){I[K]=J[K];
+}}}return I;};var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/}
+;block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,'gm')(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)('hr','\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))')('def','\\n+(?='+block.def.source+')')();
+block.blockquote=replace(block.blockquote)('def',block.def)();block._tag='(?!(?:'+'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'+'|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'+'|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b';block.html=replace(block.html)('comment',/<!--[\s\S]*?-->/)('closed',/<(tag)[\s\S]+?<\/\1>/)('closing',/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,block._tag)();
+block.paragraph=replace(block.paragraph)('hr',block.hr)('heading',block.heading)('lheading',block.lheading)('blockquote',block.blockquote)('tag','<'+block._tag)('def',block.def)();block.normal=B({},block);block.gfm=B({},block.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}
+);block.gfm.paragraph=replace(block.paragraph)('(?!','(?!'+block.gfm.fences.source.replace('\\1','\\2')+'|'+block.list.source.replace('\\1','\\3')+'|')();block.tables=B({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}
+);var C=function(I){this.tokens=[];this.tokens.links={};this.options=I||H.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables;}else{this.rules=block.gfm;}}};C.rules=block;C.lex=function(I,J){var K=new C(J);
+return K.lex(I);};C.prototype.lex=function(I){I=I.replace(/\r\n|\r/g,'\n').replace(/\t/g,' ').replace(/\u00a0/g,' ').replace(/\u2424/g,'\n');return this.token(I,true);};C.prototype.token=function(I,J,bq){var I=I.replace(/^ +$/gm,''),K,L,M,N,b,O,P,i,l;while(I){if(M=this.rules.newline.exec(I)){I=I.substring(M[0].length);
+if(M[0].length>1){this.tokens.push({type:'space'});}}if(M=this.rules.code.exec(I)){I=I.substring(M[0].length);M=M[0].replace(/^ {4}/gm,'');this.tokens.push({type:'code',text:!this.options.pedantic?M.replace(/\n+$/,''):M});continue;}if(M=this.rules.fences.exec(I)){I=I.substring(M[0].length);
+this.tokens.push({type:'code',lang:M[2],text:M[3]||''});continue;}if(M=this.rules.heading.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:'heading',depth:M[1].length,text:M[2]});continue;}if(J&&(M=this.rules.nptable.exec(I))){I=I.substring(M[0].length);
+O={type:'table',header:M[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:M[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:M[3].replace(/\n$/,'').split('\n')};for(i=0;i<O.align.length;i++){if(/^ *-+: *$/.test(O.align[i])){O.align[i]='right';}else if(/^ *:-+: *$/.test(O.align[i])){O.align[i]='center';
+}else if(/^ *:-+ *$/.test(O.align[i])){O.align[i]='left';}else{O.align[i]=null;}}for(i=0;i<O.cells.length;i++){O.cells[i]=O.cells[i].split(/ *\| */);}this.tokens.push(O);continue;}if(M=this.rules.lheading.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:'heading',depth:M[2]==='='?1:2,text:M[1]}
+);continue;}if(M=this.rules.hr.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:'hr'});continue;}if(M=this.rules.blockquote.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:'blockquote_start'});M=M[0].replace(/^ *> ?/gm,'');this.token(M,J,true);
+this.tokens.push({type:'blockquote_end'});continue;}if(M=this.rules.list.exec(I)){I=I.substring(M[0].length);N=M[2];this.tokens.push({type:'list_start',ordered:N.length>1});M=M[0].match(this.rules.item);K=false;l=M.length;i=0;for(;i<l;i++){O=M[i];P=O.length;
+O=O.replace(/^ *([*+-]|\d+\.) +/,'');if(~O.indexOf('\n ')){P-=O.length;O=!this.options.pedantic?O.replace(new RegExp('^ {1,'+P+'}','gm'),''):O.replace(/^ {1,4}/gm,'');}if(this.options.smartLists&&i!==l-1){b=block.bullet.exec(M[i+1])[0];if(N!==b&&!(N.length>1&&b.length>1)){I=M.slice(i+1).join('\n')+I;
+i=l-1;}}L=K||/\n\n(?!\s*$)/.test(O);if(i!==l-1){K=O.charAt(O.length-1)==='\n';if(!L){L=K;}}this.tokens.push({type:L?'loose_item_start':'list_item_start'});this.token(O,false,bq);this.tokens.push({type:'list_item_end'});}this.tokens.push({type:'list_end'});
+continue;}if(M=this.rules.html.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:this.options.sanitize?'paragraph':'html',pre:!this.options.sanitizer&&(M[1]==='pre'||M[1]==='script'||M[1]==='style'),text:M[0]});continue;}if((!bq&&J)&&(M=this.rules.def.exec(I))){I=I.substring(M[0].length);
+this.tokens.links[M[1].toLowerCase()]={href:M[2],title:M[3]};continue;}if(J&&(M=this.rules.table.exec(I))){I=I.substring(M[0].length);O={type:'table',header:M[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:M[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:M[3].replace(/(?: *\| *)?\n$/,'').split('\n')}
+;for(i=0;i<O.align.length;i++){if(/^ *-+: *$/.test(O.align[i])){O.align[i]='right';}else if(/^ *:-+: *$/.test(O.align[i])){O.align[i]='center';}else if(/^ *:-+ *$/.test(O.align[i])){O.align[i]='left';}else{O.align[i]=null;}}for(i=0;i<O.cells.length;i++){O.cells[i]=O.cells[i].replace(/^ *\| *| *\| *$/g,'').split(/ *\| */);
+}this.tokens.push(O);continue;}if(J&&(M=this.rules.paragraph.exec(I))){I=I.substring(M[0].length);this.tokens.push({type:'paragraph',text:M[1].charAt(M[1].length-1)==='\n'?M[1].slice(0,-1):M[1]});continue;}if(M=this.rules.text.exec(I)){I=I.substring(M[0].length);
+this.tokens.push({type:'text',text:M[0]});continue;}if(I){throw new Error('Infinite loop on byte: '+I.charCodeAt(0));}}return this.tokens;};var D={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/}
+;D._inside=/(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;D._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;D.link=replace(D.link)('inside',D._inside)('href',D._href)();D.reflink=replace(D.reflink)('inside',D._inside)();D.normal=B({},D);D.pedantic=B({},D.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}
+);D.gfm=B({},D.normal,{escape:replace(D.escape)('])','~|])')(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(D.text)(']|','~]|')('|','|https?://|')()});D.breaks=B({},D.gfm,{br:replace(D.br)('{2,}','*')(),text:replace(D.gfm.text)('{2,}','*')()}
+);var E=function(I,J){this.options=J||H.defaults;this.links=I;this.rules=D.normal;this.renderer=this.options.renderer||new F;this.renderer.options=this.options;if(!this.links){throw new Error('Tokens array requires a `links` property.');}if(this.options.gfm){if(this.options.breaks){this.rules=D.breaks;
+}else{this.rules=D.gfm;}}else if(this.options.pedantic){this.rules=D.pedantic;}};E.rules=D;E.output=function(I,J,K){var L=new E(J,K);return L.output(I);};E.prototype.output=function(I){var J='',K,L,M,N;while(I){if(N=this.rules.escape.exec(I)){I=I.substring(N[0].length);
+J+=N[1];continue;}if(N=this.rules.autolink.exec(I)){I=I.substring(N[0].length);if(N[2]==='@'){L=N[1].charAt(6)===':'?this.mangle(N[1].substring(7)):this.mangle(N[1]);M=this.mangle('mailto:')+L;}else{L=A(N[1]);M=L;}J+=this.renderer.link(M,null,L);continue;
+}if(!this.inLink&&(N=this.rules.url.exec(I))){I=I.substring(N[0].length);L=A(N[1]);M=L;J+=this.renderer.link(M,null,L);continue;}if(N=this.rules.tag.exec(I)){if(!this.inLink&&/^<a /i.test(N[0])){this.inLink=true;}else if(this.inLink&&/^<\/a>/i.test(N[0])){this.inLink=false;
+}I=I.substring(N[0].length);J+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(N[0]):A(N[0]):N[0];continue;}if(N=this.rules.link.exec(I)){I=I.substring(N[0].length);this.inLink=true;J+=this.outputLink(N,{href:N[2],title:N[3]});this.inLink=false;
+continue;}if((N=this.rules.reflink.exec(I))||(N=this.rules.nolink.exec(I))){I=I.substring(N[0].length);K=(N[2]||N[1]).replace(/\s+/g,' ');K=this.links[K.toLowerCase()];if(!K||!K.href){J+=N[0].charAt(0);I=N[0].substring(1)+I;continue;}this.inLink=true;J+=this.outputLink(N,K);
+this.inLink=false;continue;}if(N=this.rules.strong.exec(I)){I=I.substring(N[0].length);J+=this.renderer.strong(this.output(N[2]||N[1]));continue;}if(N=this.rules.em.exec(I)){I=I.substring(N[0].length);J+=this.renderer.em(this.output(N[2]||N[1]));continue;
+}if(N=this.rules.code.exec(I)){I=I.substring(N[0].length);J+=this.renderer.codespan(A(N[2],true));continue;}if(N=this.rules.br.exec(I)){I=I.substring(N[0].length);J+=this.renderer.br();continue;}if(N=this.rules.del.exec(I)){I=I.substring(N[0].length);J+=this.renderer.del(this.output(N[1]));
+continue;}if(N=this.rules.text.exec(I)){I=I.substring(N[0].length);J+=this.renderer.text(A(this.smartypants(N[0])));continue;}if(I){throw new Error('Infinite loop on byte: '+I.charCodeAt(0));}}return J;};E.prototype.outputLink=function(I,J){var K=A(J.href),L=J.title?A(J.title):null;
+return I[0].charAt(0)!=='!'?this.renderer.link(K,L,this.output(I[1])):this.renderer.image(K,L,A(I[1]));};E.prototype.smartypants=function(I){if(!this.options.smartypants){return I;}return I.replace(/---/g,'\u2014').replace(/--/g,'\u2013').replace(/(^|[-\u2014/(\[{"\s])'/g,'$1\u2018').replace(/'/g,'\u2019').replace(/(^|[-\u2014/(\[{\u2018\s])"/g,'$1\u201c').replace(/"/g,'\u201d').replace(/\.{3}/g,'\u2026');
+};E.prototype.mangle=function(I){if(!this.options.mangle){return I;}var J='',l=I.length,i=0,ch;for(;i<l;i++){ch=I.charCodeAt(i);if(Math.random()>0.5){ch='x'+ch.toString(16);}J+='&#'+ch+';';}return J;};var F=function(I){this.options=I||{};};F.prototype.code=function(I,J,K){if(this.options.highlight){var L=this.options.highlight(I,J);
+if(L!=null&&L!==I){K=true;I=L;}}else{K=true;}if(!J){return '<pre><code>'+(K?I:A(I,true))+'\n</code></pre>';}return '<pre><code class="'+this.options.langPrefix+A(J,true)+'">'+(K?I:A(I,true))+'\n</code></pre>\n';};F.prototype.blockquote=function(I){return '<blockquote>\n'+I+'</blockquote>\n';
+};F.prototype.html=function(I){return I;};F.prototype.heading=function(I,J,K){return '<h'+J+' id="'+this.options.headerPrefix+K.toLowerCase().replace(/[^\w]+/g,'-')+'">'+I+'</h'+J+'>\n';};F.prototype.hr=function(){return this.options.xhtml?'<hr/>\n':'<hr>\n';
+};F.prototype.list=function(I,J){var K=J?'ol':'ul';return '<'+K+'>\n'+I+'</'+K+'>\n';};F.prototype.listitem=function(I){return '<li>'+I+'</li>\n';};F.prototype.paragraph=function(I){return '<p>'+I+'</p>\n';};F.prototype.table=function(I,J){return '<table class="table table-striped">\n'+'<thead>\n'+I+'</thead>\n'+'<tbody>\n'+J+'</tbody>\n'+'</table>\n';
+};F.prototype.tablerow=function(I){return '<tr>\n'+I+'</tr>\n';};F.prototype.tablecell=function(I,J){var K=J.header?'th':'td';var L=J.align?'<'+K+' style="text-align:'+J.align+'">':'<'+K+'>';return L+I+'</'+K+'>\n';};F.prototype.strong=function(I){return '<strong>'+I+'</strong>';
+};F.prototype.em=function(I){return '<em>'+I+'</em>';};F.prototype.codespan=function(I){return '<code>'+I+'</code>';};F.prototype.br=function(){return this.options.xhtml?'<br/>':'<br>';};F.prototype.del=function(I){return '<del>'+I+'</del>';};F.prototype.link=function(I,J,K){if(this.options.sanitize){try{var L=decodeURIComponent(unescape(I)).replace(/[^\w:]/g,'').toLowerCase();
+}catch(e){return '';}if(L.indexOf('javascript:')===0||L.indexOf('vbscript:')===0){return '';}}var M='<a href="'+I+'"';if(J){M+=' title="'+J+'"';}M+='>'+K+'</a>';return M;};F.prototype.image=function(I,J,K){var L='<img src="'+I+'" alt="'+K+'"';if(J){L+=' title="'+J+'"';
+}L+=this.options.xhtml?'/>':'>';return L;};F.prototype.text=function(I){return I;};var G=function(I){this.tokens=[];this.token=null;this.options=I||H.defaults;this.options.renderer=this.options.renderer||new F;this.renderer=this.options.renderer;this.renderer.options=this.options;
+};G.parse=function(I,J,K){var L=new G(J,K);return L.parse(I);};G.prototype.parse=function(I){this.inline=new E(I.links,this.options,this.renderer);this.tokens=I.reverse();var J='';while(this.next()){J+=this.tok();}return J;};G.prototype.next=function(){return this.token=this.tokens.pop();
+};G.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0;};G.prototype.parseText=function(){var I=this.token.text;while(this.peek().type==='text'){I+='\n'+this.next().text;}return this.inline.output(I);};G.prototype.tok=function(){switch(this.token.type){case 'space':{return '';
+}case 'hr':{return this.renderer.hr();}case 'heading':{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);}case 'code':{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);}case 'table':{var I='',J='',i,K,L,M,j;
+L='';for(i=0;i<this.token.header.length;i++){M={header:true,align:this.token.align[i]};L+=this.renderer.tablecell(this.inline.output(this.token.header[i]),{header:true,align:this.token.align[i]});}I+=this.renderer.tablerow(L);for(i=0;i<this.token.cells.length;
+i++){K=this.token.cells[i];L='';for(j=0;j<K.length;j++){L+=this.renderer.tablecell(this.inline.output(K[j]),{header:false,align:this.token.align[j]});}J+=this.renderer.tablerow(L);}return this.renderer.table(I,J);}case 'blockquote_start':{var J='';while(this.next().type!=='blockquote_end'){J+=this.tok();
+}return this.renderer.blockquote(J);}case 'list_start':{var J='',N=this.token.ordered;while(this.next().type!=='list_end'){J+=this.tok();}return this.renderer.list(J,N);}case 'list_item_start':{var J='';while(this.next().type!=='list_item_end'){J+=this.token.type==='text'?this.parseText():this.tok();
+}return this.renderer.listitem(J);}case 'loose_item_start':{var J='';while(this.next().type!=='list_item_end'){J+=this.tok();}return this.renderer.listitem(J);}case 'html':{var O=!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;
+return this.renderer.html(O);}case 'paragraph':{return this.renderer.paragraph(this.inline.output(this.token.text));}case 'text':{return this.renderer.paragraph(this.parseText());}}};var H=function(I,J,K){if(K||typeof J==='function'){if(!K){K=J;J=null;}J=B({}
+,H.defaults,J||{});var L=J.highlight,M,N,i=0;try{M=C.lex(I,J)}catch(e){return K(e);}N=M.length;var O=function(P){if(P){J.highlight=L;return K(P);}var Q;try{Q=G.parse(M,J);}catch(e){P=e;}J.highlight=L;return P?K(P):K(null,Q);};if(!L||L.length<3){return O();
+}delete J.highlight;if(!N){return O();}for(;i<M.length;i++){(function(P){if(P.type!=='code'){return --N||O();}return L(P.text,P.lang,function(Q,R){if(Q){return O(Q);}if(R==null||R===P.text){return --N||O();}P.text=R;P.escaped=true;--N||O();});})(M[i]);}return;
+}try{if(J){J=B({},H.defaults,J);}return G.parse(C.lex(I,J),J);}catch(e){e.message+='\nPlease report this to https://github.com/chjj/marked.';if((J||H.defaults).silent){return '<p>An error occured:</p><pre>'+A(e.message+'',true)+'</pre>';}throw e;}};H.options=H.setOptions=function(I){B(H.defaults,I);
+return H;};H.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:'lang-',smartypants:false,headerPrefix:'',renderer:new F,xhtml:false};H.Parser=G;H.parser=G.parse;
+H.Renderer=F;H.Lexer=C;H.lexer=C.lex;H.InlineLexer=E;H.inlineLexer=E.output;H.parse=H;Roo.Markdown.marked=H;})();
// Roo/dd/DragDrop.js
(function(){var A=Roo.EventManager;var B=Roo.lib.Dom;Roo.dd.DragDrop=function(id,C,D){if(id){this.init(id,C,D);}};Roo.extend(Roo.dd.DragDrop,Roo.util.Observable,{id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;
},unlock:function(){this.locked=false;},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(x,y){}
},endDrag:function(e){var A=this.getEl();var B=this.getDragEl();B.style.visibility="";this.beforeMove();A.style.visibility="hidden";Roo.dd.DDM.moveToEl(A,B);B.style.visibility="hidden";A.style.visibility="";this.afterDrag();},beforeMove:function(){},afterDrag:function(){}
,toString:function(){return ("DDProxy "+this.id);}});
// Roo/dd/DDTarget.js
-Roo.dd.DDTarget=function(id,A,B){if(id){this.initTarget(id,A,B);}if(B.listeners||B.events){Roo.dd.DragDrop.superclass.constructor.call(this,{listeners:B.listeners||{},events:B.events||{}});}};Roo.extend(Roo.dd.DDTarget,Roo.dd.DragDrop,{toString:function(){return ("DDTarget "+this.id);
+Roo.dd.DDTarget=function(id,A,B){if(id){this.initTarget(id,A,B);}if(B&&(B.listeners||B.events)){Roo.dd.DragDrop.superclass.constructor.call(this,{listeners:B.listeners||{},events:B.events||{}});}};Roo.extend(Roo.dd.DDTarget,Roo.dd.DragDrop,{toString:function(){return ("DDTarget "+this.id);
}});
// Roo/dd/ScrollManager.js
Roo.dd.ScrollManager=function(){var A=Roo.dd.DragDropMgr;var B={};var C=null;var D={};var E=function(e){C=null;H();};var F=function(){if(A.dragCurrent){A.refreshCache(A.dragCurrent.groups);}};var G=function(){if(A.dragCurrent){var K=Roo.dd.ScrollManager;if(!K.animate){if(D.el.scroll(D.dir,K.increment)){F();
}this.fireEvent("loadexception",this,o,A,o.raw.errorMsg);return;}var r=o.records,t=o.totalRecords||r.length;this.fireEvent("beforeloadadd",this,r,A,o);if(!A||A.add!==true){if(this.pruneModifiedRecords){this.modified=[];}for(var i=0,C=r.length;i<C;i++){r[i].join(this);
}if(this.snapshot){this.data=this.snapshot;delete this.snapshot;}this.data.clear();this.data.addAll(r);this.totalLength=t;this.applySort();this.fireEvent("datachanged",this);}else{this.totalLength=Math.max(t,this.data.length+r.length);this.add(r);}if(this.parent&&!Roo.isIOS&&!this.useNativeIOS&&this.parent.emptyTitle.length){var e=new Roo.data.Record({}
);e.set(this.parent.displayField,this.parent.emptyTitle);e.set(this.parent.valueField,'');this.insert(0,e);}this.fireEvent("load",this,r,A,o);if(A.callback){A.callback.call(A.scope||this,r,A,true);}},loadData:function(o,A){var r=this.reader.readRecords(o);
-this.loadRecords(r,{add:A},true);},getCount:function(){return this.data.length||0;},getTotalCount:function(){return this.totalLength||0;},getSortState:function(){return this.sortInfo;},applySort:function(){if(this.sortInfo&&!this.remoteSort){var s=this.sortInfo,f=s.field;
-var st=this.fields.get(f).sortType;var fn=function(r1,r2){var v1=st(r1.data[f]),v2=st(r2.data[f]);return v1>v2?1:(v1<v2?-1:0);};this.data.sort(s.direction,fn);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(s.direction,fn);}}},setDefaultSort:function(A,B){this.sortInfo={field:A,direction:B?B.toUpperCase():"ASC"}
-;},sort:function(A,B){var f=this.fields.get(A);if(!B){this.sortToggle[f.name]=this.sortToggle[f.name]||f.sortDir;if(this.multiSort||(this.sortInfo&&this.sortInfo.field==f.name)){B=(this.sortToggle[f.name]||"ASC").toggle("ASC","DESC");}else{B=f.sortDir;}}this.sortToggle[f.name]=B;
-this.sortInfo={field:f.name,direction:B};if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this);}else{this.load(this.lastOptions);}},each:function(fn,A){this.data.each(fn,A);},getModifiedRecords:function(){return this.modified;},createFilterFn:function(A,B,C){if(!B.exec){B=String(B);
-if(B.length==0){return false;}B=new RegExp((C===true?'':'^')+Roo.escapeRe(B),"i");}return function(r){return B.test(r.data[A]);};},sum:function(A,B,C){var rs=this.data.items,v=0;B=B||0;C=(C||C===0)?C:rs.length-1;for(var i=B;i<=C;i++){v+=(rs[i].data[A]||0);
-}return v;},filter:function(A,B,C){var fn=this.createFilterFn(A,B,C);return fn?this.filterBy(fn):this.clearFilter();},filterBy:function(fn,A){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(fn,A||this);this.fireEvent("datachanged",this);},query:function(A,B,C){var fn=this.createFilterFn(A,B,C);
-return fn?this.queryBy(fn):this.data.clone();},queryBy:function(fn,A){var B=this.snapshot||this.data;return B.filterBy(fn,A||this);},collect:function(A,B,C){var d=(C===true&&this.snapshot)?this.snapshot.items:this.data.items;var v,sv,r=[],l={};for(var i=0,D=d.length;
-i<D;i++){v=d[i].data[A];sv=String(v);if((B||!Roo.isEmpty(v))&&!l[sv]){l[sv]=true;r[r.length]=v;}}return r;},clearFilter:function(A){if(this.snapshot&&this.snapshot!=this.data){this.data=this.snapshot;delete this.snapshot;if(A!==true){this.fireEvent("datachanged",this);
-}}},afterEdit:function(A){if(this.modified.indexOf(A)==-1){this.modified.push(A);}this.fireEvent("update",this,A,Roo.data.Record.EDIT);},afterReject:function(A){this.modified.remove(A);this.fireEvent("update",this,A,Roo.data.Record.REJECT);},afterCommit:function(A){this.modified.remove(A);
-this.fireEvent("update",this,A,Roo.data.Record.COMMIT);},commitChanges:function(){var m=this.modified.slice(0);this.modified=[];for(var i=0,A=m.length;i<A;i++){m[i].commit();}},rejectChanges:function(){var m=this.modified.slice(0);this.modified=[];for(var i=0,A=m.length;
-i<A;i++){m[i].reject();}},onMetaChange:function(A,B,o){this.recordType=B;this.fields=B.prototype.fields;delete this.snapshot;this.sortInfo=A.sortInfo||this.sortInfo;this.modified=[];this.fireEvent('metachange',this,this.reader.meta);},moveIndex:function(A,B){var C=this.indexOf(A);
-var D=C+B;this.remove(A);this.insert(D,A);}});
+this.loadRecords(r,{add:A},true);},loadDataFromChildren:function(A){this.loadData(this.reader.toLoadData(A));},getCount:function(){return this.data.length||0;},getTotalCount:function(){return this.totalLength||0;},getSortState:function(){return this.sortInfo;
+},applySort:function(){if(this.sortInfo&&!this.remoteSort){var s=this.sortInfo,f=s.field;var st=this.fields.get(f).sortType;var fn=function(r1,r2){var v1=st(r1.data[f]),v2=st(r2.data[f]);return v1>v2?1:(v1<v2?-1:0);};this.data.sort(s.direction,fn);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(s.direction,fn);
+}}},setDefaultSort:function(A,B){this.sortInfo={field:A,direction:B?B.toUpperCase():"ASC"};},sort:function(A,B){var f=this.fields.get(A);if(!B){this.sortToggle[f.name]=this.sortToggle[f.name]||f.sortDir;if(this.multiSort||(this.sortInfo&&this.sortInfo.field==f.name)){B=(this.sortToggle[f.name]||"ASC").toggle("ASC","DESC");
+}else{B=f.sortDir;}}this.sortToggle[f.name]=B;this.sortInfo={field:f.name,direction:B};if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this);}else{this.load(this.lastOptions);}},each:function(fn,A){this.data.each(fn,A);},getModifiedRecords:function(){return this.modified;
+},createFilterFn:function(A,B,C){if(!B.exec){B=String(B);if(B.length==0){return false;}B=new RegExp((C===true?'':'^')+Roo.escapeRe(B),"i");}return function(r){return B.test(r.data[A]);};},sum:function(A,B,C){var rs=this.data.items,v=0;B=B||0;C=(C||C===0)?C:rs.length-1;
+for(var i=B;i<=C;i++){v+=(rs[i].data[A]||0);}return v;},filter:function(A,B,C){var fn=this.createFilterFn(A,B,C);return fn?this.filterBy(fn):this.clearFilter();},filterBy:function(fn,A){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(fn,A||this);
+this.fireEvent("datachanged",this);},query:function(A,B,C){var fn=this.createFilterFn(A,B,C);return fn?this.queryBy(fn):this.data.clone();},queryBy:function(fn,A){var B=this.snapshot||this.data;return B.filterBy(fn,A||this);},collect:function(A,B,C){var d=(C===true&&this.snapshot)?this.snapshot.items:this.data.items;
+var v,sv,r=[],l={};for(var i=0,D=d.length;i<D;i++){v=d[i].data[A];sv=String(v);if((B||!Roo.isEmpty(v))&&!l[sv]){l[sv]=true;r[r.length]=v;}}return r;},clearFilter:function(A){if(this.snapshot&&this.snapshot!=this.data){this.data=this.snapshot;delete this.snapshot;
+if(A!==true){this.fireEvent("datachanged",this);}}},afterEdit:function(A){if(this.modified.indexOf(A)==-1){this.modified.push(A);}this.fireEvent("update",this,A,Roo.data.Record.EDIT);},afterReject:function(A){this.modified.remove(A);this.fireEvent("update",this,A,Roo.data.Record.REJECT);
+},afterCommit:function(A){this.modified.remove(A);this.fireEvent("update",this,A,Roo.data.Record.COMMIT);},commitChanges:function(){var m=this.modified.slice(0);this.modified=[];for(var i=0,A=m.length;i<A;i++){m[i].commit();}},rejectChanges:function(){var m=this.modified.slice(0);
+this.modified=[];for(var i=0,A=m.length;i<A;i++){m[i].reject();}},onMetaChange:function(A,B,o){this.recordType=B;this.fields=B.prototype.fields;delete this.snapshot;this.sortInfo=A.sortInfo||this.sortInfo;this.modified=[];this.fireEvent('metachange',this,this.reader.meta);
+},moveIndex:function(A,B){var C=this.indexOf(A);var D=C+B;this.remove(A);this.insert(D,A);}});
// Roo/data/SimpleStore.js
-Roo.data.SimpleStore=function(A){Roo.data.SimpleStore.superclass.constructor.call(this,{isLocal:true,reader:new Roo.data.ArrayReader({id:A.id},Roo.data.Record.create(A.fields)),proxy:new Roo.data.MemoryProxy(A.data)});this.load();};Roo.extend(Roo.data.SimpleStore,Roo.data.Store);
-
+Roo.data.SimpleStore=function(A){Roo.data.SimpleStore.superclass.constructor.call(this,{isLocal:true,reader:typeof(A.reader)!='undefined'?A.reader:new Roo.data.ArrayReader({id:A.id},Roo.data.Record.create(A.fields)),proxy:new Roo.data.MemoryProxy(A.data)});
+this.load();};Roo.extend(Roo.data.SimpleStore,Roo.data.Store);
// Roo/data/JsonStore.js
Roo.data.JsonStore=function(c){Roo.data.JsonStore.superclass.constructor.call(this,Roo.apply(c,{proxy:!c.data?new Roo.data.HttpProxy({url:c.url}):undefined,reader:new Roo.data.JsonReader(c,c.fields)}));};Roo.extend(Roo.data.JsonStore,Roo.data.Store);
// Roo/data/Field.js
};break;case "date":cv=function(v){if(!v){return '';}if(v instanceof Date){return v;}if(C){if(C=="timestamp"){return new Date(v*1000);}return Date.parseDate(v,C);}var D=Date.parse(v);return D?new Date(D):null;};break;}this.convert=cv;}};Roo.data.Field.prototype={dateFormat:null,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC"}
;
// Roo/data/DataReader.js
-Roo.data.DataReader=function(A,B){this.meta=A;this.recordType=B instanceof Array?Roo.data.Record.create(B):B;};Roo.data.DataReader.prototype={newRow:function(d){var da={};this.recordType.prototype.fields.each(function(c){switch(c.type){case 'int':da[c.name]=0;
+Roo.data.DataReader=function(A,B){this.meta=A;this.recordType=B instanceof Array?Roo.data.Record.create(B):B;};Roo.data.DataReader.prototype={readerType:'Data',newRow:function(d){var da={};this.recordType.prototype.fields.each(function(c){switch(c.type){case 'int':da[c.name]=0;
break;case 'date':da[c.name]=new Date();break;case 'float':da[c.name]=0.0;break;case 'boolean':da[c.name]=false;break;default:da[c.name]="";break;}});return new this.recordType(Roo.apply(da,d));}};
// Roo/data/DataProxy.js
Roo.data.DataProxy=function(){this.addEvents({beforeload:true,load:true,loadexception:true});Roo.data.DataProxy.superclass.constructor.call(this);};Roo.extend(Roo.data.DataProxy,Roo.util.Observable);
}catch(e){}};}},handleResponse:function(o,A){this.trans=false;this.destroyTrans(A,true);var B;try{B=A.reader.readRecords(o);}catch(e){this.fireEvent("loadexception",this,o,A.arg,e);A.callback.call(A.scope||window,null,A.arg,false);return;}this.fireEvent("load",this,o,A.arg);
A.callback.call(A.scope||window,B,A.arg,true);},handleFailure:function(A){this.trans=false;this.destroyTrans(A,false);this.fireEvent("loadexception",this,null,A.arg);A.callback.call(A.scope||window,null,A.arg,false);}});
// Roo/data/JsonReader.js
-Roo.data.JsonReader=function(A,B){A=A||{};Roo.applyIf(A,{totalProperty:'total',successProperty:'success',root:'data',id:'id'});Roo.data.JsonReader.superclass.constructor.call(this,A,B||A.fields);};Roo.extend(Roo.data.JsonReader,Roo.data.DataReader,{metaFromRemote:false,read:function(A){var B=A.responseText;
+Roo.data.JsonReader=function(A,B){A=A||{};Roo.applyIf(A,{totalProperty:'total',successProperty:'success',root:'data',id:'id'});Roo.data.JsonReader.superclass.constructor.call(this,A,B||A.fields);};Roo.extend(Roo.data.JsonReader,Roo.data.DataReader,{readerType:'Json',metaFromRemote:false,read:function(A){var B=A.responseText;
var o=eval("("+B+")");if(!o){throw {message:"JsonReader.read: Json object not found"};}if(o.metaData){delete this.ef;this.metaFromRemote=true;this.meta=o.metaData;this.recordType=Roo.data.Record.create(o.metaData.fields);this.onMetaChange(this.meta,this.recordType,o);
}return this.readRecords(o);},onMetaChange:function(A,B,o){},simpleAccess:function(A,B){return A[B];},getJsonAccessor:function(){var re=/[\[\.]/;return function(A){try{return (re.test(A))?new Function("obj","return obj."+A):function(B){return B[A];};}catch(e){}
return Roo.emptyFn;};}(),readRecords:function(o){this.o=o;var s=this.meta,A=this.recordType,f=A?A.prototype.fields:null,fi=f?f.items:[],fl=f?f.length:0;if(!this.ef){if(s.totalProperty){this.getTotal=this.getJsonAccessor(s.totalProperty);}if(s.successProperty){this.getSuccess=this.getJsonAccessor(s.successProperty);
}this.getRoot=s.root?this.getJsonAccessor(s.root):function(p){return p;};if(s.id){var g=this.getJsonAccessor(s.id);this.getId=function(I){var r=g(I);return (r===undefined||r==="")?null:r;};}else{this.getId=function(){return null;};}this.ef=[];for(var jj=0;
jj<fl;jj++){f=fi[jj];var B=(f.mapping!==undefined&&f.mapping!==null)?f.mapping:f.name;this.ef[jj]=this.getJsonAccessor(B);}}var C=this.getRoot(o),c=C.length,D=c,E=true;if(s.totalProperty){var vt=parseInt(this.getTotal(o),10);if(!isNaN(vt)){D=vt;}}if(s.successProperty){var vs=this.getSuccess(o);
if(vs===false||vs==='false'){E=false;}}var F=[];for(var i=0;i<c;i++){var n=C[i];var G={};var id=this.getId(n);for(var j=0;j<fl;j++){f=fi[j];var v=this.ef[j](n);if(!f.convert){Roo.log('missing convert for '+f.name);Roo.log(f);continue;}G[f.name]=f.convert((v!==undefined)?v:f.defaultValue);
-}var H=new A(G,id);H.json=n;F[i]=H;}return {raw:o,success:E,records:F,totalRecords:D};}});
+}var H=new A(G,id);H.json=n;F[i]=H;}return {raw:o,success:E,records:F,totalRecords:D};},toLoadData:function(A){var B=typeof(A.data.cn)=='undefined'?[]:A.data.cn;return {data:B,total:B.length};}});
// Roo/data/XmlReader.js
-Roo.data.XmlReader=function(A,B){A=A||{};Roo.data.XmlReader.superclass.constructor.call(this,A,B||A.fields);};Roo.extend(Roo.data.XmlReader,Roo.data.DataReader,{read:function(A){var B=A.responseXML;if(!B){throw {message:"XmlReader.read: XML Document not available"}
+Roo.data.XmlReader=function(A,B){A=A||{};Roo.data.XmlReader.superclass.constructor.call(this,A,B||A.fields);};Roo.extend(Roo.data.XmlReader,Roo.data.DataReader,{readerType:'Xml',read:function(A){var B=A.responseXML;if(!B){throw {message:"XmlReader.read: XML Document not available"}
;}return this.readRecords(B);},readRecords:function(A){this.xmlData=A;var B=A.documentElement||A;var q=Roo.DomQuery;var C=this.recordType,D=C.prototype.fields;var E=this.meta.id;var F=0,G=true;if(this.meta.totalRecords){F=q.selectNumber(this.meta.totalRecords,B,0);
}if(this.meta.success){var sv=q.selectValue(this.meta.success,B,true);G=sv!==false&&sv!=='false';}var H=[];var ns=q.select(this.meta.record,B);for(var i=0,I=ns.length;i<I;i++){var n=ns[i];var J={};var id=E?q.selectValue(E,n):undefined;for(var j=0,K=D.length;
j<K;j++){var f=D.items[j];var v=q.selectValue(f.mapping||f.name,n,f.defaultValue);v=f.convert(v);J[f.name]=v;}var L=new C(J,id);L.node=n;H[H.length]=L;}return {success:G,records:H,totalRecords:F||H.length};}});
// Roo/data/ArrayReader.js
Roo.data.ArrayReader=function(A,B){Roo.data.ArrayReader.superclass.constructor.call(this,A,B||A.fields);};Roo.extend(Roo.data.ArrayReader,Roo.data.JsonReader,{readRecords:function(o){var A=this.meta?this.meta.id:null;var B=this.recordType,C=B.prototype.fields;
var D=[];var E=o;for(var i=0;i<E.length;i++){var n=E[i];var F={};var id=((A||A===0)&&n[A]!==undefined&&n[A]!==""?n[A]:null);for(var j=0,G=C.length;j<G;j++){var f=C.items[j];var k=f.mapping!==undefined&&f.mapping!==null?f.mapping:j;var v=n[k]!==undefined?n[k]:f.defaultValue;
-v=f.convert(v);F[f.name]=v;}var H=new B(F,id);H.json=n;D[D.length]=H;}return {records:D,totalRecords:D.length};}});
+v=f.convert(v);F[f.name]=v;}var H=new B(F,id);H.json=n;D[D.length]=H;}return {records:D,totalRecords:D.length};},toLoadData:function(A){return typeof(A.data.cn)=='undefined'?[]:A.data.cn;}});
// Roo/data/Tree.js
Roo.data.Tree=function(A){this.nodeHash={};this.root=null;if(A){this.setRootNode(A);}this.addEvents({"append":true,"remove":true,"move":true,"insert":true,"beforeappend":true,"beforeremove":true,"beforemove":true,"beforeinsert":true});Roo.data.Tree.superclass.constructor.call(this);
};Roo.extend(Roo.data.Tree,Roo.util.Observable,{pathSeparator:"/",proxyNodeEvent:function(){return this.fireEvent.apply(this,arguments);},getRootNode:function(){return this.root;},setRootNode:function(A){this.root=A;A.ownerTree=this;A.isRoot=true;this.registerNode(A);
if(!this.el){var B=this.getAutoCreate();this.el=ct.createChild(B,A);}this.el.child('img').dom.setAttribute('src',Roo.BLANK_IMAGE_URL);this.el.child('div').dom.innerHTML=this.cb.renderer?this.cb.renderer(this.data):String.format('{0}',this.data[this.displayField]);
this.el.child('div').dom.setAttribute('qtip',String.format('{0}',this.data[this.tipField]));this.el.child('img').on('click',this.remove,this);},remove:function(){if(this.cb.disabled){return;}if(false!==this.cb.fireEvent('beforeremove',this.cb,this)){this.cb.items.remove(this);
this.el.child('img').un('click',this.remove,this);this.el.remove();this.cb.updateHiddenEl();this.cb.fireEvent('remove',this.cb,this);}}});
+// Roo/form/ComboNested.js
+Roo.form.ComboNested=function(A){Roo.form.ComboCheck.superclass.constructor.call(this,A);var B=['hiddenName','displayField','valueField'];var _t=this;Roo.each(B,function(e){if((typeof(_t[e])=='undefined')||!_t[e].length){throw "Roo.form.ComboNested : missing value for: "+e;
+}});};Roo.extend(Roo.form.ComboNested,Roo.form.ComboBox,{maxColumns:3,list:null,innerLists:null,views:null,stores:null,loadingChildren:false,onRender:function(ct,A){Roo.form.ComboBox.superclass.onRender.call(this,ct,A);if(this.hiddenName){this.hiddenField=this.el.insertSibling({tag:'input',type:'hidden',name:this.hiddenName,id:(this.hiddenId||this.hiddenName)}
+,'before',true);this.hiddenField.value=this.hiddenValue!==undefined?this.hiddenValue:this.value!==undefined?this.value:'';this.el.dom.removeAttribute('name');}if(Roo.isGecko){this.el.dom.setAttribute('autocomplete','off');}var B='x-combo-list';this.list=new Roo.Layer({shadow:this.shadow,cls:[B,this.listClass].join(' '),constrain:false}
+);var lw=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setWidth(lw);this.list.swallowEvent('mousewheel');this.assetHeight=0;if(this.title){this.header=this.list.createChild({cls:B+'-hd',html:this.title});this.assetHeight+=this.header.getHeight();
+}this.innerLists=[];this.views=[];this.stores=[];for(var i=0;i<this.maxColumns;i++){this.onRenderList(B,i);}this.footer=this.list.createChild({cls:B+'-ft'});this.pageTb=new Roo.Toolbar(this.footer);var C=this;this.pageTb.add({text:'Done',handler:function(){C.collapse();
+}});if(this.allowBlank&&!this.disableClear){this.pageTb.add(new Roo.Toolbar.Fill(),{cls:'x-btn-icon x-btn-clear',text:' ',handler:function(){C.collapse();C.clearValue();C.onSelect(false,-1);}});}if(this.footer){this.assetHeight+=this.footer.getHeight();
+}},onRenderList:function(A,i){var lw=Math.floor(((this.listWidth*this.maxColumns||Math.max(this.wrap.getWidth(),this.minListWidth))-this.list.getFrameWidth('lr'))/this.maxColumns);this.list.setWidth(lw);var il=this.innerLists[i]=this.list.createChild({cls:A+'-inner'}
+);il.setWidth(lw);il.setStyle({'overflow-x':'hidden'});if(!this.tpl){this.tpl=new Roo.Template({html:'<div class="'+A+'-item '+A+'-item-{cn:this.isEmpty}">{'+this.displayField+'}</div>',isEmpty:function(D,E){var dl=typeof(D.data)!='undefined'?D.data.length:D.length;
+return dl?'has-children':'no-children'}});}var B=this.store;if(i>0){B=new Roo.data.SimpleStore({reader:this.store.reader,data:[]});}this.stores[i]=B;var C=this.views[i]=new Roo.View(il,this.tpl,{singleSelect:true,store:B,selectedClass:this.selectedClass});
+C.getEl().setWidth(lw);C.getEl().setStyle({position:i<1?'relative':'absolute',top:0,left:(i*lw)+'px',display:i>0?'none':'block'});C.on('selectionchange',this.onSelectChange,this,{list:i});C.on('dblclick',this.onDoubleClick,this,{list:i});B.on('beforeload',this.onBeforeLoad,this);
+B.on('load',this.onLoad,this,{list:i});B.on('loadexception',this.onLoadException,this);},restrictHeight:function(){var mh=0;Roo.each(this.innerLists,function(il,i){var el=this.views[i].getEl();el.dom.style.height='';var A=el.dom;var h=Math.max(il.clientHeight,il.offsetHeight,il.scrollHeight);
+mh=Math.max(h,mh);if(i<1){el.setHeight(h<this.maxHeight?'auto':this.maxHeight);il.setHeight(h<this.maxHeight?'auto':this.maxHeight);}},this);this.list.beginUpdate();this.list.setHeight(mh+this.list.getFrameWidth('tb')+this.assetHeight);this.list.alignTo(this.el,this.listAlign);
+this.list.endUpdate();},onBeforeLoad:function(){if(!this.hasFocus){return;}this.innerLists[0].update(this.loadingText?'<div class="loading-indicator">'+this.loadingText+'</div>':'');this.restrictHeight();this.selectedIndex=-1;},onLoad:function(a,b,c,d){if(!this.loadingChildren){for(var i=1;
+i<this.views.length;i++){this.views[i].getEl().setStyle({display:'none'});}var lw=Math.floor(((this.listWidth*this.maxColumns||Math.max(this.wrap.getWidth(),this.minListWidth))-this.list.getFrameWidth('lr'))/this.maxColumns);this.list.setWidth(lw);}if(!this.hasFocus){return;
+}if(this.store.getCount()>0){this.expand();this.restrictHeight();}else{this.onEmptyResults();}if(!this.loadingChildren){this.selectActive();}},onLoadException:function(){this.collapse();Roo.log(this.store.reader.jsonData);if(this.store&&typeof(this.store.reader.jsonData.errorMsg)!='undefined'){Roo.MessageBox.alert("Error loading",this.store.reader.jsonData.errorMsg);
+}},cleanLeadingSpace:function(e){},onSelectChange:function(A,B,C){var ix=A.getSelectedIndexes();if(C.list>this.maxColumns-2){if(A.store.getCount()<1){this.views[C.list].getEl().setStyle({display:'none'});}else{if(ix.length){this.setFromData(A.store.getAt(ix[0]).data);
+}}return;}if(!ix.length){var D=this.stores[C.list+1];D.data.clear();return;}var E=A.store.getAt(ix[0]);this.setFromData(E.data);this.fireEvent('select',this,E,ix[0]);var lw=Math.floor(((this.listWidth*this.maxColumns||Math.max(this.wrap.getWidth(),this.minListWidth))-this.list.getFrameWidth('lr'))/this.maxColumns);
+this.loadingChildren=true;this.stores[C.list+1].loadDataFromChildren(E);this.loadingChildren=false;var dl=this.stores[C.list+1].getTotalCount();this.views[C.list+1].getEl().setHeight(this.innerLists[0].getHeight());this.views[C.list+1].getEl().setStyle({display:dl?'block':'none'}
+);for(var i=C.list+2;i<this.views.length;i++){this.views[i].getEl().setStyle({display:'none'});}this.innerLists[C.list+1].setHeight(this.innerLists[0].getHeight());this.list.setWidth(lw*(C.list+(dl?2:1)));if(this.isLoading){}},onDoubleClick:function(){this.collapse();
+},recordToStack:function(A,B,C,D){var E=new Roo.data.SimpleStore({reader:this.store.reader,data:[]});var F=this;var G=false;var H=false;if(A.getCount()<1){return false;}A.each(function(r){if(r.data[B]==C){G=r;H=r;return false;}if(r.data.cn&&r.data.cn.length){E.loadDataFromChildren(r);
+var I=F.recordToStack(E,B,C,D);if(I!==false){G=I;H=r;return false;}}return true;});if(G==false){return false}D.unshift(H);return G;},selectActive:function(){var A=[];this.recordToStack(this.store,this.valueField,this.getValue(),A);for(var i=0;i<A.length;i++){this.views[i].select(A[i].store.indexOf(A[i]),false,false);
+}}});
// Roo/form/Checkbox.js
Roo.form.Checkbox=function(A){Roo.form.Checkbox.superclass.constructor.call(this,A);this.addEvents({check:true});};Roo.extend(Roo.form.Checkbox,Roo.form.Field,{focusClass:undefined,fieldClass:"x-form-field",checked:false,defaultAutoCreate:{tag:"input",type:'hidden',autocomplete:"off"}
,boxLabel:"",inputValue:'1',valueOff:'0',actionMode:'viewEl',itemCls:'x-menu-check-item x-form-item',groupClass:'x-menu-group-item',inputType:'hidden',inSetChecked:false,inputElement:false,basedOn:false,isFormField:true,onResize:function(){Roo.form.Checkbox.superclass.onResize.apply(this,arguments);
var r = this.reader.readRecords(o);
this.loadRecords(r, {add: append}, true);
},
+
+ /**
+ * using 'cn' the nested child reader read the child array into it's child stores.
+ * @param {Object} rec The record with a 'children array
+ */
+ loadDataFromChildren : function(rec)
+ {
+ this.loadData(this.reader.toLoadData(rec));
+ },
+
/**
* Gets the number of cached records.
* Small helper class to make creating Stores from Array data easier.
* @cfg {Number} id The array index of the record id. Leave blank to auto generate ids.
* @cfg {Array} fields An array of field definition objects, or field name strings.
+ * @cfg {Object} an existing reader (eg. copied from another store)
* @cfg {Array} data The multi-dimensional array of data
* @constructor
* @param {Object} config
*/
-Roo.data.SimpleStore = function(config){
+Roo.data.SimpleStore = function(config)
+{
Roo.data.SimpleStore.superclass.constructor.call(this, {
isLocal : true,
- reader: new Roo.data.ArrayReader({
+ reader: typeof(config.reader) != 'undefined' ? config.reader : new Roo.data.ArrayReader({
id: config.id
},
Roo.data.Record.create(config.fields)
};
Roo.data.DataReader.prototype = {
+
+
+ readerType : 'Data',
/**
* Create an empty record
* @param {Object} data (optional) - overlay some values
return new this.recordType(Roo.apply(da, d));
}
+
};/*
* Based on:
* Ext JS Library 1.1.1
};
Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, {
+ readerType : 'Json',
+
/**
* @prop {Boolean} metaFromRemote - if the meta data was loaded from the remote source.
* Used by Store query builder to append _requestMeta to params.
records : records,
totalRecords : totalRecords
};
+ },
+ // used when loading children.. @see loadDataFromChildren
+ toLoadData: function(rec)
+ {
+ // expect rec just to be an array.. eg [a,b,c, [...] << cn ]
+ var data = typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn;
+ return { data : data, total : data.length };
+
}
});/*
* Based on:
*
* created using {@link Roo.data.Record#create}.
*/
-Roo.data.ArrayReader = function(meta, recordType){
-
-
+Roo.data.ArrayReader = function(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} A data block which is used by an {@link Roo.data.Store} object as
* a cache of Roo.data.Records.
*/
- readRecords : function(o){
+ readRecords : function(o)
+ {
var sid = this.meta ? this.meta.id : null;
var recordType = this.recordType, fields = recordType.prototype.fields;
var records = [];
var root = o;
- for(var i = 0; i < root.length; i++){
- var n = root[i];
- var values = {};
- var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null);
- for(var j = 0, jlen = fields.length; j < jlen; j++){
- var f = fields.items[j];
- var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j;
- var v = n[k] !== undefined ? n[k] : f.defaultValue;
- v = f.convert(v);
- values[f.name] = v;
- }
- var record = new recordType(values, id);
- record.json = n;
- records[records.length] = record;
+ for(var i = 0; i < root.length; i++){
+ var n = root[i];
+ var values = {};
+ var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null);
+ for(var j = 0, jlen = fields.length; j < jlen; j++){
+ var f = fields.items[j];
+ var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j;
+ var v = n[k] !== undefined ? n[k] : f.defaultValue;
+ v = f.convert(v);
+ values[f.name] = v;
}
- return {
- records : records,
- totalRecords : records.length
- };
+ var record = new recordType(values, id);
+ record.json = n;
+ records[records.length] = record;
+ }
+ return {
+ records : records,
+ totalRecords : records.length
+ };
+ },
+ // used when loading children.. @see loadDataFromChildren
+ toLoadData: function(rec)
+ {
+ // expect rec just to be an array.. eg [a,b,c, [...] << cn ]
+ return typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn;
+
}
+
+
});/*
* - LGPL
* *
}this.fireEvent("loadexception",this,o,A,o.raw.errorMsg);return;}var r=o.records,t=o.totalRecords||r.length;this.fireEvent("beforeloadadd",this,r,A,o);if(!A||A.add!==true){if(this.pruneModifiedRecords){this.modified=[];}for(var i=0,C=r.length;i<C;i++){r[i].join(this);
}if(this.snapshot){this.data=this.snapshot;delete this.snapshot;}this.data.clear();this.data.addAll(r);this.totalLength=t;this.applySort();this.fireEvent("datachanged",this);}else{this.totalLength=Math.max(t,this.data.length+r.length);this.add(r);}if(this.parent&&!Roo.isIOS&&!this.useNativeIOS&&this.parent.emptyTitle.length){var e=new Roo.data.Record({}
);e.set(this.parent.displayField,this.parent.emptyTitle);e.set(this.parent.valueField,'');this.insert(0,e);}this.fireEvent("load",this,r,A,o);if(A.callback){A.callback.call(A.scope||this,r,A,true);}},loadData:function(o,A){var r=this.reader.readRecords(o);
-this.loadRecords(r,{add:A},true);},getCount:function(){return this.data.length||0;},getTotalCount:function(){return this.totalLength||0;},getSortState:function(){return this.sortInfo;},applySort:function(){if(this.sortInfo&&!this.remoteSort){var s=this.sortInfo,f=s.field;
-var st=this.fields.get(f).sortType;var fn=function(r1,r2){var v1=st(r1.data[f]),v2=st(r2.data[f]);return v1>v2?1:(v1<v2?-1:0);};this.data.sort(s.direction,fn);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(s.direction,fn);}}},setDefaultSort:function(A,B){this.sortInfo={field:A,direction:B?B.toUpperCase():"ASC"}
-;},sort:function(A,B){var f=this.fields.get(A);if(!B){this.sortToggle[f.name]=this.sortToggle[f.name]||f.sortDir;if(this.multiSort||(this.sortInfo&&this.sortInfo.field==f.name)){B=(this.sortToggle[f.name]||"ASC").toggle("ASC","DESC");}else{B=f.sortDir;}}this.sortToggle[f.name]=B;
-this.sortInfo={field:f.name,direction:B};if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this);}else{this.load(this.lastOptions);}},each:function(fn,A){this.data.each(fn,A);},getModifiedRecords:function(){return this.modified;},createFilterFn:function(A,B,C){if(!B.exec){B=String(B);
-if(B.length==0){return false;}B=new RegExp((C===true?'':'^')+Roo.escapeRe(B),"i");}return function(r){return B.test(r.data[A]);};},sum:function(A,B,C){var rs=this.data.items,v=0;B=B||0;C=(C||C===0)?C:rs.length-1;for(var i=B;i<=C;i++){v+=(rs[i].data[A]||0);
-}return v;},filter:function(A,B,C){var fn=this.createFilterFn(A,B,C);return fn?this.filterBy(fn):this.clearFilter();},filterBy:function(fn,A){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(fn,A||this);this.fireEvent("datachanged",this);},query:function(A,B,C){var fn=this.createFilterFn(A,B,C);
-return fn?this.queryBy(fn):this.data.clone();},queryBy:function(fn,A){var B=this.snapshot||this.data;return B.filterBy(fn,A||this);},collect:function(A,B,C){var d=(C===true&&this.snapshot)?this.snapshot.items:this.data.items;var v,sv,r=[],l={};for(var i=0,D=d.length;
-i<D;i++){v=d[i].data[A];sv=String(v);if((B||!Roo.isEmpty(v))&&!l[sv]){l[sv]=true;r[r.length]=v;}}return r;},clearFilter:function(A){if(this.snapshot&&this.snapshot!=this.data){this.data=this.snapshot;delete this.snapshot;if(A!==true){this.fireEvent("datachanged",this);
-}}},afterEdit:function(A){if(this.modified.indexOf(A)==-1){this.modified.push(A);}this.fireEvent("update",this,A,Roo.data.Record.EDIT);},afterReject:function(A){this.modified.remove(A);this.fireEvent("update",this,A,Roo.data.Record.REJECT);},afterCommit:function(A){this.modified.remove(A);
-this.fireEvent("update",this,A,Roo.data.Record.COMMIT);},commitChanges:function(){var m=this.modified.slice(0);this.modified=[];for(var i=0,A=m.length;i<A;i++){m[i].commit();}},rejectChanges:function(){var m=this.modified.slice(0);this.modified=[];for(var i=0,A=m.length;
-i<A;i++){m[i].reject();}},onMetaChange:function(A,B,o){this.recordType=B;this.fields=B.prototype.fields;delete this.snapshot;this.sortInfo=A.sortInfo||this.sortInfo;this.modified=[];this.fireEvent('metachange',this,this.reader.meta);},moveIndex:function(A,B){var C=this.indexOf(A);
-var D=C+B;this.remove(A);this.insert(D,A);}});
+this.loadRecords(r,{add:A},true);},loadDataFromChildren:function(A){this.loadData(this.reader.toLoadData(A));},getCount:function(){return this.data.length||0;},getTotalCount:function(){return this.totalLength||0;},getSortState:function(){return this.sortInfo;
+},applySort:function(){if(this.sortInfo&&!this.remoteSort){var s=this.sortInfo,f=s.field;var st=this.fields.get(f).sortType;var fn=function(r1,r2){var v1=st(r1.data[f]),v2=st(r2.data[f]);return v1>v2?1:(v1<v2?-1:0);};this.data.sort(s.direction,fn);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(s.direction,fn);
+}}},setDefaultSort:function(A,B){this.sortInfo={field:A,direction:B?B.toUpperCase():"ASC"};},sort:function(A,B){var f=this.fields.get(A);if(!B){this.sortToggle[f.name]=this.sortToggle[f.name]||f.sortDir;if(this.multiSort||(this.sortInfo&&this.sortInfo.field==f.name)){B=(this.sortToggle[f.name]||"ASC").toggle("ASC","DESC");
+}else{B=f.sortDir;}}this.sortToggle[f.name]=B;this.sortInfo={field:f.name,direction:B};if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this);}else{this.load(this.lastOptions);}},each:function(fn,A){this.data.each(fn,A);},getModifiedRecords:function(){return this.modified;
+},createFilterFn:function(A,B,C){if(!B.exec){B=String(B);if(B.length==0){return false;}B=new RegExp((C===true?'':'^')+Roo.escapeRe(B),"i");}return function(r){return B.test(r.data[A]);};},sum:function(A,B,C){var rs=this.data.items,v=0;B=B||0;C=(C||C===0)?C:rs.length-1;
+for(var i=B;i<=C;i++){v+=(rs[i].data[A]||0);}return v;},filter:function(A,B,C){var fn=this.createFilterFn(A,B,C);return fn?this.filterBy(fn):this.clearFilter();},filterBy:function(fn,A){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(fn,A||this);
+this.fireEvent("datachanged",this);},query:function(A,B,C){var fn=this.createFilterFn(A,B,C);return fn?this.queryBy(fn):this.data.clone();},queryBy:function(fn,A){var B=this.snapshot||this.data;return B.filterBy(fn,A||this);},collect:function(A,B,C){var d=(C===true&&this.snapshot)?this.snapshot.items:this.data.items;
+var v,sv,r=[],l={};for(var i=0,D=d.length;i<D;i++){v=d[i].data[A];sv=String(v);if((B||!Roo.isEmpty(v))&&!l[sv]){l[sv]=true;r[r.length]=v;}}return r;},clearFilter:function(A){if(this.snapshot&&this.snapshot!=this.data){this.data=this.snapshot;delete this.snapshot;
+if(A!==true){this.fireEvent("datachanged",this);}}},afterEdit:function(A){if(this.modified.indexOf(A)==-1){this.modified.push(A);}this.fireEvent("update",this,A,Roo.data.Record.EDIT);},afterReject:function(A){this.modified.remove(A);this.fireEvent("update",this,A,Roo.data.Record.REJECT);
+},afterCommit:function(A){this.modified.remove(A);this.fireEvent("update",this,A,Roo.data.Record.COMMIT);},commitChanges:function(){var m=this.modified.slice(0);this.modified=[];for(var i=0,A=m.length;i<A;i++){m[i].commit();}},rejectChanges:function(){var m=this.modified.slice(0);
+this.modified=[];for(var i=0,A=m.length;i<A;i++){m[i].reject();}},onMetaChange:function(A,B,o){this.recordType=B;this.fields=B.prototype.fields;delete this.snapshot;this.sortInfo=A.sortInfo||this.sortInfo;this.modified=[];this.fireEvent('metachange',this,this.reader.meta);
+},moveIndex:function(A,B){var C=this.indexOf(A);var D=C+B;this.remove(A);this.insert(D,A);}});
// Roo/data/SimpleStore.js
-Roo.data.SimpleStore=function(A){Roo.data.SimpleStore.superclass.constructor.call(this,{isLocal:true,reader:new Roo.data.ArrayReader({id:A.id},Roo.data.Record.create(A.fields)),proxy:new Roo.data.MemoryProxy(A.data)});this.load();};Roo.extend(Roo.data.SimpleStore,Roo.data.Store);
-
+Roo.data.SimpleStore=function(A){Roo.data.SimpleStore.superclass.constructor.call(this,{isLocal:true,reader:typeof(A.reader)!='undefined'?A.reader:new Roo.data.ArrayReader({id:A.id},Roo.data.Record.create(A.fields)),proxy:new Roo.data.MemoryProxy(A.data)});
+this.load();};Roo.extend(Roo.data.SimpleStore,Roo.data.Store);
// Roo/data/JsonStore.js
Roo.data.JsonStore=function(c){Roo.data.JsonStore.superclass.constructor.call(this,Roo.apply(c,{proxy:!c.data?new Roo.data.HttpProxy({url:c.url}):undefined,reader:new Roo.data.JsonReader(c,c.fields)}));};Roo.extend(Roo.data.JsonStore,Roo.data.Store);
// Roo/data/Field.js
};break;case "date":cv=function(v){if(!v){return '';}if(v instanceof Date){return v;}if(C){if(C=="timestamp"){return new Date(v*1000);}return Date.parseDate(v,C);}var D=Date.parse(v);return D?new Date(D):null;};break;}this.convert=cv;}};Roo.data.Field.prototype={dateFormat:null,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC"}
;
// Roo/data/DataReader.js
-Roo.data.DataReader=function(A,B){this.meta=A;this.recordType=B instanceof Array?Roo.data.Record.create(B):B;};Roo.data.DataReader.prototype={newRow:function(d){var da={};this.recordType.prototype.fields.each(function(c){switch(c.type){case 'int':da[c.name]=0;
+Roo.data.DataReader=function(A,B){this.meta=A;this.recordType=B instanceof Array?Roo.data.Record.create(B):B;};Roo.data.DataReader.prototype={readerType:'Data',newRow:function(d){var da={};this.recordType.prototype.fields.each(function(c){switch(c.type){case 'int':da[c.name]=0;
break;case 'date':da[c.name]=new Date();break;case 'float':da[c.name]=0.0;break;case 'boolean':da[c.name]=false;break;default:da[c.name]="";break;}});return new this.recordType(Roo.apply(da,d));}};
// Roo/data/DataProxy.js
Roo.data.DataProxy=function(){this.addEvents({beforeload:true,load:true,loadexception:true});Roo.data.DataProxy.superclass.constructor.call(this);};Roo.extend(Roo.data.DataProxy,Roo.util.Observable);
}catch(e){}};}},handleResponse:function(o,A){this.trans=false;this.destroyTrans(A,true);var B;try{B=A.reader.readRecords(o);}catch(e){this.fireEvent("loadexception",this,o,A.arg,e);A.callback.call(A.scope||window,null,A.arg,false);return;}this.fireEvent("load",this,o,A.arg);
A.callback.call(A.scope||window,B,A.arg,true);},handleFailure:function(A){this.trans=false;this.destroyTrans(A,false);this.fireEvent("loadexception",this,null,A.arg);A.callback.call(A.scope||window,null,A.arg,false);}});
// Roo/data/JsonReader.js
-Roo.data.JsonReader=function(A,B){A=A||{};Roo.applyIf(A,{totalProperty:'total',successProperty:'success',root:'data',id:'id'});Roo.data.JsonReader.superclass.constructor.call(this,A,B||A.fields);};Roo.extend(Roo.data.JsonReader,Roo.data.DataReader,{metaFromRemote:false,read:function(A){var B=A.responseText;
+Roo.data.JsonReader=function(A,B){A=A||{};Roo.applyIf(A,{totalProperty:'total',successProperty:'success',root:'data',id:'id'});Roo.data.JsonReader.superclass.constructor.call(this,A,B||A.fields);};Roo.extend(Roo.data.JsonReader,Roo.data.DataReader,{readerType:'Json',metaFromRemote:false,read:function(A){var B=A.responseText;
var o=eval("("+B+")");if(!o){throw {message:"JsonReader.read: Json object not found"};}if(o.metaData){delete this.ef;this.metaFromRemote=true;this.meta=o.metaData;this.recordType=Roo.data.Record.create(o.metaData.fields);this.onMetaChange(this.meta,this.recordType,o);
}return this.readRecords(o);},onMetaChange:function(A,B,o){},simpleAccess:function(A,B){return A[B];},getJsonAccessor:function(){var re=/[\[\.]/;return function(A){try{return (re.test(A))?new Function("obj","return obj."+A):function(B){return B[A];};}catch(e){}
return Roo.emptyFn;};}(),readRecords:function(o){this.o=o;var s=this.meta,A=this.recordType,f=A?A.prototype.fields:null,fi=f?f.items:[],fl=f?f.length:0;if(!this.ef){if(s.totalProperty){this.getTotal=this.getJsonAccessor(s.totalProperty);}if(s.successProperty){this.getSuccess=this.getJsonAccessor(s.successProperty);
}this.getRoot=s.root?this.getJsonAccessor(s.root):function(p){return p;};if(s.id){var g=this.getJsonAccessor(s.id);this.getId=function(I){var r=g(I);return (r===undefined||r==="")?null:r;};}else{this.getId=function(){return null;};}this.ef=[];for(var jj=0;
jj<fl;jj++){f=fi[jj];var B=(f.mapping!==undefined&&f.mapping!==null)?f.mapping:f.name;this.ef[jj]=this.getJsonAccessor(B);}}var C=this.getRoot(o),c=C.length,D=c,E=true;if(s.totalProperty){var vt=parseInt(this.getTotal(o),10);if(!isNaN(vt)){D=vt;}}if(s.successProperty){var vs=this.getSuccess(o);
if(vs===false||vs==='false'){E=false;}}var F=[];for(var i=0;i<c;i++){var n=C[i];var G={};var id=this.getId(n);for(var j=0;j<fl;j++){f=fi[j];var v=this.ef[j](n);if(!f.convert){Roo.log('missing convert for '+f.name);Roo.log(f);continue;}G[f.name]=f.convert((v!==undefined)?v:f.defaultValue);
-}var H=new A(G,id);H.json=n;F[i]=H;}return {raw:o,success:E,records:F,totalRecords:D};}});
+}var H=new A(G,id);H.json=n;F[i]=H;}return {raw:o,success:E,records:F,totalRecords:D};},toLoadData:function(A){var B=typeof(A.data.cn)=='undefined'?[]:A.data.cn;return {data:B,total:B.length};}});
// Roo/data/ArrayReader.js
Roo.data.ArrayReader=function(A,B){Roo.data.ArrayReader.superclass.constructor.call(this,A,B||A.fields);};Roo.extend(Roo.data.ArrayReader,Roo.data.JsonReader,{readRecords:function(o){var A=this.meta?this.meta.id:null;var B=this.recordType,C=B.prototype.fields;
var D=[];var E=o;for(var i=0;i<E.length;i++){var n=E[i];var F={};var id=((A||A===0)&&n[A]!==undefined&&n[A]!==""?n[A]:null);for(var j=0,G=C.length;j<G;j++){var f=C.items[j];var k=f.mapping!==undefined&&f.mapping!==null?f.mapping:j;var v=n[k]!==undefined?n[k]:f.defaultValue;
-v=f.convert(v);F[f.name]=v;}var H=new B(F,id);H.json=n;D[D.length]=H;}return {records:D,totalRecords:D.length};}});
+v=f.convert(v);F[f.name]=v;}var H=new B(F,id);H.json=n;D[D.length]=H;}return {records:D,totalRecords:D.length};},toLoadData:function(A){return typeof(A.data.cn)=='undefined'?[]:A.data.cn;}});
// Roo/bootstrap/ComboBox.js
Roo.bootstrap.ComboBox=function(A){Roo.bootstrap.ComboBox.superclass.constructor.call(this,A);this.addEvents({'expand':true,'collapse':true,'beforeselect':true,'select':true,'beforequery':true,'add':true,'edit':true,'remove':true,'afterremove':true,'specialfilter':true,'tick':true,'touchviewdisplay':true}
);this.item=[];this.tickItems=[];this.selectedIndex=-1;if(this.mode=='local'){if(A.queryDelay===undefined){this.queryDelay=10;}if(A.minChars===undefined){this.minChars=0;}}};Roo.extend(Roo.bootstrap.ComboBox,Roo.bootstrap.TriggerField,{listWidth:undefined,displayField:undefined,valueField:undefined,modalTitle:'',hiddenName:undefined,listClass:'',selectedClass:'active',shadow:'sides',listAlign:'tl-bl?',maxHeight:300,triggerAction:'query',minChars:4,typeAhead:false,queryDelay:500,pageSize:0,selectOnFocus:false,queryParam:'query',loadingText:'Loading...',resizable:false,handleHeight:8,editable:true,allQuery:'',mode:'remote',minListWidth:70,forceSelection:false,typeAheadDelay:250,valueNotFoundText:undefined,blockFocus:false,disableClear:false,alwaysQuery:false,multiple:false,invalidClass:"has-warning",validClass:"has-success",specialFilter:false,mobileTouchView:true,useNativeIOS:false,mobile_restrict_height:false,ios_options:false,addicon:false,editicon:false,page:0,hasQuery:false,append:false,loadNext:false,autoFocus:true,tickable:false,btnPosition:'right',triggerList:true,showToggleBtn:true,animate:true,emptyResultText:'Empty',triggerText:'Select',emptyTitle:'',getAutoCreate:function(){var A=false;
* @return {String} The HTML fragment
*/
applyTemplate : function(values){
+ Roo.log(["applyTemplate", values]);
try {
if(this.compiled){
var ls = this.listeners, scope, len = ls.length;
if(len > 0){
this.firing = true;
- var args = Array.prototype.slice.call(arguments, 0);
+
for(var i = 0; i < len; i++){
- var l = ls[i];
- if(l.fireFn.apply(l.scope||this.obj||window, arguments) === false){
+ var args = Array.prototype.slice.call(arguments, 0);
+ var l = ls[i];
+ args.push(l.options);
+ if(l.fireFn.apply(l.scope||this.obj||window, args) === false){
this.firing = false;
return false;
}
//
(function() {
+ /**
+ * eval:var:escape
+ * eval:var:unescape
+ * eval:var:replace
+ */
+
+ /**
+ * Helpers
+ */
+
+ var escape = function (html, encode) {
+ return html
+ .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&')
+ .replace(/</g, '<')
+ .replace(/>/g, '>')
+ .replace(/"/g, '"')
+ .replace(/'/g, ''');
+ }
+
+ var unescape = function (html) {
+ // explicitly match decimal, hex, and named HTML entities
+ return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) {
+ n = n.toLowerCase();
+ if (n === 'colon') { return ':'; }
+ if (n.charAt(0) === '#') {
+ return n.charAt(1) === 'x'
+ ? String.fromCharCode(parseInt(n.substring(2), 16))
+ : String.fromCharCode(+n.substring(1));
+ }
+ return '';
+ });
+ }
+
+ var replace = function (regex, opt) {
+ regex = regex.source;
+ opt = opt || '';
+ return function self(name, val) {
+ if (!name) { return new RegExp(regex, opt); }
+ val = val.source || val;
+ val = val.replace(/(^|[^\[])\^/g, '$1');
+ regex = regex.replace(name, val);
+ return self;
+ };
+ }
+
+
+ /**
+ * eval:var:noop
+ */
+ var noop = function () {}
+ noop.exec = noop;
+
+ /**
+ * eval:var:merge
+ */
+ var merge = function (obj) {
+ var i = 1
+ , target
+ , key;
+
+ for (; i < arguments.length; i++) {
+ target = arguments[i];
+ for (key in target) {
+ if (Object.prototype.hasOwnProperty.call(target, key)) {
+ obj[key] = target[key];
+ }
+ }
+ }
+
+ return obj;
+ }
+
+
/**
* Block-Level Grammar
*/
+
+
+
var block = {
newline: /^\n+/,
code: /^( {4}[^\n]+\n*)+/,
* Block Lexer
*/
- function Lexer(options) {
+ var Lexer = function (options) {
this.tokens = [];
this.tokens.links = {};
this.options = options || marked.defaults;
* Inline Lexer & Compiler
*/
- function InlineLexer(links, options) {
+ var InlineLexer = function (links, options) {
this.options = options || marked.defaults;
this.links = links;
this.rules = inline.normal;
* Renderer
*/
- function Renderer(options) {
+ /**
+ * eval:var:Renderer
+ */
+
+ var Renderer = function (options) {
this.options = options || {};
}
/**
* Parsing & Compiling
*/
+ /**
+ * eval:var:Parser
+ */
- function Parser(options) {
+ var Parser= function (options) {
this.tokens = [];
this.token = null;
this.options = options || marked.defaults;
}
}
};
-
- /**
- * Helpers
- */
-
- function escape(html, encode) {
- return html
- .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&')
- .replace(/</g, '<')
- .replace(/>/g, '>')
- .replace(/"/g, '"')
- .replace(/'/g, ''');
- }
-
- function unescape(html) {
- // explicitly match decimal, hex, and named HTML entities
- return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) {
- n = n.toLowerCase();
- if (n === 'colon') { return ':'; }
- if (n.charAt(0) === '#') {
- return n.charAt(1) === 'x'
- ? String.fromCharCode(parseInt(n.substring(2), 16))
- : String.fromCharCode(+n.substring(1));
- }
- return '';
- });
- }
-
- function replace(regex, opt) {
- regex = regex.source;
- opt = opt || '';
- return function self(name, val) {
- if (!name) { return new RegExp(regex, opt); }
- val = val.source || val;
- val = val.replace(/(^|[^\[])\^/g, '$1');
- regex = regex.replace(name, val);
- return self;
- };
- }
-
- function noop() {}
- noop.exec = noop;
-
- function merge(obj) {
- var i = 1
- , target
- , key;
-
- for (; i < arguments.length; i++) {
- target = arguments[i];
- for (key in target) {
- if (Object.prototype.hasOwnProperty.call(target, key)) {
- obj[key] = target[key];
- }
- }
- }
-
- return obj;
- }
-
+
/**
* Marked
*/
-
- function marked(src, opt, callback) {
+ /**
+ * eval:var:marked
+ */
+ var marked = function (src, opt, callback) {
if (callback || typeof opt === 'function') {
if (!callback) {
callback = opt;
}
pending = tokens.length;
-
+ /**
+ * eval:var:done
+ */
var done = function(err) {
if (err) {
opt.highlight = highlight;
if (id) {
this.initTarget(id, sGroup, config);
}
- if (config.listeners || config.events) {
- Roo.dd.DragDrop.superclass.constructor.call(this, {
+ if (config && (config.listeners || config.events)) {
+ Roo.dd.DragDrop.superclass.constructor.call(this, {
listeners : config.listeners || {},
events : config.events || {}
});
el.appendChild(N);}else{var O=E(o);N=this.insertHtml("beforeEnd",el,O);}return M?Roo.get(N,true):N;},overwrite:function(el,o,M){el=Roo.getDom(el);if(o.ns){while(el.childNodes.length){el.removeChild(el.firstChild);}F(o,el);}else{el.innerHTML=E(o);}return M?Roo.get(el.firstChild,true):el.firstChild;
},createTemplate:function(o){var M=E(o);return new Roo.Template(M);}};}();
// Roo/Template.js
-Roo.Template=function(A){if(A instanceof Array){A=A.join("");}else if(arguments.length>1){A=Array.prototype.join.call(arguments,"");}if(typeof(A)=='object'){Roo.apply(this,A)}else{this.html=A;}if(this.url){this.load();}};Roo.Template.prototype={url:false,html:'',applyTemplate:function(A){try{if(this.compiled){return this.compiled(A);
-}var B=this.disableFormats!==true;var fm=Roo.util.Format,C=this;var fn=function(m,D,E,F){if(E&&B){if(E.substr(0,5)=="this."){return C.call(E.substr(5),A[D],A);}else{if(F){var re=/^\s*['"](.*)["']\s*$/;F=F.split(',');for(var i=0,G=F.length;i<G;i++){F[i]=F[i].replace(re,"$1");
-}F=[A[D]].concat(F);}else{F=[A[D]];}return fm[E].apply(fm,F);}}else{return A[D]!==undefined?A[D]:"";}};return this.html.replace(this.re,fn);}catch(e){Roo.log(e);throw e;}},loading:false,load:function(){if(this.loading){return;}var _t=this;this.loading=true;
-this.compiled=false;var cx=new Roo.data.Connection();cx.request({url:this.url,method:'GET',success:function(A){_t.loading=false;_t.html=A.responseText;_t.url=false;_t.compile();},failure:function(A){Roo.log("Template failed to load from "+_t.url);_t.loading=false;
-}});},set:function(A,B){this.html=A;this.compiled=null;if(B){this.compile();}return this;},disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,compile:function(){var fm=Roo.util.Format;var A=this.disableFormats!==true;var B=Roo.isGecko?"+":",";
+Roo.Template=function(A){if(A instanceof Array){A=A.join("");}else if(arguments.length>1){A=Array.prototype.join.call(arguments,"");}if(typeof(A)=='object'){Roo.apply(this,A)}else{this.html=A;}if(this.url){this.load();}};Roo.Template.prototype={url:false,html:'',applyTemplate:function(A){Roo.log(["applyTemplate",A]);
+try{if(this.compiled){return this.compiled(A);}var B=this.disableFormats!==true;var fm=Roo.util.Format,C=this;var fn=function(m,D,E,F){if(E&&B){if(E.substr(0,5)=="this."){return C.call(E.substr(5),A[D],A);}else{if(F){var re=/^\s*['"](.*)["']\s*$/;F=F.split(',');
+for(var i=0,G=F.length;i<G;i++){F[i]=F[i].replace(re,"$1");}F=[A[D]].concat(F);}else{F=[A[D]];}return fm[E].apply(fm,F);}}else{return A[D]!==undefined?A[D]:"";}};return this.html.replace(this.re,fn);}catch(e){Roo.log(e);throw e;}},loading:false,load:function(){if(this.loading){return;
+}var _t=this;this.loading=true;this.compiled=false;var cx=new Roo.data.Connection();cx.request({url:this.url,method:'GET',success:function(A){_t.loading=false;_t.html=A.responseText;_t.url=false;_t.compile();},failure:function(A){Roo.log("Template failed to load from "+_t.url);
+_t.loading=false;}});},set:function(A,B){this.html=A;this.compiled=null;if(B){this.compile();}return this;},disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,compile:function(){var fm=Roo.util.Format;var A=this.disableFormats!==true;var B=Roo.isGecko?"+":",";
var fn=function(m,D,E,F){if(E&&A){F=F?','+F:"";if(E.substr(0,5)!="this."){E="fm."+E+'(';}else{E='this.call("'+E.substr(5)+'", ';F=", values";}}else{F='';E="(values['"+D+"'] == undefined ? '' : ";}return "'"+B+E+"values['"+D+"']"+F+")"+B+"'";};var C;if(Roo.isGecko){C="this.compiled = function(values){ return '"+this.html.replace(/\\/g,'\\\\').replace(/(\r\n|\n)/g,'\\n').replace(/'/g,"\\'").replace(this.re,fn)+"';};";
}else{C=["this.compiled = function(values){ return ['"];C.push(this.html.replace(/\\/g,'\\\\').replace(/(\r\n|\n)/g,'\\n').replace(/'/g,"\\'").replace(this.re,fn));C.push("'].join('');};");C=C.join('');}eval(C);return this;},call:function(A,B,C){return this[A](B,C);
},insertFirst:function(el,A,B){return this.doInsert('afterBegin',el,A,B);},insertBefore:function(el,A,B){return this.doInsert('beforeBegin',el,A,B);},insertAfter:function(el,A,B){return this.doInsert('afterEnd',el,A,B);},append:function(el,A,B){return this.doInsert('beforeEnd',el,A,B);
setTimeout(function(){h.apply(D,E);},o.delay||10);};};Roo.util.Event=function(D,E){this.name=E;this.obj=D;this.listeners=[];};Roo.util.Event.prototype={addListener:function(fn,D,E){var o=E||{};D=D||this.obj;if(!this.isListening(fn,D)){var l={fn:fn,scope:D,options:o}
;var h=fn;if(o.delay){h=C(h,o,D);}if(o.single){h=B(h,this,fn,D);}if(o.buffer){h=A(h,o,D);}l.fireFn=h;if(!this.firing){this.listeners.push(l);}else{this.listeners=this.listeners.slice(0);this.listeners.push(l);}}},findListener:function(fn,D){D=D||this.obj;
var ls=this.listeners;for(var i=0,E=ls.length;i<E;i++){var l=ls[i];if(l.fn==fn&&l.scope==D){return i;}}return -1;},isListening:function(fn,D){return this.findListener(fn,D)!=-1;},removeListener:function(fn,D){var E;if((E=this.findListener(fn,D))!=-1){if(!this.firing){this.listeners.splice(E,1);
-}else{this.listeners=this.listeners.slice(0);this.listeners.splice(E,1);}return true;}return false;},clearListeners:function(){this.listeners=[];},fire:function(){var ls=this.listeners,D,E=ls.length;if(E>0){this.firing=true;var F=Array.prototype.slice.call(arguments,0);
-for(var i=0;i<E;i++){var l=ls[i];if(l.fireFn.apply(l.scope||this.obj||window,arguments)===false){this.firing=false;return false;}}this.firing=false;}return true;}};})();
+}else{this.listeners=this.listeners.slice(0);this.listeners.splice(E,1);}return true;}return false;},clearListeners:function(){this.listeners=[];},fire:function(){var ls=this.listeners,D,E=ls.length;if(E>0){this.firing=true;for(var i=0;i<E;i++){var F=Array.prototype.slice.call(arguments,0);
+var l=ls[i];F.push(l.options);if(l.fireFn.apply(l.scope||this.obj||window,F)===false){this.firing=false;return false;}}this.firing=false;}return true;}};})();
// Roo/Document.js
Roo.Document=function(A){this.addEvents({'ready':true});Roo.util.Observable.call(this,A);var B=this;Roo.onReady(function(){B.fireEvent('ready');},null,false);};Roo.extend(Roo.Document,Roo.util.Observable,{});
// Roo/EventManager.js
// Roo/Markdown.js
Roo.Markdown={};Roo.Markdown.toHtml=function(A){var c=new Roo.Markdown.marked.setOptions({renderer:new Roo.Markdown.marked.Renderer(),gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,smartLists:true,smartypants:false});A=A.replace(/\\\n/g,' ');
-return Roo.Markdown.marked(A);};(function(){var A={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/}
-;A.bullet=/(?:[*+-]|\d+\.)/;A.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;A.item=replace(A.item,'gm')(/bull/g,A.bullet)();A.list=replace(A.list)(/bull/g,A.bullet)('hr','\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))')('def','\\n+(?='+A.def.source+')')();A.blockquote=replace(A.blockquote)('def',A.def)();
-A._tag='(?!(?:'+'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'+'|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'+'|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b';A.html=replace(A.html)('comment',/<!--[\s\S]*?-->/)('closed',/<(tag)[\s\S]+?<\/\1>/)('closing',/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,A._tag)();
-A.paragraph=replace(A.paragraph)('hr',A.hr)('heading',A.heading)('lheading',A.lheading)('blockquote',A.blockquote)('tag','<'+A._tag)('def',A.def)();A.normal=merge({},A);A.gfm=merge({},A.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}
-);A.gfm.paragraph=replace(A.paragraph)('(?!','(?!'+A.gfm.fences.source.replace('\\1','\\2')+'|'+A.list.source.replace('\\1','\\3')+'|')();A.tables=merge({},A.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}
-);function Lexer(C){this.tokens=[];this.tokens.links={};this.options=C||marked.defaults;this.rules=A.normal;if(this.options.gfm){if(this.options.tables){this.rules=A.tables;}else{this.rules=A.gfm;}}}Lexer.rules=A;Lexer.lex=function(C,D){var E=new Lexer(D);
-return E.lex(C);};Lexer.prototype.lex=function(C){C=C.replace(/\r\n|\r/g,'\n').replace(/\t/g,' ').replace(/\u00a0/g,' ').replace(/\u2424/g,'\n');return this.token(C,true);};Lexer.prototype.token=function(C,D,bq){var C=C.replace(/^ +$/gm,''),E,F,G,H,b,I,J,i,l;
-while(C){if(G=this.rules.newline.exec(C)){C=C.substring(G[0].length);if(G[0].length>1){this.tokens.push({type:'space'});}}if(G=this.rules.code.exec(C)){C=C.substring(G[0].length);G=G[0].replace(/^ {4}/gm,'');this.tokens.push({type:'code',text:!this.options.pedantic?G.replace(/\n+$/,''):G}
-);continue;}if(G=this.rules.fences.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'code',lang:G[2],text:G[3]||''});continue;}if(G=this.rules.heading.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'heading',depth:G[1].length,text:G[2]}
-);continue;}if(D&&(G=this.rules.nptable.exec(C))){C=C.substring(G[0].length);I={type:'table',header:G[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:G[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:G[3].replace(/\n$/,'').split('\n')};for(i=0;i<I.align.length;
-i++){if(/^ *-+: *$/.test(I.align[i])){I.align[i]='right';}else if(/^ *:-+: *$/.test(I.align[i])){I.align[i]='center';}else if(/^ *:-+ *$/.test(I.align[i])){I.align[i]='left';}else{I.align[i]=null;}}for(i=0;i<I.cells.length;i++){I.cells[i]=I.cells[i].split(/ *\| */);
-}this.tokens.push(I);continue;}if(G=this.rules.lheading.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'heading',depth:G[2]==='='?1:2,text:G[1]});continue;}if(G=this.rules.hr.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'hr'});continue;
-}if(G=this.rules.blockquote.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'blockquote_start'});G=G[0].replace(/^ *> ?/gm,'');this.token(G,D,true);this.tokens.push({type:'blockquote_end'});continue;}if(G=this.rules.list.exec(C)){C=C.substring(G[0].length);
-H=G[2];this.tokens.push({type:'list_start',ordered:H.length>1});G=G[0].match(this.rules.item);E=false;l=G.length;i=0;for(;i<l;i++){I=G[i];J=I.length;I=I.replace(/^ *([*+-]|\d+\.) +/,'');if(~I.indexOf('\n ')){J-=I.length;I=!this.options.pedantic?I.replace(new RegExp('^ {1,'+J+'}','gm'),''):I.replace(/^ {1,4}/gm,'');
-}if(this.options.smartLists&&i!==l-1){b=A.bullet.exec(G[i+1])[0];if(H!==b&&!(H.length>1&&b.length>1)){C=G.slice(i+1).join('\n')+C;i=l-1;}}F=E||/\n\n(?!\s*$)/.test(I);if(i!==l-1){E=I.charAt(I.length-1)==='\n';if(!F){F=E;}}this.tokens.push({type:F?'loose_item_start':'list_item_start'}
-);this.token(I,false,bq);this.tokens.push({type:'list_item_end'});}this.tokens.push({type:'list_end'});continue;}if(G=this.rules.html.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:this.options.sanitize?'paragraph':'html',pre:!this.options.sanitizer&&(G[1]==='pre'||G[1]==='script'||G[1]==='style'),text:G[0]}
-);continue;}if((!bq&&D)&&(G=this.rules.def.exec(C))){C=C.substring(G[0].length);this.tokens.links[G[1].toLowerCase()]={href:G[2],title:G[3]};continue;}if(D&&(G=this.rules.table.exec(C))){C=C.substring(G[0].length);I={type:'table',header:G[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:G[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:G[3].replace(/(?: *\| *)?\n$/,'').split('\n')}
-;for(i=0;i<I.align.length;i++){if(/^ *-+: *$/.test(I.align[i])){I.align[i]='right';}else if(/^ *:-+: *$/.test(I.align[i])){I.align[i]='center';}else if(/^ *:-+ *$/.test(I.align[i])){I.align[i]='left';}else{I.align[i]=null;}}for(i=0;i<I.cells.length;i++){I.cells[i]=I.cells[i].replace(/^ *\| *| *\| *$/g,'').split(/ *\| */);
-}this.tokens.push(I);continue;}if(D&&(G=this.rules.paragraph.exec(C))){C=C.substring(G[0].length);this.tokens.push({type:'paragraph',text:G[1].charAt(G[1].length-1)==='\n'?G[1].slice(0,-1):G[1]});continue;}if(G=this.rules.text.exec(C)){C=C.substring(G[0].length);
-this.tokens.push({type:'text',text:G[0]});continue;}if(C){throw new Error('Infinite loop on byte: '+C.charCodeAt(0));}}return this.tokens;};var B={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/}
-;B._inside=/(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;B._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;B.link=replace(B.link)('inside',B._inside)('href',B._href)();B.reflink=replace(B.reflink)('inside',B._inside)();B.normal=merge({},B);B.pedantic=merge({}
-,B.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});B.gfm=merge({},B.normal,{escape:replace(B.escape)('])','~|])')(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(B.text)(']|','~]|')('|','|https?://|')()}
-);B.breaks=merge({},B.gfm,{br:replace(B.br)('{2,}','*')(),text:replace(B.gfm.text)('{2,}','*')()});function InlineLexer(C,D){this.options=D||marked.defaults;this.links=C;this.rules=B.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options;
-if(!this.links){throw new Error('Tokens array requires a `links` property.');}if(this.options.gfm){if(this.options.breaks){this.rules=B.breaks;}else{this.rules=B.gfm;}}else if(this.options.pedantic){this.rules=B.pedantic;}}InlineLexer.rules=B;InlineLexer.output=function(C,D,E){var F=new InlineLexer(D,E);
-return F.output(C);};InlineLexer.prototype.output=function(C){var D='',E,F,G,H;while(C){if(H=this.rules.escape.exec(C)){C=C.substring(H[0].length);D+=H[1];continue;}if(H=this.rules.autolink.exec(C)){C=C.substring(H[0].length);if(H[2]==='@'){F=H[1].charAt(6)===':'?this.mangle(H[1].substring(7)):this.mangle(H[1]);
-G=this.mangle('mailto:')+F;}else{F=escape(H[1]);G=F;}D+=this.renderer.link(G,null,F);continue;}if(!this.inLink&&(H=this.rules.url.exec(C))){C=C.substring(H[0].length);F=escape(H[1]);G=F;D+=this.renderer.link(G,null,F);continue;}if(H=this.rules.tag.exec(C)){if(!this.inLink&&/^<a /i.test(H[0])){this.inLink=true;
-}else if(this.inLink&&/^<\/a>/i.test(H[0])){this.inLink=false;}C=C.substring(H[0].length);D+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(H[0]):escape(H[0]):H[0];continue;}if(H=this.rules.link.exec(C)){C=C.substring(H[0].length);this.inLink=true;
-D+=this.outputLink(H,{href:H[2],title:H[3]});this.inLink=false;continue;}if((H=this.rules.reflink.exec(C))||(H=this.rules.nolink.exec(C))){C=C.substring(H[0].length);E=(H[2]||H[1]).replace(/\s+/g,' ');E=this.links[E.toLowerCase()];if(!E||!E.href){D+=H[0].charAt(0);
-C=H[0].substring(1)+C;continue;}this.inLink=true;D+=this.outputLink(H,E);this.inLink=false;continue;}if(H=this.rules.strong.exec(C)){C=C.substring(H[0].length);D+=this.renderer.strong(this.output(H[2]||H[1]));continue;}if(H=this.rules.em.exec(C)){C=C.substring(H[0].length);
-D+=this.renderer.em(this.output(H[2]||H[1]));continue;}if(H=this.rules.code.exec(C)){C=C.substring(H[0].length);D+=this.renderer.codespan(escape(H[2],true));continue;}if(H=this.rules.br.exec(C)){C=C.substring(H[0].length);D+=this.renderer.br();continue;}if(H=this.rules.del.exec(C)){C=C.substring(H[0].length);
-D+=this.renderer.del(this.output(H[1]));continue;}if(H=this.rules.text.exec(C)){C=C.substring(H[0].length);D+=this.renderer.text(escape(this.smartypants(H[0])));continue;}if(C){throw new Error('Infinite loop on byte: '+C.charCodeAt(0));}}return D;};InlineLexer.prototype.outputLink=function(C,D){var E=escape(D.href),F=D.title?escape(D.title):null;
-return C[0].charAt(0)!=='!'?this.renderer.link(E,F,this.output(C[1])):this.renderer.image(E,F,escape(C[1]));};InlineLexer.prototype.smartypants=function(C){if(!this.options.smartypants){return C;}return C.replace(/---/g,'\u2014').replace(/--/g,'\u2013').replace(/(^|[-\u2014/(\[{"\s])'/g,'$1\u2018').replace(/'/g,'\u2019').replace(/(^|[-\u2014/(\[{\u2018\s])"/g,'$1\u201c').replace(/"/g,'\u201d').replace(/\.{3}/g,'\u2026');
-};InlineLexer.prototype.mangle=function(C){if(!this.options.mangle){return C;}var D='',l=C.length,i=0,ch;for(;i<l;i++){ch=C.charCodeAt(i);if(Math.random()>0.5){ch='x'+ch.toString(16);}D+='&#'+ch+';';}return D;};function Renderer(C){this.options=C||{};}Renderer.prototype.code=function(C,D,E){if(this.options.highlight){var F=this.options.highlight(C,D);
-if(F!=null&&F!==C){E=true;C=F;}}else{E=true;}if(!D){return '<pre><code>'+(E?C:escape(C,true))+'\n</code></pre>';}return '<pre><code class="'+this.options.langPrefix+escape(D,true)+'">'+(E?C:escape(C,true))+'\n</code></pre>\n';};Renderer.prototype.blockquote=function(C){return '<blockquote>\n'+C+'</blockquote>\n';
-};Renderer.prototype.html=function(C){return C;};Renderer.prototype.heading=function(C,D,E){return '<h'+D+' id="'+this.options.headerPrefix+E.toLowerCase().replace(/[^\w]+/g,'-')+'">'+C+'</h'+D+'>\n';};Renderer.prototype.hr=function(){return this.options.xhtml?'<hr/>\n':'<hr>\n';
-};Renderer.prototype.list=function(C,D){var E=D?'ol':'ul';return '<'+E+'>\n'+C+'</'+E+'>\n';};Renderer.prototype.listitem=function(C){return '<li>'+C+'</li>\n';};Renderer.prototype.paragraph=function(C){return '<p>'+C+'</p>\n';};Renderer.prototype.table=function(C,D){return '<table class="table table-striped">\n'+'<thead>\n'+C+'</thead>\n'+'<tbody>\n'+D+'</tbody>\n'+'</table>\n';
-};Renderer.prototype.tablerow=function(C){return '<tr>\n'+C+'</tr>\n';};Renderer.prototype.tablecell=function(C,D){var E=D.header?'th':'td';var F=D.align?'<'+E+' style="text-align:'+D.align+'">':'<'+E+'>';return F+C+'</'+E+'>\n';};Renderer.prototype.strong=function(C){return '<strong>'+C+'</strong>';
-};Renderer.prototype.em=function(C){return '<em>'+C+'</em>';};Renderer.prototype.codespan=function(C){return '<code>'+C+'</code>';};Renderer.prototype.br=function(){return this.options.xhtml?'<br/>':'<br>';};Renderer.prototype.del=function(C){return '<del>'+C+'</del>';
-};Renderer.prototype.link=function(C,D,E){if(this.options.sanitize){try{var F=decodeURIComponent(unescape(C)).replace(/[^\w:]/g,'').toLowerCase();}catch(e){return '';}if(F.indexOf('javascript:')===0||F.indexOf('vbscript:')===0){return '';}}var G='<a href="'+C+'"';
-if(D){G+=' title="'+D+'"';}G+='>'+E+'</a>';return G;};Renderer.prototype.image=function(C,D,E){var F='<img src="'+C+'" alt="'+E+'"';if(D){F+=' title="'+D+'"';}F+=this.options.xhtml?'/>':'>';return F;};Renderer.prototype.text=function(C){return C;};function Parser(C){this.tokens=[];
-this.token=null;this.options=C||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options;}Parser.parse=function(C,D,E){var F=new Parser(D,E);return F.parse(C);};Parser.prototype.parse=function(C){this.inline=new InlineLexer(C.links,this.options,this.renderer);
-this.tokens=C.reverse();var D='';while(this.next()){D+=this.tok();}return D;};Parser.prototype.next=function(){return this.token=this.tokens.pop();};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0;};Parser.prototype.parseText=function(){var C=this.token.text;
-while(this.peek().type==='text'){C+='\n'+this.next().text;}return this.inline.output(C);};Parser.prototype.tok=function(){switch(this.token.type){case 'space':{return '';}case 'hr':{return this.renderer.hr();}case 'heading':{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);
-}case 'code':{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);}case 'table':{var C='',D='',i,E,F,G,j;F='';for(i=0;i<this.token.header.length;i++){G={header:true,align:this.token.align[i]};F+=this.renderer.tablecell(this.inline.output(this.token.header[i]),{header:true,align:this.token.align[i]}
-);}C+=this.renderer.tablerow(F);for(i=0;i<this.token.cells.length;i++){E=this.token.cells[i];F='';for(j=0;j<E.length;j++){F+=this.renderer.tablecell(this.inline.output(E[j]),{header:false,align:this.token.align[j]});}D+=this.renderer.tablerow(F);}return this.renderer.table(C,D);
-}case 'blockquote_start':{var D='';while(this.next().type!=='blockquote_end'){D+=this.tok();}return this.renderer.blockquote(D);}case 'list_start':{var D='',H=this.token.ordered;while(this.next().type!=='list_end'){D+=this.tok();}return this.renderer.list(D,H);
-}case 'list_item_start':{var D='';while(this.next().type!=='list_item_end'){D+=this.token.type==='text'?this.parseText():this.tok();}return this.renderer.listitem(D);}case 'loose_item_start':{var D='';while(this.next().type!=='list_item_end'){D+=this.tok();
-}return this.renderer.listitem(D);}case 'html':{var I=!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;return this.renderer.html(I);}case 'paragraph':{return this.renderer.paragraph(this.inline.output(this.token.text));
-}case 'text':{return this.renderer.paragraph(this.parseText());}}};function escape(C,D){return C.replace(!D?/&(?!#?\w+;)/g:/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"').replace(/'/g,''');}function unescape(C){return C.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g,function(_,n){n=n.toLowerCase();
-if(n==='colon'){return ':';}if(n.charAt(0)==='#'){return n.charAt(1)==='x'?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1));}return '';});}function replace(C,D){C=C.source;D=D||'';return function E(F,G){if(!F){return new RegExp(C,D);
-}G=G.source||G;G=G.replace(/(^|[^\[])\^/g,'$1');C=C.replace(F,G);return E;};}function noop(){}noop.exec=noop;function merge(C){var i=1,D,E;for(;i<arguments.length;i++){D=arguments[i];for(E in D){if(Object.prototype.hasOwnProperty.call(D,E)){C[E]=D[E];}}}return C;
-}function marked(C,D,E){if(E||typeof D==='function'){if(!E){E=D;D=null;}D=merge({},marked.defaults,D||{});var F=D.highlight,G,H,i=0;try{G=Lexer.lex(C,D)}catch(e){return E(e);}H=G.length;var I=function(J){if(J){D.highlight=F;return E(J);}var K;try{K=Parser.parse(G,D);
-}catch(e){J=e;}D.highlight=F;return J?E(J):E(null,K);};if(!F||F.length<3){return I();}delete D.highlight;if(!H){return I();}for(;i<G.length;i++){(function(J){if(J.type!=='code'){return --H||I();}return F(J.text,J.lang,function(K,L){if(K){return I(K);}if(L==null||L===J.text){return --H||I();
-}J.text=L;J.escaped=true;--H||I();});})(G[i]);}return;}try{if(D){D=merge({},marked.defaults,D);}return Parser.parse(Lexer.lex(C,D),D);}catch(e){e.message+='\nPlease report this to https://github.com/chjj/marked.';if((D||marked.defaults).silent){return '<p>An error occured:</p><pre>'+escape(e.message+'',true)+'</pre>';
-}throw e;}}marked.options=marked.setOptions=function(C){merge(marked.defaults,C);return marked;};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:'lang-',smartypants:false,headerPrefix:'',renderer:new Renderer,xhtml:false}
-;marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;Roo.Markdown.marked=marked;})();
+return Roo.Markdown.marked(A);};(function(){var A=function(I,J){return I.replace(!J?/&(?!#?\w+;)/g:/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"').replace(/'/g,''');};var unescape=function(I){return I.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g,function(_,n){n=n.toLowerCase();
+if(n==='colon'){return ':';}if(n.charAt(0)==='#'){return n.charAt(1)==='x'?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1));}return '';});};var replace=function(I,J){I=I.source;J=J||'';return function K(L,M){if(!L){return new RegExp(I,J);
+}M=M.source||M;M=M.replace(/(^|[^\[])\^/g,'$1');I=I.replace(L,M);return K;};};var noop=function(){};noop.exec=noop;var B=function(I){var i=1,J,K;for(;i<arguments.length;i++){J=arguments[i];for(K in J){if(Object.prototype.hasOwnProperty.call(J,K)){I[K]=J[K];
+}}}return I;};var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/}
+;block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,'gm')(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)('hr','\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))')('def','\\n+(?='+block.def.source+')')();
+block.blockquote=replace(block.blockquote)('def',block.def)();block._tag='(?!(?:'+'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'+'|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'+'|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b';block.html=replace(block.html)('comment',/<!--[\s\S]*?-->/)('closed',/<(tag)[\s\S]+?<\/\1>/)('closing',/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,block._tag)();
+block.paragraph=replace(block.paragraph)('hr',block.hr)('heading',block.heading)('lheading',block.lheading)('blockquote',block.blockquote)('tag','<'+block._tag)('def',block.def)();block.normal=B({},block);block.gfm=B({},block.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}
+);block.gfm.paragraph=replace(block.paragraph)('(?!','(?!'+block.gfm.fences.source.replace('\\1','\\2')+'|'+block.list.source.replace('\\1','\\3')+'|')();block.tables=B({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}
+);var C=function(I){this.tokens=[];this.tokens.links={};this.options=I||H.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables;}else{this.rules=block.gfm;}}};C.rules=block;C.lex=function(I,J){var K=new C(J);
+return K.lex(I);};C.prototype.lex=function(I){I=I.replace(/\r\n|\r/g,'\n').replace(/\t/g,' ').replace(/\u00a0/g,' ').replace(/\u2424/g,'\n');return this.token(I,true);};C.prototype.token=function(I,J,bq){var I=I.replace(/^ +$/gm,''),K,L,M,N,b,O,P,i,l;while(I){if(M=this.rules.newline.exec(I)){I=I.substring(M[0].length);
+if(M[0].length>1){this.tokens.push({type:'space'});}}if(M=this.rules.code.exec(I)){I=I.substring(M[0].length);M=M[0].replace(/^ {4}/gm,'');this.tokens.push({type:'code',text:!this.options.pedantic?M.replace(/\n+$/,''):M});continue;}if(M=this.rules.fences.exec(I)){I=I.substring(M[0].length);
+this.tokens.push({type:'code',lang:M[2],text:M[3]||''});continue;}if(M=this.rules.heading.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:'heading',depth:M[1].length,text:M[2]});continue;}if(J&&(M=this.rules.nptable.exec(I))){I=I.substring(M[0].length);
+O={type:'table',header:M[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:M[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:M[3].replace(/\n$/,'').split('\n')};for(i=0;i<O.align.length;i++){if(/^ *-+: *$/.test(O.align[i])){O.align[i]='right';}else if(/^ *:-+: *$/.test(O.align[i])){O.align[i]='center';
+}else if(/^ *:-+ *$/.test(O.align[i])){O.align[i]='left';}else{O.align[i]=null;}}for(i=0;i<O.cells.length;i++){O.cells[i]=O.cells[i].split(/ *\| */);}this.tokens.push(O);continue;}if(M=this.rules.lheading.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:'heading',depth:M[2]==='='?1:2,text:M[1]}
+);continue;}if(M=this.rules.hr.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:'hr'});continue;}if(M=this.rules.blockquote.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:'blockquote_start'});M=M[0].replace(/^ *> ?/gm,'');this.token(M,J,true);
+this.tokens.push({type:'blockquote_end'});continue;}if(M=this.rules.list.exec(I)){I=I.substring(M[0].length);N=M[2];this.tokens.push({type:'list_start',ordered:N.length>1});M=M[0].match(this.rules.item);K=false;l=M.length;i=0;for(;i<l;i++){O=M[i];P=O.length;
+O=O.replace(/^ *([*+-]|\d+\.) +/,'');if(~O.indexOf('\n ')){P-=O.length;O=!this.options.pedantic?O.replace(new RegExp('^ {1,'+P+'}','gm'),''):O.replace(/^ {1,4}/gm,'');}if(this.options.smartLists&&i!==l-1){b=block.bullet.exec(M[i+1])[0];if(N!==b&&!(N.length>1&&b.length>1)){I=M.slice(i+1).join('\n')+I;
+i=l-1;}}L=K||/\n\n(?!\s*$)/.test(O);if(i!==l-1){K=O.charAt(O.length-1)==='\n';if(!L){L=K;}}this.tokens.push({type:L?'loose_item_start':'list_item_start'});this.token(O,false,bq);this.tokens.push({type:'list_item_end'});}this.tokens.push({type:'list_end'});
+continue;}if(M=this.rules.html.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:this.options.sanitize?'paragraph':'html',pre:!this.options.sanitizer&&(M[1]==='pre'||M[1]==='script'||M[1]==='style'),text:M[0]});continue;}if((!bq&&J)&&(M=this.rules.def.exec(I))){I=I.substring(M[0].length);
+this.tokens.links[M[1].toLowerCase()]={href:M[2],title:M[3]};continue;}if(J&&(M=this.rules.table.exec(I))){I=I.substring(M[0].length);O={type:'table',header:M[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:M[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:M[3].replace(/(?: *\| *)?\n$/,'').split('\n')}
+;for(i=0;i<O.align.length;i++){if(/^ *-+: *$/.test(O.align[i])){O.align[i]='right';}else if(/^ *:-+: *$/.test(O.align[i])){O.align[i]='center';}else if(/^ *:-+ *$/.test(O.align[i])){O.align[i]='left';}else{O.align[i]=null;}}for(i=0;i<O.cells.length;i++){O.cells[i]=O.cells[i].replace(/^ *\| *| *\| *$/g,'').split(/ *\| */);
+}this.tokens.push(O);continue;}if(J&&(M=this.rules.paragraph.exec(I))){I=I.substring(M[0].length);this.tokens.push({type:'paragraph',text:M[1].charAt(M[1].length-1)==='\n'?M[1].slice(0,-1):M[1]});continue;}if(M=this.rules.text.exec(I)){I=I.substring(M[0].length);
+this.tokens.push({type:'text',text:M[0]});continue;}if(I){throw new Error('Infinite loop on byte: '+I.charCodeAt(0));}}return this.tokens;};var D={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/}
+;D._inside=/(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;D._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;D.link=replace(D.link)('inside',D._inside)('href',D._href)();D.reflink=replace(D.reflink)('inside',D._inside)();D.normal=B({},D);D.pedantic=B({},D.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}
+);D.gfm=B({},D.normal,{escape:replace(D.escape)('])','~|])')(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(D.text)(']|','~]|')('|','|https?://|')()});D.breaks=B({},D.gfm,{br:replace(D.br)('{2,}','*')(),text:replace(D.gfm.text)('{2,}','*')()}
+);var E=function(I,J){this.options=J||H.defaults;this.links=I;this.rules=D.normal;this.renderer=this.options.renderer||new F;this.renderer.options=this.options;if(!this.links){throw new Error('Tokens array requires a `links` property.');}if(this.options.gfm){if(this.options.breaks){this.rules=D.breaks;
+}else{this.rules=D.gfm;}}else if(this.options.pedantic){this.rules=D.pedantic;}};E.rules=D;E.output=function(I,J,K){var L=new E(J,K);return L.output(I);};E.prototype.output=function(I){var J='',K,L,M,N;while(I){if(N=this.rules.escape.exec(I)){I=I.substring(N[0].length);
+J+=N[1];continue;}if(N=this.rules.autolink.exec(I)){I=I.substring(N[0].length);if(N[2]==='@'){L=N[1].charAt(6)===':'?this.mangle(N[1].substring(7)):this.mangle(N[1]);M=this.mangle('mailto:')+L;}else{L=A(N[1]);M=L;}J+=this.renderer.link(M,null,L);continue;
+}if(!this.inLink&&(N=this.rules.url.exec(I))){I=I.substring(N[0].length);L=A(N[1]);M=L;J+=this.renderer.link(M,null,L);continue;}if(N=this.rules.tag.exec(I)){if(!this.inLink&&/^<a /i.test(N[0])){this.inLink=true;}else if(this.inLink&&/^<\/a>/i.test(N[0])){this.inLink=false;
+}I=I.substring(N[0].length);J+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(N[0]):A(N[0]):N[0];continue;}if(N=this.rules.link.exec(I)){I=I.substring(N[0].length);this.inLink=true;J+=this.outputLink(N,{href:N[2],title:N[3]});this.inLink=false;
+continue;}if((N=this.rules.reflink.exec(I))||(N=this.rules.nolink.exec(I))){I=I.substring(N[0].length);K=(N[2]||N[1]).replace(/\s+/g,' ');K=this.links[K.toLowerCase()];if(!K||!K.href){J+=N[0].charAt(0);I=N[0].substring(1)+I;continue;}this.inLink=true;J+=this.outputLink(N,K);
+this.inLink=false;continue;}if(N=this.rules.strong.exec(I)){I=I.substring(N[0].length);J+=this.renderer.strong(this.output(N[2]||N[1]));continue;}if(N=this.rules.em.exec(I)){I=I.substring(N[0].length);J+=this.renderer.em(this.output(N[2]||N[1]));continue;
+}if(N=this.rules.code.exec(I)){I=I.substring(N[0].length);J+=this.renderer.codespan(A(N[2],true));continue;}if(N=this.rules.br.exec(I)){I=I.substring(N[0].length);J+=this.renderer.br();continue;}if(N=this.rules.del.exec(I)){I=I.substring(N[0].length);J+=this.renderer.del(this.output(N[1]));
+continue;}if(N=this.rules.text.exec(I)){I=I.substring(N[0].length);J+=this.renderer.text(A(this.smartypants(N[0])));continue;}if(I){throw new Error('Infinite loop on byte: '+I.charCodeAt(0));}}return J;};E.prototype.outputLink=function(I,J){var K=A(J.href),L=J.title?A(J.title):null;
+return I[0].charAt(0)!=='!'?this.renderer.link(K,L,this.output(I[1])):this.renderer.image(K,L,A(I[1]));};E.prototype.smartypants=function(I){if(!this.options.smartypants){return I;}return I.replace(/---/g,'\u2014').replace(/--/g,'\u2013').replace(/(^|[-\u2014/(\[{"\s])'/g,'$1\u2018').replace(/'/g,'\u2019').replace(/(^|[-\u2014/(\[{\u2018\s])"/g,'$1\u201c').replace(/"/g,'\u201d').replace(/\.{3}/g,'\u2026');
+};E.prototype.mangle=function(I){if(!this.options.mangle){return I;}var J='',l=I.length,i=0,ch;for(;i<l;i++){ch=I.charCodeAt(i);if(Math.random()>0.5){ch='x'+ch.toString(16);}J+='&#'+ch+';';}return J;};var F=function(I){this.options=I||{};};F.prototype.code=function(I,J,K){if(this.options.highlight){var L=this.options.highlight(I,J);
+if(L!=null&&L!==I){K=true;I=L;}}else{K=true;}if(!J){return '<pre><code>'+(K?I:A(I,true))+'\n</code></pre>';}return '<pre><code class="'+this.options.langPrefix+A(J,true)+'">'+(K?I:A(I,true))+'\n</code></pre>\n';};F.prototype.blockquote=function(I){return '<blockquote>\n'+I+'</blockquote>\n';
+};F.prototype.html=function(I){return I;};F.prototype.heading=function(I,J,K){return '<h'+J+' id="'+this.options.headerPrefix+K.toLowerCase().replace(/[^\w]+/g,'-')+'">'+I+'</h'+J+'>\n';};F.prototype.hr=function(){return this.options.xhtml?'<hr/>\n':'<hr>\n';
+};F.prototype.list=function(I,J){var K=J?'ol':'ul';return '<'+K+'>\n'+I+'</'+K+'>\n';};F.prototype.listitem=function(I){return '<li>'+I+'</li>\n';};F.prototype.paragraph=function(I){return '<p>'+I+'</p>\n';};F.prototype.table=function(I,J){return '<table class="table table-striped">\n'+'<thead>\n'+I+'</thead>\n'+'<tbody>\n'+J+'</tbody>\n'+'</table>\n';
+};F.prototype.tablerow=function(I){return '<tr>\n'+I+'</tr>\n';};F.prototype.tablecell=function(I,J){var K=J.header?'th':'td';var L=J.align?'<'+K+' style="text-align:'+J.align+'">':'<'+K+'>';return L+I+'</'+K+'>\n';};F.prototype.strong=function(I){return '<strong>'+I+'</strong>';
+};F.prototype.em=function(I){return '<em>'+I+'</em>';};F.prototype.codespan=function(I){return '<code>'+I+'</code>';};F.prototype.br=function(){return this.options.xhtml?'<br/>':'<br>';};F.prototype.del=function(I){return '<del>'+I+'</del>';};F.prototype.link=function(I,J,K){if(this.options.sanitize){try{var L=decodeURIComponent(unescape(I)).replace(/[^\w:]/g,'').toLowerCase();
+}catch(e){return '';}if(L.indexOf('javascript:')===0||L.indexOf('vbscript:')===0){return '';}}var M='<a href="'+I+'"';if(J){M+=' title="'+J+'"';}M+='>'+K+'</a>';return M;};F.prototype.image=function(I,J,K){var L='<img src="'+I+'" alt="'+K+'"';if(J){L+=' title="'+J+'"';
+}L+=this.options.xhtml?'/>':'>';return L;};F.prototype.text=function(I){return I;};var G=function(I){this.tokens=[];this.token=null;this.options=I||H.defaults;this.options.renderer=this.options.renderer||new F;this.renderer=this.options.renderer;this.renderer.options=this.options;
+};G.parse=function(I,J,K){var L=new G(J,K);return L.parse(I);};G.prototype.parse=function(I){this.inline=new E(I.links,this.options,this.renderer);this.tokens=I.reverse();var J='';while(this.next()){J+=this.tok();}return J;};G.prototype.next=function(){return this.token=this.tokens.pop();
+};G.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0;};G.prototype.parseText=function(){var I=this.token.text;while(this.peek().type==='text'){I+='\n'+this.next().text;}return this.inline.output(I);};G.prototype.tok=function(){switch(this.token.type){case 'space':{return '';
+}case 'hr':{return this.renderer.hr();}case 'heading':{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);}case 'code':{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);}case 'table':{var I='',J='',i,K,L,M,j;
+L='';for(i=0;i<this.token.header.length;i++){M={header:true,align:this.token.align[i]};L+=this.renderer.tablecell(this.inline.output(this.token.header[i]),{header:true,align:this.token.align[i]});}I+=this.renderer.tablerow(L);for(i=0;i<this.token.cells.length;
+i++){K=this.token.cells[i];L='';for(j=0;j<K.length;j++){L+=this.renderer.tablecell(this.inline.output(K[j]),{header:false,align:this.token.align[j]});}J+=this.renderer.tablerow(L);}return this.renderer.table(I,J);}case 'blockquote_start':{var J='';while(this.next().type!=='blockquote_end'){J+=this.tok();
+}return this.renderer.blockquote(J);}case 'list_start':{var J='',N=this.token.ordered;while(this.next().type!=='list_end'){J+=this.tok();}return this.renderer.list(J,N);}case 'list_item_start':{var J='';while(this.next().type!=='list_item_end'){J+=this.token.type==='text'?this.parseText():this.tok();
+}return this.renderer.listitem(J);}case 'loose_item_start':{var J='';while(this.next().type!=='list_item_end'){J+=this.tok();}return this.renderer.listitem(J);}case 'html':{var O=!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;
+return this.renderer.html(O);}case 'paragraph':{return this.renderer.paragraph(this.inline.output(this.token.text));}case 'text':{return this.renderer.paragraph(this.parseText());}}};var H=function(I,J,K){if(K||typeof J==='function'){if(!K){K=J;J=null;}J=B({}
+,H.defaults,J||{});var L=J.highlight,M,N,i=0;try{M=C.lex(I,J)}catch(e){return K(e);}N=M.length;var O=function(P){if(P){J.highlight=L;return K(P);}var Q;try{Q=G.parse(M,J);}catch(e){P=e;}J.highlight=L;return P?K(P):K(null,Q);};if(!L||L.length<3){return O();
+}delete J.highlight;if(!N){return O();}for(;i<M.length;i++){(function(P){if(P.type!=='code'){return --N||O();}return L(P.text,P.lang,function(Q,R){if(Q){return O(Q);}if(R==null||R===P.text){return --N||O();}P.text=R;P.escaped=true;--N||O();});})(M[i]);}return;
+}try{if(J){J=B({},H.defaults,J);}return G.parse(C.lex(I,J),J);}catch(e){e.message+='\nPlease report this to https://github.com/chjj/marked.';if((J||H.defaults).silent){return '<p>An error occured:</p><pre>'+A(e.message+'',true)+'</pre>';}throw e;}};H.options=H.setOptions=function(I){B(H.defaults,I);
+return H;};H.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:'lang-',smartypants:false,headerPrefix:'',renderer:new F,xhtml:false};H.Parser=G;H.parser=G.parse;
+H.Renderer=F;H.Lexer=C;H.lexer=C.lex;H.InlineLexer=E;H.inlineLexer=E.output;H.parse=H;Roo.Markdown.marked=H;})();
// Roo/dd/DragDrop.js
(function(){var A=Roo.EventManager;var B=Roo.lib.Dom;Roo.dd.DragDrop=function(id,C,D){if(id){this.init(id,C,D);}};Roo.extend(Roo.dd.DragDrop,Roo.util.Observable,{id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;
},unlock:function(){this.locked=false;},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(x,y){}
},endDrag:function(e){var A=this.getEl();var B=this.getDragEl();B.style.visibility="";this.beforeMove();A.style.visibility="hidden";Roo.dd.DDM.moveToEl(A,B);B.style.visibility="hidden";A.style.visibility="";this.afterDrag();},beforeMove:function(){},afterDrag:function(){}
,toString:function(){return ("DDProxy "+this.id);}});
// Roo/dd/DDTarget.js
-Roo.dd.DDTarget=function(id,A,B){if(id){this.initTarget(id,A,B);}if(B.listeners||B.events){Roo.dd.DragDrop.superclass.constructor.call(this,{listeners:B.listeners||{},events:B.events||{}});}};Roo.extend(Roo.dd.DDTarget,Roo.dd.DragDrop,{toString:function(){return ("DDTarget "+this.id);
+Roo.dd.DDTarget=function(id,A,B){if(id){this.initTarget(id,A,B);}if(B&&(B.listeners||B.events)){Roo.dd.DragDrop.superclass.constructor.call(this,{listeners:B.listeners||{},events:B.events||{}});}};Roo.extend(Roo.dd.DDTarget,Roo.dd.DragDrop,{toString:function(){return ("DDTarget "+this.id);
}});
// Roo/dd/ScrollManager.js
Roo.dd.ScrollManager=function(){var A=Roo.dd.DragDropMgr;var B={};var C=null;var D={};var E=function(e){C=null;H();};var F=function(){if(A.dragCurrent){A.refreshCache(A.dragCurrent.groups);}};var G=function(){if(A.dragCurrent){var K=Roo.dd.ScrollManager;if(!K.animate){if(D.el.scroll(D.dir,K.increment)){F();
* @return {String} The HTML fragment
*/
applyTemplate : function(values){
+ Roo.log(["applyTemplate", values]);
try {
if(this.compiled){
var ls = this.listeners, scope, len = ls.length;
if(len > 0){
this.firing = true;
- var args = Array.prototype.slice.call(arguments, 0);
+
for(var i = 0; i < len; i++){
- var l = ls[i];
- if(l.fireFn.apply(l.scope||this.obj||window, arguments) === false){
+ var args = Array.prototype.slice.call(arguments, 0);
+ var l = ls[i];
+ args.push(l.options);
+ if(l.fireFn.apply(l.scope||this.obj||window, args) === false){
this.firing = false;
return false;
}
//
(function() {
+ /**
+ * eval:var:escape
+ * eval:var:unescape
+ * eval:var:replace
+ */
+
+ /**
+ * Helpers
+ */
+
+ var escape = function (html, encode) {
+ return html
+ .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&')
+ .replace(/</g, '<')
+ .replace(/>/g, '>')
+ .replace(/"/g, '"')
+ .replace(/'/g, ''');
+ }
+
+ var unescape = function (html) {
+ // explicitly match decimal, hex, and named HTML entities
+ return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) {
+ n = n.toLowerCase();
+ if (n === 'colon') { return ':'; }
+ if (n.charAt(0) === '#') {
+ return n.charAt(1) === 'x'
+ ? String.fromCharCode(parseInt(n.substring(2), 16))
+ : String.fromCharCode(+n.substring(1));
+ }
+ return '';
+ });
+ }
+
+ var replace = function (regex, opt) {
+ regex = regex.source;
+ opt = opt || '';
+ return function self(name, val) {
+ if (!name) { return new RegExp(regex, opt); }
+ val = val.source || val;
+ val = val.replace(/(^|[^\[])\^/g, '$1');
+ regex = regex.replace(name, val);
+ return self;
+ };
+ }
+
+
+ /**
+ * eval:var:noop
+ */
+ var noop = function () {}
+ noop.exec = noop;
+
+ /**
+ * eval:var:merge
+ */
+ var merge = function (obj) {
+ var i = 1
+ , target
+ , key;
+
+ for (; i < arguments.length; i++) {
+ target = arguments[i];
+ for (key in target) {
+ if (Object.prototype.hasOwnProperty.call(target, key)) {
+ obj[key] = target[key];
+ }
+ }
+ }
+
+ return obj;
+ }
+
+
/**
* Block-Level Grammar
*/
+
+
+
var block = {
newline: /^\n+/,
code: /^( {4}[^\n]+\n*)+/,
* Block Lexer
*/
- function Lexer(options) {
+ var Lexer = function (options) {
this.tokens = [];
this.tokens.links = {};
this.options = options || marked.defaults;
* Inline Lexer & Compiler
*/
- function InlineLexer(links, options) {
+ var InlineLexer = function (links, options) {
this.options = options || marked.defaults;
this.links = links;
this.rules = inline.normal;
* Renderer
*/
- function Renderer(options) {
+ /**
+ * eval:var:Renderer
+ */
+
+ var Renderer = function (options) {
this.options = options || {};
}
/**
* Parsing & Compiling
*/
+ /**
+ * eval:var:Parser
+ */
- function Parser(options) {
+ var Parser= function (options) {
this.tokens = [];
this.token = null;
this.options = options || marked.defaults;
}
}
};
-
- /**
- * Helpers
- */
-
- function escape(html, encode) {
- return html
- .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&')
- .replace(/</g, '<')
- .replace(/>/g, '>')
- .replace(/"/g, '"')
- .replace(/'/g, ''');
- }
-
- function unescape(html) {
- // explicitly match decimal, hex, and named HTML entities
- return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) {
- n = n.toLowerCase();
- if (n === 'colon') { return ':'; }
- if (n.charAt(0) === '#') {
- return n.charAt(1) === 'x'
- ? String.fromCharCode(parseInt(n.substring(2), 16))
- : String.fromCharCode(+n.substring(1));
- }
- return '';
- });
- }
-
- function replace(regex, opt) {
- regex = regex.source;
- opt = opt || '';
- return function self(name, val) {
- if (!name) { return new RegExp(regex, opt); }
- val = val.source || val;
- val = val.replace(/(^|[^\[])\^/g, '$1');
- regex = regex.replace(name, val);
- return self;
- };
- }
-
- function noop() {}
- noop.exec = noop;
-
- function merge(obj) {
- var i = 1
- , target
- , key;
-
- for (; i < arguments.length; i++) {
- target = arguments[i];
- for (key in target) {
- if (Object.prototype.hasOwnProperty.call(target, key)) {
- obj[key] = target[key];
- }
- }
- }
-
- return obj;
- }
-
+
/**
* Marked
*/
-
- function marked(src, opt, callback) {
+ /**
+ * eval:var:marked
+ */
+ var marked = function (src, opt, callback) {
if (callback || typeof opt === 'function') {
if (!callback) {
callback = opt;
}
pending = tokens.length;
-
+ /**
+ * eval:var:done
+ */
var done = function(err) {
if (err) {
opt.highlight = highlight;
if (id) {
this.initTarget(id, sGroup, config);
}
- if (config.listeners || config.events) {
- Roo.dd.DragDrop.superclass.constructor.call(this, {
+ if (config && (config.listeners || config.events)) {
+ Roo.dd.DragDrop.superclass.constructor.call(this, {
listeners : config.listeners || {},
events : config.events || {}
});
var r = this.reader.readRecords(o);
this.loadRecords(r, {add: append}, true);
},
+
+ /**
+ * using 'cn' the nested child reader read the child array into it's child stores.
+ * @param {Object} rec The record with a 'children array
+ */
+ loadDataFromChildren : function(rec)
+ {
+ this.loadData(this.reader.toLoadData(rec));
+ },
+
/**
* Gets the number of cached records.
* Small helper class to make creating Stores from Array data easier.
* @cfg {Number} id The array index of the record id. Leave blank to auto generate ids.
* @cfg {Array} fields An array of field definition objects, or field name strings.
+ * @cfg {Object} an existing reader (eg. copied from another store)
* @cfg {Array} data The multi-dimensional array of data
* @constructor
* @param {Object} config
*/
-Roo.data.SimpleStore = function(config){
+Roo.data.SimpleStore = function(config)
+{
Roo.data.SimpleStore.superclass.constructor.call(this, {
isLocal : true,
- reader: new Roo.data.ArrayReader({
+ reader: typeof(config.reader) != 'undefined' ? config.reader : new Roo.data.ArrayReader({
id: config.id
},
Roo.data.Record.create(config.fields)
};
Roo.data.DataReader.prototype = {
+
+
+ readerType : 'Data',
/**
* Create an empty record
* @param {Object} data (optional) - overlay some values
return new this.recordType(Roo.apply(da, d));
}
+
};/*
* Based on:
* Ext JS Library 1.1.1
};
Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, {
+ readerType : 'Json',
+
/**
* @prop {Boolean} metaFromRemote - if the meta data was loaded from the remote source.
* Used by Store query builder to append _requestMeta to params.
records : records,
totalRecords : totalRecords
};
+ },
+ // used when loading children.. @see loadDataFromChildren
+ toLoadData: function(rec)
+ {
+ // expect rec just to be an array.. eg [a,b,c, [...] << cn ]
+ var data = typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn;
+ return { data : data, total : data.length };
+
}
});/*
* Based on:
Roo.data.XmlReader.superclass.constructor.call(this, meta, recordType||meta.fields);
};
Roo.extend(Roo.data.XmlReader, Roo.data.DataReader, {
+
+ readerType : 'Xml',
+
/**
* This method is only used by a DataProxy which has retrieved data from a remote server.
* @param {Object} response The XHR object which contains the parsed XML document. The response is expected
*
* created using {@link Roo.data.Record#create}.
*/
-Roo.data.ArrayReader = function(meta, recordType){
-
-
+Roo.data.ArrayReader = function(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} A data block which is used by an {@link Roo.data.Store} object as
* a cache of Roo.data.Records.
*/
- readRecords : function(o){
+ readRecords : function(o)
+ {
var sid = this.meta ? this.meta.id : null;
var recordType = this.recordType, fields = recordType.prototype.fields;
var records = [];
var root = o;
- for(var i = 0; i < root.length; i++){
- var n = root[i];
- var values = {};
- var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null);
- for(var j = 0, jlen = fields.length; j < jlen; j++){
- var f = fields.items[j];
- var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j;
- var v = n[k] !== undefined ? n[k] : f.defaultValue;
- v = f.convert(v);
- values[f.name] = v;
- }
- var record = new recordType(values, id);
- record.json = n;
- records[records.length] = record;
+ for(var i = 0; i < root.length; i++){
+ var n = root[i];
+ var values = {};
+ var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null);
+ for(var j = 0, jlen = fields.length; j < jlen; j++){
+ var f = fields.items[j];
+ var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j;
+ var v = n[k] !== undefined ? n[k] : f.defaultValue;
+ v = f.convert(v);
+ values[f.name] = v;
}
- return {
- records : records,
- totalRecords : records.length
- };
+ var record = new recordType(values, id);
+ record.json = n;
+ records[records.length] = record;
+ }
+ return {
+ records : records,
+ totalRecords : records.length
+ };
+ },
+ // used when loading children.. @see loadDataFromChildren
+ toLoadData: function(rec)
+ {
+ // expect rec just to be an array.. eg [a,b,c, [...] << cn ]
+ return typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn;
+
}
+
+
});/*
* Based on:
* Ext JS Library 1.1.1
// element that contains real text value.. (when hidden is used..)
// private
- onRender : function(ct, position){
+ onRender : function(ct, position)
+ {
Roo.form.ComboBox.superclass.onRender.call(this, ct, position);
- if(this.hiddenName){
+
+ if(this.hiddenName){
this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)},
'before', true);
this.hiddenField.value =
}
+
if(Roo.isGecko){
this.el.dom.setAttribute('autocomplete', 'off');
}
}
this.view = new Roo.View(this.innerList, this.tpl, {
- singleSelect:true, store: this.store, selectedClass: this.selectedClass
+ singleSelect:true,
+ store: this.store,
+ selectedClass: this.selectedClass
});
this.view.on('click', this.onViewClick, this);
}
}
+});/*
+ * RooJS Library 1.1.1
+ * Copyright(c) 2008-2011 Alan Knowles
+ *
+ * License - LGPL
+ */
+
+
+/**
+ * @class Roo.form.ComboNested
+ * @extends Roo.form.ComboBox
+ * A combobox for that allows selection of nested items in a list,
+ * eg.
+ *
+ * Book
+ * -> red
+ * -> green
+ * Table
+ * -> square
+ * ->red
+ * ->green
+ * -> rectangle
+ * ->green
+ *
+ *
+ * @constructor
+ * Create a new ComboNested
+ * @param {Object} config Configuration options
+ */
+Roo.form.ComboNested = function(config){
+ Roo.form.ComboCheck.superclass.constructor.call(this, config);
+ // should verify some data...
+ // like
+ // hiddenName = required..
+ // displayField = required
+ // valudField == required
+ var req= [ 'hiddenName', 'displayField', 'valueField' ];
+ var _t = this;
+ Roo.each(req, function(e) {
+ if ((typeof(_t[e]) == 'undefined' ) || !_t[e].length) {
+ throw "Roo.form.ComboNested : missing value for: " + e;
+ }
+ });
+
+
+};
+
+Roo.extend(Roo.form.ComboNested, Roo.form.ComboBox, {
+
+ /*
+ * @config {Number} max Number of columns to show
+ */
+
+ maxColumns : 3,
+
+ list : null, // the outermost div..
+ innerLists : null, // the
+ views : null,
+ stores : null,
+ // private
+ loadingChildren : false,
+
+ onRender : function(ct, position)
+ {
+ Roo.form.ComboBox.superclass.onRender.call(this, ct, position); // skip parent call - got to above..
+
+ if(this.hiddenName){
+ this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)},
+ 'before', true);
+ this.hiddenField.value =
+ this.hiddenValue !== undefined ? this.hiddenValue :
+ this.value !== undefined ? this.value : '';
+
+ // prevent input submission
+ this.el.dom.removeAttribute('name');
+
+
+ }
+
+ if(Roo.isGecko){
+ this.el.dom.setAttribute('autocomplete', 'off');
+ }
+
+ var cls = 'x-combo-list';
+
+ this.list = new Roo.Layer({
+ shadow: this.shadow, cls: [cls, this.listClass].join(' '), constrain:false
+ });
+
+ var lw = this.listWidth || Math.max(this.wrap.getWidth(), this.minListWidth);
+ this.list.setWidth(lw);
+ this.list.swallowEvent('mousewheel');
+ this.assetHeight = 0;
+
+ if(this.title){
+ this.header = this.list.createChild({cls:cls+'-hd', html: this.title});
+ this.assetHeight += this.header.getHeight();
+ }
+ this.innerLists = [];
+ this.views = [];
+ this.stores = [];
+ for (var i =0 ; i < this.maxColumns; i++) {
+ this.onRenderList( cls, i);
+ }
+
+ // always needs footer, as we are going to have an 'OK' button.
+ this.footer = this.list.createChild({cls:cls+'-ft'});
+ this.pageTb = new Roo.Toolbar(this.footer);
+ var _this = this;
+ this.pageTb.add( {
+
+ text: 'Done',
+ handler: function()
+ {
+ _this.collapse();
+ }
+ });
+
+ if ( this.allowBlank && !this.disableClear) {
+
+ this.pageTb.add(new Roo.Toolbar.Fill(), {
+ cls: 'x-btn-icon x-btn-clear',
+ text: ' ',
+ handler: function()
+ {
+ _this.collapse();
+ _this.clearValue();
+ _this.onSelect(false, -1);
+ }
+ });
+ }
+ if (this.footer) {
+ this.assetHeight += this.footer.getHeight();
+ }
+
+ },
+ onRenderList : function ( cls, i)
+ {
+
+ var lw = Math.floor(
+ ((this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')) / this.maxColumns
+ );
+
+ this.list.setWidth(lw); // default to '1'
+
+ var il = this.innerLists[i] = this.list.createChild({cls:cls+'-inner'});
+ //il.on('mouseover', this.onViewOver, this, { list: i });
+ //il.on('mousemove', this.onViewMove, this, { list: i });
+ il.setWidth(lw);
+ il.setStyle({ 'overflow-x' : 'hidden'});
+
+ if(!this.tpl){
+ this.tpl = new Roo.Template({
+ html : '<div class="'+cls+'-item '+cls+'-item-{cn:this.isEmpty}">{' + this.displayField + '}</div>',
+ isEmpty: function (value, allValues) {
+ //Roo.log(value);
+ var dl = typeof(value.data) != 'undefined' ? value.data.length : value.length; ///json is a nested response..
+ return dl ? 'has-children' : 'no-children'
+ }
+ });
+ }
+
+ var store = this.store;
+ if (i > 0) {
+ store = new Roo.data.SimpleStore({
+ //fields : this.store.reader.meta.fields,
+ reader : this.store.reader,
+ data : [ ]
+ });
+ }
+ this.stores[i] = store;
+
+ var view = this.views[i] = new Roo.View(
+ il,
+ this.tpl,
+ {
+ singleSelect:true,
+ store: store,
+ selectedClass: this.selectedClass
+ }
+ );
+ view.getEl().setWidth(lw);
+ view.getEl().setStyle({
+ position: i < 1 ? 'relative' : 'absolute',
+ top: 0,
+ left: (i * lw ) + 'px',
+ display : i > 0 ? 'none' : 'block'
+ });
+ view.on('selectionchange', this.onSelectChange, this, {list : i });
+ view.on('dblclick', this.onDoubleClick, this, {list : i });
+ //view.on('click', this.onViewClick, this, { list : i });
+
+ store.on('beforeload', this.onBeforeLoad, this);
+ store.on('load', this.onLoad, this, { list : i});
+ store.on('loadexception', this.onLoadException, this);
+
+ // hide the other vies..
+
+
+
+ },
+
+ restrictHeight : function()
+ {
+ var mh = 0;
+ Roo.each(this.innerLists, function(il,i) {
+ var el = this.views[i].getEl();
+ el.dom.style.height = '';
+ var inner = el.dom;
+ var h = Math.max(il.clientHeight, il.offsetHeight, il.scrollHeight);
+ // only adjust heights on other ones..
+ mh = Math.max(h, mh);
+ if (i < 1) {
+
+ el.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight);
+ il.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight);
+
+ }
+
+
+ }, this);
+
+ this.list.beginUpdate();
+ this.list.setHeight(mh+this.list.getFrameWidth('tb')+this.assetHeight);
+ this.list.alignTo(this.el, this.listAlign);
+ this.list.endUpdate();
+
+ },
+
+
+ // -- store handlers..
+ // private
+ onBeforeLoad : function()
+ {
+ if(!this.hasFocus){
+ return;
+ }
+ this.innerLists[0].update(this.loadingText ?
+ '<div class="loading-indicator">'+this.loadingText+'</div>' : '');
+ this.restrictHeight();
+ this.selectedIndex = -1;
+ },
+ // private
+ onLoad : function(a,b,c,d)
+ {
+ if (!this.loadingChildren) {
+ // then we are loading the top level. - hide the children
+ for (var i = 1;i < this.views.length; i++) {
+ this.views[i].getEl().setStyle({ display : 'none' });
+ }
+ var lw = Math.floor(
+ ((this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')) / this.maxColumns
+ );
+
+ this.list.setWidth(lw); // default to '1'
+
+
+ }
+ if(!this.hasFocus){
+ return;
+ }
+
+ if(this.store.getCount() > 0) {
+ this.expand();
+ this.restrictHeight();
+ } else {
+ this.onEmptyResults();
+ }
+
+ if (!this.loadingChildren) {
+ this.selectActive();
+ }
+ /*
+ this.stores[1].loadData([]);
+ this.stores[2].loadData([]);
+ this.views
+ */
+
+ //this.el.focus();
+ },
+
+
+ // private
+ onLoadException : function()
+ {
+ this.collapse();
+ Roo.log(this.store.reader.jsonData);
+ if (this.store && typeof(this.store.reader.jsonData.errorMsg) != 'undefined') {
+ Roo.MessageBox.alert("Error loading",this.store.reader.jsonData.errorMsg);
+ }
+
+
+ },
+ // no cleaning of leading spaces on blur here.
+ cleanLeadingSpace : function(e) { },
+
+
+ onSelectChange : function (view, sels, opts )
+ {
+ var ix = view.getSelectedIndexes();
+
+ if (opts.list > this.maxColumns - 2) {
+ if (view.store.getCount()< 1) {
+ this.views[opts.list ].getEl().setStyle({ display : 'none' });
+
+ } else {
+ if (ix.length) {
+ // used to clear ?? but if we are loading unselected
+ this.setFromData(view.store.getAt(ix[0]).data);
+ }
+
+ }
+
+ return;
+ }
+
+ if (!ix.length) {
+ // this get's fired when trigger opens..
+ // this.setFromData({});
+ var str = this.stores[opts.list+1];
+ str.data.clear(); // removeall wihtout the fire events..
+ return;
+ }
+
+ var rec = view.store.getAt(ix[0]);
+
+ this.setFromData(rec.data);
+ this.fireEvent('select', this, rec, ix[0]);
+
+ var lw = Math.floor(
+ (
+ (this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')
+ ) / this.maxColumns
+ );
+ this.loadingChildren = true;
+ this.stores[opts.list+1].loadDataFromChildren( rec );
+ this.loadingChildren = false;
+ var dl = this.stores[opts.list+1]. getTotalCount();
+
+ this.views[opts.list+1].getEl().setHeight( this.innerLists[0].getHeight());
+
+ this.views[opts.list+1].getEl().setStyle({ display : dl ? 'block' : 'none' });
+ for (var i = opts.list+2; i < this.views.length;i++) {
+ this.views[i].getEl().setStyle({ display : 'none' });
+ }
+
+ this.innerLists[opts.list+1].setHeight( this.innerLists[0].getHeight());
+ this.list.setWidth(lw * (opts.list + (dl ? 2 : 1)));
+
+ if (this.isLoading) {
+ // this.selectActive(opts.list);
+ }
+
+ },
+
+
+
+
+ onDoubleClick : function()
+ {
+ this.collapse(); //??
+ },
+
+
+
+
+
+ // private
+ recordToStack : function(store, prop, value, stack)
+ {
+ var cstore = new Roo.data.SimpleStore({
+ //fields : this.store.reader.meta.fields, // we need array reader.. for
+ reader : this.store.reader,
+ data : [ ]
+ });
+ var _this = this;
+ var record = false;
+ var srec = false;
+ if(store.getCount() < 1){
+ return false;
+ }
+ store.each(function(r){
+ if(r.data[prop] == value){
+ record = r;
+ srec = r;
+ return false;
+ }
+ if (r.data.cn && r.data.cn.length) {
+ cstore.loadDataFromChildren( r);
+ var cret = _this.recordToStack(cstore, prop, value, stack);
+ if (cret !== false) {
+ record = cret;
+ srec = r;
+ return false;
+ }
+ }
+
+ return true;
+ });
+ if (record == false) {
+ return false
+ }
+ stack.unshift(srec);
+ return record;
+ },
+
+ /*
+ * find the stack of stores that match our value.
+ *
+ *
+ */
+
+ selectActive : function ()
+ {
+ // if store is not loaded, then we will need to wait for that to happen first.
+ var stack = [];
+ this.recordToStack(this.store, this.valueField, this.getValue(), stack);
+ for (var i = 0; i < stack.length; i++ ) {
+ this.views[i].select(stack[i].store.indexOf(stack[i]), false, false );
+ }
+
+ }
+
+
+
+
+
+
});/*
* Based on:
* Ext JS Library 1.1.1
var r = this.reader.readRecords(o);
this.loadRecords(r, {add: append}, true);
},
+
+ /**
+ * using 'cn' the nested child reader read the child array into it's child stores.
+ * @param {Object} rec The record with a 'children array
+ */
+ loadDataFromChildren : function(rec)
+ {
+ this.loadData(this.reader.toLoadData(rec));
+ },
+
/**
* Gets the number of cached records.
* Small helper class to make creating Stores from Array data easier.
* @cfg {Number} id The array index of the record id. Leave blank to auto generate ids.
* @cfg {Array} fields An array of field definition objects, or field name strings.
+ * @cfg {Object} an existing reader (eg. copied from another store)
* @cfg {Array} data The multi-dimensional array of data
* @constructor
* @param {Object} config
*/
-Roo.data.SimpleStore = function(config){
+Roo.data.SimpleStore = function(config)
+{
Roo.data.SimpleStore.superclass.constructor.call(this, {
isLocal : true,
- reader: new Roo.data.ArrayReader({
+ reader: typeof(config.reader) != 'undefined' ? config.reader : new Roo.data.ArrayReader({
id: config.id
},
Roo.data.Record.create(config.fields)
};
Roo.data.DataReader.prototype = {
+
+
+ readerType : 'Data',
/**
* Create an empty record
* @param {Object} data (optional) - overlay some values
return new this.recordType(Roo.apply(da, d));
}
+
};/*
* Based on:
* Ext JS Library 1.1.1
};
Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, {
+ readerType : 'Json',
+
/**
* @prop {Boolean} metaFromRemote - if the meta data was loaded from the remote source.
* Used by Store query builder to append _requestMeta to params.
records : records,
totalRecords : totalRecords
};
+ },
+ // used when loading children.. @see loadDataFromChildren
+ toLoadData: function(rec)
+ {
+ // expect rec just to be an array.. eg [a,b,c, [...] << cn ]
+ var data = typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn;
+ return { data : data, total : data.length };
+
}
});/*
* Based on:
Roo.data.XmlReader.superclass.constructor.call(this, meta, recordType||meta.fields);
};
Roo.extend(Roo.data.XmlReader, Roo.data.DataReader, {
+
+ readerType : 'Xml',
+
/**
* This method is only used by a DataProxy which has retrieved data from a remote server.
* @param {Object} response The XHR object which contains the parsed XML document. The response is expected
*
* created using {@link Roo.data.Record#create}.
*/
-Roo.data.ArrayReader = function(meta, recordType){
-
-
+Roo.data.ArrayReader = function(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} A data block which is used by an {@link Roo.data.Store} object as
* a cache of Roo.data.Records.
*/
- readRecords : function(o){
+ readRecords : function(o)
+ {
var sid = this.meta ? this.meta.id : null;
var recordType = this.recordType, fields = recordType.prototype.fields;
var records = [];
var root = o;
- for(var i = 0; i < root.length; i++){
- var n = root[i];
- var values = {};
- var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null);
- for(var j = 0, jlen = fields.length; j < jlen; j++){
- var f = fields.items[j];
- var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j;
- var v = n[k] !== undefined ? n[k] : f.defaultValue;
- v = f.convert(v);
- values[f.name] = v;
- }
- var record = new recordType(values, id);
- record.json = n;
- records[records.length] = record;
+ for(var i = 0; i < root.length; i++){
+ var n = root[i];
+ var values = {};
+ var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null);
+ for(var j = 0, jlen = fields.length; j < jlen; j++){
+ var f = fields.items[j];
+ var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j;
+ var v = n[k] !== undefined ? n[k] : f.defaultValue;
+ v = f.convert(v);
+ values[f.name] = v;
}
- return {
- records : records,
- totalRecords : records.length
- };
+ var record = new recordType(values, id);
+ record.json = n;
+ records[records.length] = record;
+ }
+ return {
+ records : records,
+ totalRecords : records.length
+ };
+ },
+ // used when loading children.. @see loadDataFromChildren
+ toLoadData: function(rec)
+ {
+ // expect rec just to be an array.. eg [a,b,c, [...] << cn ]
+ return typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn;
+
}
+
+
});/*
* Based on:
* Ext JS Library 1.1.1
// element that contains real text value.. (when hidden is used..)
// private
- onRender : function(ct, position){
+ onRender : function(ct, position)
+ {
Roo.form.ComboBox.superclass.onRender.call(this, ct, position);
- if(this.hiddenName){
+
+ if(this.hiddenName){
this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)},
'before', true);
this.hiddenField.value =
}
+
if(Roo.isGecko){
this.el.dom.setAttribute('autocomplete', 'off');
}
}
this.view = new Roo.View(this.innerList, this.tpl, {
- singleSelect:true, store: this.store, selectedClass: this.selectedClass
+ singleSelect:true,
+ store: this.store,
+ selectedClass: this.selectedClass
});
this.view.on('click', this.onViewClick, this);
}
}
+});/*
+ * RooJS Library 1.1.1
+ * Copyright(c) 2008-2011 Alan Knowles
+ *
+ * License - LGPL
+ */
+
+
+/**
+ * @class Roo.form.ComboNested
+ * @extends Roo.form.ComboBox
+ * A combobox for that allows selection of nested items in a list,
+ * eg.
+ *
+ * Book
+ * -> red
+ * -> green
+ * Table
+ * -> square
+ * ->red
+ * ->green
+ * -> rectangle
+ * ->green
+ *
+ *
+ * @constructor
+ * Create a new ComboNested
+ * @param {Object} config Configuration options
+ */
+Roo.form.ComboNested = function(config){
+ Roo.form.ComboCheck.superclass.constructor.call(this, config);
+ // should verify some data...
+ // like
+ // hiddenName = required..
+ // displayField = required
+ // valudField == required
+ var req= [ 'hiddenName', 'displayField', 'valueField' ];
+ var _t = this;
+ Roo.each(req, function(e) {
+ if ((typeof(_t[e]) == 'undefined' ) || !_t[e].length) {
+ throw "Roo.form.ComboNested : missing value for: " + e;
+ }
+ });
+
+
+};
+
+Roo.extend(Roo.form.ComboNested, Roo.form.ComboBox, {
+
+ /*
+ * @config {Number} max Number of columns to show
+ */
+
+ maxColumns : 3,
+
+ list : null, // the outermost div..
+ innerLists : null, // the
+ views : null,
+ stores : null,
+ // private
+ loadingChildren : false,
+
+ onRender : function(ct, position)
+ {
+ Roo.form.ComboBox.superclass.onRender.call(this, ct, position); // skip parent call - got to above..
+
+ if(this.hiddenName){
+ this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)},
+ 'before', true);
+ this.hiddenField.value =
+ this.hiddenValue !== undefined ? this.hiddenValue :
+ this.value !== undefined ? this.value : '';
+
+ // prevent input submission
+ this.el.dom.removeAttribute('name');
+
+
+ }
+
+ if(Roo.isGecko){
+ this.el.dom.setAttribute('autocomplete', 'off');
+ }
+
+ var cls = 'x-combo-list';
+
+ this.list = new Roo.Layer({
+ shadow: this.shadow, cls: [cls, this.listClass].join(' '), constrain:false
+ });
+
+ var lw = this.listWidth || Math.max(this.wrap.getWidth(), this.minListWidth);
+ this.list.setWidth(lw);
+ this.list.swallowEvent('mousewheel');
+ this.assetHeight = 0;
+
+ if(this.title){
+ this.header = this.list.createChild({cls:cls+'-hd', html: this.title});
+ this.assetHeight += this.header.getHeight();
+ }
+ this.innerLists = [];
+ this.views = [];
+ this.stores = [];
+ for (var i =0 ; i < this.maxColumns; i++) {
+ this.onRenderList( cls, i);
+ }
+
+ // always needs footer, as we are going to have an 'OK' button.
+ this.footer = this.list.createChild({cls:cls+'-ft'});
+ this.pageTb = new Roo.Toolbar(this.footer);
+ var _this = this;
+ this.pageTb.add( {
+
+ text: 'Done',
+ handler: function()
+ {
+ _this.collapse();
+ }
+ });
+
+ if ( this.allowBlank && !this.disableClear) {
+
+ this.pageTb.add(new Roo.Toolbar.Fill(), {
+ cls: 'x-btn-icon x-btn-clear',
+ text: ' ',
+ handler: function()
+ {
+ _this.collapse();
+ _this.clearValue();
+ _this.onSelect(false, -1);
+ }
+ });
+ }
+ if (this.footer) {
+ this.assetHeight += this.footer.getHeight();
+ }
+
+ },
+ onRenderList : function ( cls, i)
+ {
+
+ var lw = Math.floor(
+ ((this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')) / this.maxColumns
+ );
+
+ this.list.setWidth(lw); // default to '1'
+
+ var il = this.innerLists[i] = this.list.createChild({cls:cls+'-inner'});
+ //il.on('mouseover', this.onViewOver, this, { list: i });
+ //il.on('mousemove', this.onViewMove, this, { list: i });
+ il.setWidth(lw);
+ il.setStyle({ 'overflow-x' : 'hidden'});
+
+ if(!this.tpl){
+ this.tpl = new Roo.Template({
+ html : '<div class="'+cls+'-item '+cls+'-item-{cn:this.isEmpty}">{' + this.displayField + '}</div>',
+ isEmpty: function (value, allValues) {
+ //Roo.log(value);
+ var dl = typeof(value.data) != 'undefined' ? value.data.length : value.length; ///json is a nested response..
+ return dl ? 'has-children' : 'no-children'
+ }
+ });
+ }
+
+ var store = this.store;
+ if (i > 0) {
+ store = new Roo.data.SimpleStore({
+ //fields : this.store.reader.meta.fields,
+ reader : this.store.reader,
+ data : [ ]
+ });
+ }
+ this.stores[i] = store;
+
+ var view = this.views[i] = new Roo.View(
+ il,
+ this.tpl,
+ {
+ singleSelect:true,
+ store: store,
+ selectedClass: this.selectedClass
+ }
+ );
+ view.getEl().setWidth(lw);
+ view.getEl().setStyle({
+ position: i < 1 ? 'relative' : 'absolute',
+ top: 0,
+ left: (i * lw ) + 'px',
+ display : i > 0 ? 'none' : 'block'
+ });
+ view.on('selectionchange', this.onSelectChange, this, {list : i });
+ view.on('dblclick', this.onDoubleClick, this, {list : i });
+ //view.on('click', this.onViewClick, this, { list : i });
+
+ store.on('beforeload', this.onBeforeLoad, this);
+ store.on('load', this.onLoad, this, { list : i});
+ store.on('loadexception', this.onLoadException, this);
+
+ // hide the other vies..
+
+
+
+ },
+
+ restrictHeight : function()
+ {
+ var mh = 0;
+ Roo.each(this.innerLists, function(il,i) {
+ var el = this.views[i].getEl();
+ el.dom.style.height = '';
+ var inner = el.dom;
+ var h = Math.max(il.clientHeight, il.offsetHeight, il.scrollHeight);
+ // only adjust heights on other ones..
+ mh = Math.max(h, mh);
+ if (i < 1) {
+
+ el.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight);
+ il.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight);
+
+ }
+
+
+ }, this);
+
+ this.list.beginUpdate();
+ this.list.setHeight(mh+this.list.getFrameWidth('tb')+this.assetHeight);
+ this.list.alignTo(this.el, this.listAlign);
+ this.list.endUpdate();
+
+ },
+
+
+ // -- store handlers..
+ // private
+ onBeforeLoad : function()
+ {
+ if(!this.hasFocus){
+ return;
+ }
+ this.innerLists[0].update(this.loadingText ?
+ '<div class="loading-indicator">'+this.loadingText+'</div>' : '');
+ this.restrictHeight();
+ this.selectedIndex = -1;
+ },
+ // private
+ onLoad : function(a,b,c,d)
+ {
+ if (!this.loadingChildren) {
+ // then we are loading the top level. - hide the children
+ for (var i = 1;i < this.views.length; i++) {
+ this.views[i].getEl().setStyle({ display : 'none' });
+ }
+ var lw = Math.floor(
+ ((this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')) / this.maxColumns
+ );
+
+ this.list.setWidth(lw); // default to '1'
+
+
+ }
+ if(!this.hasFocus){
+ return;
+ }
+
+ if(this.store.getCount() > 0) {
+ this.expand();
+ this.restrictHeight();
+ } else {
+ this.onEmptyResults();
+ }
+
+ if (!this.loadingChildren) {
+ this.selectActive();
+ }
+ /*
+ this.stores[1].loadData([]);
+ this.stores[2].loadData([]);
+ this.views
+ */
+
+ //this.el.focus();
+ },
+
+
+ // private
+ onLoadException : function()
+ {
+ this.collapse();
+ Roo.log(this.store.reader.jsonData);
+ if (this.store && typeof(this.store.reader.jsonData.errorMsg) != 'undefined') {
+ Roo.MessageBox.alert("Error loading",this.store.reader.jsonData.errorMsg);
+ }
+
+
+ },
+ // no cleaning of leading spaces on blur here.
+ cleanLeadingSpace : function(e) { },
+
+
+ onSelectChange : function (view, sels, opts )
+ {
+ var ix = view.getSelectedIndexes();
+
+ if (opts.list > this.maxColumns - 2) {
+ if (view.store.getCount()< 1) {
+ this.views[opts.list ].getEl().setStyle({ display : 'none' });
+
+ } else {
+ if (ix.length) {
+ // used to clear ?? but if we are loading unselected
+ this.setFromData(view.store.getAt(ix[0]).data);
+ }
+
+ }
+
+ return;
+ }
+
+ if (!ix.length) {
+ // this get's fired when trigger opens..
+ // this.setFromData({});
+ var str = this.stores[opts.list+1];
+ str.data.clear(); // removeall wihtout the fire events..
+ return;
+ }
+
+ var rec = view.store.getAt(ix[0]);
+
+ this.setFromData(rec.data);
+ this.fireEvent('select', this, rec, ix[0]);
+
+ var lw = Math.floor(
+ (
+ (this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')
+ ) / this.maxColumns
+ );
+ this.loadingChildren = true;
+ this.stores[opts.list+1].loadDataFromChildren( rec );
+ this.loadingChildren = false;
+ var dl = this.stores[opts.list+1]. getTotalCount();
+
+ this.views[opts.list+1].getEl().setHeight( this.innerLists[0].getHeight());
+
+ this.views[opts.list+1].getEl().setStyle({ display : dl ? 'block' : 'none' });
+ for (var i = opts.list+2; i < this.views.length;i++) {
+ this.views[i].getEl().setStyle({ display : 'none' });
+ }
+
+ this.innerLists[opts.list+1].setHeight( this.innerLists[0].getHeight());
+ this.list.setWidth(lw * (opts.list + (dl ? 2 : 1)));
+
+ if (this.isLoading) {
+ // this.selectActive(opts.list);
+ }
+
+ },
+
+
+
+
+ onDoubleClick : function()
+ {
+ this.collapse(); //??
+ },
+
+
+
+
+
+ // private
+ recordToStack : function(store, prop, value, stack)
+ {
+ var cstore = new Roo.data.SimpleStore({
+ //fields : this.store.reader.meta.fields, // we need array reader.. for
+ reader : this.store.reader,
+ data : [ ]
+ });
+ var _this = this;
+ var record = false;
+ var srec = false;
+ if(store.getCount() < 1){
+ return false;
+ }
+ store.each(function(r){
+ if(r.data[prop] == value){
+ record = r;
+ srec = r;
+ return false;
+ }
+ if (r.data.cn && r.data.cn.length) {
+ cstore.loadDataFromChildren( r);
+ var cret = _this.recordToStack(cstore, prop, value, stack);
+ if (cret !== false) {
+ record = cret;
+ srec = r;
+ return false;
+ }
+ }
+
+ return true;
+ });
+ if (record == false) {
+ return false
+ }
+ stack.unshift(srec);
+ return record;
+ },
+
+ /*
+ * find the stack of stores that match our value.
+ *
+ *
+ */
+
+ selectActive : function ()
+ {
+ // if store is not loaded, then we will need to wait for that to happen first.
+ var stack = [];
+ this.recordToStack(this.store, this.valueField, this.getValue(), stack);
+ for (var i = 0; i < stack.length; i++ ) {
+ this.views[i].select(stack[i].store.indexOf(stack[i]), false, false );
+ }
+
+ }
+
+
+
+
+
+
});/*
* Based on:
* Ext JS Library 1.1.1
}this.fireEvent("loadexception",this,o,A,o.raw.errorMsg);return;}var r=o.records,t=o.totalRecords||r.length;this.fireEvent("beforeloadadd",this,r,A,o);if(!A||A.add!==true){if(this.pruneModifiedRecords){this.modified=[];}for(var i=0,C=r.length;i<C;i++){r[i].join(this);
}if(this.snapshot){this.data=this.snapshot;delete this.snapshot;}this.data.clear();this.data.addAll(r);this.totalLength=t;this.applySort();this.fireEvent("datachanged",this);}else{this.totalLength=Math.max(t,this.data.length+r.length);this.add(r);}if(this.parent&&!Roo.isIOS&&!this.useNativeIOS&&this.parent.emptyTitle.length){var e=new Roo.data.Record({}
);e.set(this.parent.displayField,this.parent.emptyTitle);e.set(this.parent.valueField,'');this.insert(0,e);}this.fireEvent("load",this,r,A,o);if(A.callback){A.callback.call(A.scope||this,r,A,true);}},loadData:function(o,A){var r=this.reader.readRecords(o);
-this.loadRecords(r,{add:A},true);},getCount:function(){return this.data.length||0;},getTotalCount:function(){return this.totalLength||0;},getSortState:function(){return this.sortInfo;},applySort:function(){if(this.sortInfo&&!this.remoteSort){var s=this.sortInfo,f=s.field;
-var st=this.fields.get(f).sortType;var fn=function(r1,r2){var v1=st(r1.data[f]),v2=st(r2.data[f]);return v1>v2?1:(v1<v2?-1:0);};this.data.sort(s.direction,fn);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(s.direction,fn);}}},setDefaultSort:function(A,B){this.sortInfo={field:A,direction:B?B.toUpperCase():"ASC"}
-;},sort:function(A,B){var f=this.fields.get(A);if(!B){this.sortToggle[f.name]=this.sortToggle[f.name]||f.sortDir;if(this.multiSort||(this.sortInfo&&this.sortInfo.field==f.name)){B=(this.sortToggle[f.name]||"ASC").toggle("ASC","DESC");}else{B=f.sortDir;}}this.sortToggle[f.name]=B;
-this.sortInfo={field:f.name,direction:B};if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this);}else{this.load(this.lastOptions);}},each:function(fn,A){this.data.each(fn,A);},getModifiedRecords:function(){return this.modified;},createFilterFn:function(A,B,C){if(!B.exec){B=String(B);
-if(B.length==0){return false;}B=new RegExp((C===true?'':'^')+Roo.escapeRe(B),"i");}return function(r){return B.test(r.data[A]);};},sum:function(A,B,C){var rs=this.data.items,v=0;B=B||0;C=(C||C===0)?C:rs.length-1;for(var i=B;i<=C;i++){v+=(rs[i].data[A]||0);
-}return v;},filter:function(A,B,C){var fn=this.createFilterFn(A,B,C);return fn?this.filterBy(fn):this.clearFilter();},filterBy:function(fn,A){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(fn,A||this);this.fireEvent("datachanged",this);},query:function(A,B,C){var fn=this.createFilterFn(A,B,C);
-return fn?this.queryBy(fn):this.data.clone();},queryBy:function(fn,A){var B=this.snapshot||this.data;return B.filterBy(fn,A||this);},collect:function(A,B,C){var d=(C===true&&this.snapshot)?this.snapshot.items:this.data.items;var v,sv,r=[],l={};for(var i=0,D=d.length;
-i<D;i++){v=d[i].data[A];sv=String(v);if((B||!Roo.isEmpty(v))&&!l[sv]){l[sv]=true;r[r.length]=v;}}return r;},clearFilter:function(A){if(this.snapshot&&this.snapshot!=this.data){this.data=this.snapshot;delete this.snapshot;if(A!==true){this.fireEvent("datachanged",this);
-}}},afterEdit:function(A){if(this.modified.indexOf(A)==-1){this.modified.push(A);}this.fireEvent("update",this,A,Roo.data.Record.EDIT);},afterReject:function(A){this.modified.remove(A);this.fireEvent("update",this,A,Roo.data.Record.REJECT);},afterCommit:function(A){this.modified.remove(A);
-this.fireEvent("update",this,A,Roo.data.Record.COMMIT);},commitChanges:function(){var m=this.modified.slice(0);this.modified=[];for(var i=0,A=m.length;i<A;i++){m[i].commit();}},rejectChanges:function(){var m=this.modified.slice(0);this.modified=[];for(var i=0,A=m.length;
-i<A;i++){m[i].reject();}},onMetaChange:function(A,B,o){this.recordType=B;this.fields=B.prototype.fields;delete this.snapshot;this.sortInfo=A.sortInfo||this.sortInfo;this.modified=[];this.fireEvent('metachange',this,this.reader.meta);},moveIndex:function(A,B){var C=this.indexOf(A);
-var D=C+B;this.remove(A);this.insert(D,A);}});
+this.loadRecords(r,{add:A},true);},loadDataFromChildren:function(A){this.loadData(this.reader.toLoadData(A));},getCount:function(){return this.data.length||0;},getTotalCount:function(){return this.totalLength||0;},getSortState:function(){return this.sortInfo;
+},applySort:function(){if(this.sortInfo&&!this.remoteSort){var s=this.sortInfo,f=s.field;var st=this.fields.get(f).sortType;var fn=function(r1,r2){var v1=st(r1.data[f]),v2=st(r2.data[f]);return v1>v2?1:(v1<v2?-1:0);};this.data.sort(s.direction,fn);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(s.direction,fn);
+}}},setDefaultSort:function(A,B){this.sortInfo={field:A,direction:B?B.toUpperCase():"ASC"};},sort:function(A,B){var f=this.fields.get(A);if(!B){this.sortToggle[f.name]=this.sortToggle[f.name]||f.sortDir;if(this.multiSort||(this.sortInfo&&this.sortInfo.field==f.name)){B=(this.sortToggle[f.name]||"ASC").toggle("ASC","DESC");
+}else{B=f.sortDir;}}this.sortToggle[f.name]=B;this.sortInfo={field:f.name,direction:B};if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this);}else{this.load(this.lastOptions);}},each:function(fn,A){this.data.each(fn,A);},getModifiedRecords:function(){return this.modified;
+},createFilterFn:function(A,B,C){if(!B.exec){B=String(B);if(B.length==0){return false;}B=new RegExp((C===true?'':'^')+Roo.escapeRe(B),"i");}return function(r){return B.test(r.data[A]);};},sum:function(A,B,C){var rs=this.data.items,v=0;B=B||0;C=(C||C===0)?C:rs.length-1;
+for(var i=B;i<=C;i++){v+=(rs[i].data[A]||0);}return v;},filter:function(A,B,C){var fn=this.createFilterFn(A,B,C);return fn?this.filterBy(fn):this.clearFilter();},filterBy:function(fn,A){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(fn,A||this);
+this.fireEvent("datachanged",this);},query:function(A,B,C){var fn=this.createFilterFn(A,B,C);return fn?this.queryBy(fn):this.data.clone();},queryBy:function(fn,A){var B=this.snapshot||this.data;return B.filterBy(fn,A||this);},collect:function(A,B,C){var d=(C===true&&this.snapshot)?this.snapshot.items:this.data.items;
+var v,sv,r=[],l={};for(var i=0,D=d.length;i<D;i++){v=d[i].data[A];sv=String(v);if((B||!Roo.isEmpty(v))&&!l[sv]){l[sv]=true;r[r.length]=v;}}return r;},clearFilter:function(A){if(this.snapshot&&this.snapshot!=this.data){this.data=this.snapshot;delete this.snapshot;
+if(A!==true){this.fireEvent("datachanged",this);}}},afterEdit:function(A){if(this.modified.indexOf(A)==-1){this.modified.push(A);}this.fireEvent("update",this,A,Roo.data.Record.EDIT);},afterReject:function(A){this.modified.remove(A);this.fireEvent("update",this,A,Roo.data.Record.REJECT);
+},afterCommit:function(A){this.modified.remove(A);this.fireEvent("update",this,A,Roo.data.Record.COMMIT);},commitChanges:function(){var m=this.modified.slice(0);this.modified=[];for(var i=0,A=m.length;i<A;i++){m[i].commit();}},rejectChanges:function(){var m=this.modified.slice(0);
+this.modified=[];for(var i=0,A=m.length;i<A;i++){m[i].reject();}},onMetaChange:function(A,B,o){this.recordType=B;this.fields=B.prototype.fields;delete this.snapshot;this.sortInfo=A.sortInfo||this.sortInfo;this.modified=[];this.fireEvent('metachange',this,this.reader.meta);
+},moveIndex:function(A,B){var C=this.indexOf(A);var D=C+B;this.remove(A);this.insert(D,A);}});
// Roo/data/SimpleStore.js
-Roo.data.SimpleStore=function(A){Roo.data.SimpleStore.superclass.constructor.call(this,{isLocal:true,reader:new Roo.data.ArrayReader({id:A.id},Roo.data.Record.create(A.fields)),proxy:new Roo.data.MemoryProxy(A.data)});this.load();};Roo.extend(Roo.data.SimpleStore,Roo.data.Store);
-
+Roo.data.SimpleStore=function(A){Roo.data.SimpleStore.superclass.constructor.call(this,{isLocal:true,reader:typeof(A.reader)!='undefined'?A.reader:new Roo.data.ArrayReader({id:A.id},Roo.data.Record.create(A.fields)),proxy:new Roo.data.MemoryProxy(A.data)});
+this.load();};Roo.extend(Roo.data.SimpleStore,Roo.data.Store);
// Roo/data/JsonStore.js
Roo.data.JsonStore=function(c){Roo.data.JsonStore.superclass.constructor.call(this,Roo.apply(c,{proxy:!c.data?new Roo.data.HttpProxy({url:c.url}):undefined,reader:new Roo.data.JsonReader(c,c.fields)}));};Roo.extend(Roo.data.JsonStore,Roo.data.Store);
// Roo/data/Field.js
};break;case "date":cv=function(v){if(!v){return '';}if(v instanceof Date){return v;}if(C){if(C=="timestamp"){return new Date(v*1000);}return Date.parseDate(v,C);}var D=Date.parse(v);return D?new Date(D):null;};break;}this.convert=cv;}};Roo.data.Field.prototype={dateFormat:null,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC"}
;
// Roo/data/DataReader.js
-Roo.data.DataReader=function(A,B){this.meta=A;this.recordType=B instanceof Array?Roo.data.Record.create(B):B;};Roo.data.DataReader.prototype={newRow:function(d){var da={};this.recordType.prototype.fields.each(function(c){switch(c.type){case 'int':da[c.name]=0;
+Roo.data.DataReader=function(A,B){this.meta=A;this.recordType=B instanceof Array?Roo.data.Record.create(B):B;};Roo.data.DataReader.prototype={readerType:'Data',newRow:function(d){var da={};this.recordType.prototype.fields.each(function(c){switch(c.type){case 'int':da[c.name]=0;
break;case 'date':da[c.name]=new Date();break;case 'float':da[c.name]=0.0;break;case 'boolean':da[c.name]=false;break;default:da[c.name]="";break;}});return new this.recordType(Roo.apply(da,d));}};
// Roo/data/DataProxy.js
Roo.data.DataProxy=function(){this.addEvents({beforeload:true,load:true,loadexception:true});Roo.data.DataProxy.superclass.constructor.call(this);};Roo.extend(Roo.data.DataProxy,Roo.util.Observable);
}catch(e){}};}},handleResponse:function(o,A){this.trans=false;this.destroyTrans(A,true);var B;try{B=A.reader.readRecords(o);}catch(e){this.fireEvent("loadexception",this,o,A.arg,e);A.callback.call(A.scope||window,null,A.arg,false);return;}this.fireEvent("load",this,o,A.arg);
A.callback.call(A.scope||window,B,A.arg,true);},handleFailure:function(A){this.trans=false;this.destroyTrans(A,false);this.fireEvent("loadexception",this,null,A.arg);A.callback.call(A.scope||window,null,A.arg,false);}});
// Roo/data/JsonReader.js
-Roo.data.JsonReader=function(A,B){A=A||{};Roo.applyIf(A,{totalProperty:'total',successProperty:'success',root:'data',id:'id'});Roo.data.JsonReader.superclass.constructor.call(this,A,B||A.fields);};Roo.extend(Roo.data.JsonReader,Roo.data.DataReader,{metaFromRemote:false,read:function(A){var B=A.responseText;
+Roo.data.JsonReader=function(A,B){A=A||{};Roo.applyIf(A,{totalProperty:'total',successProperty:'success',root:'data',id:'id'});Roo.data.JsonReader.superclass.constructor.call(this,A,B||A.fields);};Roo.extend(Roo.data.JsonReader,Roo.data.DataReader,{readerType:'Json',metaFromRemote:false,read:function(A){var B=A.responseText;
var o=eval("("+B+")");if(!o){throw {message:"JsonReader.read: Json object not found"};}if(o.metaData){delete this.ef;this.metaFromRemote=true;this.meta=o.metaData;this.recordType=Roo.data.Record.create(o.metaData.fields);this.onMetaChange(this.meta,this.recordType,o);
}return this.readRecords(o);},onMetaChange:function(A,B,o){},simpleAccess:function(A,B){return A[B];},getJsonAccessor:function(){var re=/[\[\.]/;return function(A){try{return (re.test(A))?new Function("obj","return obj."+A):function(B){return B[A];};}catch(e){}
return Roo.emptyFn;};}(),readRecords:function(o){this.o=o;var s=this.meta,A=this.recordType,f=A?A.prototype.fields:null,fi=f?f.items:[],fl=f?f.length:0;if(!this.ef){if(s.totalProperty){this.getTotal=this.getJsonAccessor(s.totalProperty);}if(s.successProperty){this.getSuccess=this.getJsonAccessor(s.successProperty);
}this.getRoot=s.root?this.getJsonAccessor(s.root):function(p){return p;};if(s.id){var g=this.getJsonAccessor(s.id);this.getId=function(I){var r=g(I);return (r===undefined||r==="")?null:r;};}else{this.getId=function(){return null;};}this.ef=[];for(var jj=0;
jj<fl;jj++){f=fi[jj];var B=(f.mapping!==undefined&&f.mapping!==null)?f.mapping:f.name;this.ef[jj]=this.getJsonAccessor(B);}}var C=this.getRoot(o),c=C.length,D=c,E=true;if(s.totalProperty){var vt=parseInt(this.getTotal(o),10);if(!isNaN(vt)){D=vt;}}if(s.successProperty){var vs=this.getSuccess(o);
if(vs===false||vs==='false'){E=false;}}var F=[];for(var i=0;i<c;i++){var n=C[i];var G={};var id=this.getId(n);for(var j=0;j<fl;j++){f=fi[j];var v=this.ef[j](n);if(!f.convert){Roo.log('missing convert for '+f.name);Roo.log(f);continue;}G[f.name]=f.convert((v!==undefined)?v:f.defaultValue);
-}var H=new A(G,id);H.json=n;F[i]=H;}return {raw:o,success:E,records:F,totalRecords:D};}});
+}var H=new A(G,id);H.json=n;F[i]=H;}return {raw:o,success:E,records:F,totalRecords:D};},toLoadData:function(A){var B=typeof(A.data.cn)=='undefined'?[]:A.data.cn;return {data:B,total:B.length};}});
// Roo/data/XmlReader.js
-Roo.data.XmlReader=function(A,B){A=A||{};Roo.data.XmlReader.superclass.constructor.call(this,A,B||A.fields);};Roo.extend(Roo.data.XmlReader,Roo.data.DataReader,{read:function(A){var B=A.responseXML;if(!B){throw {message:"XmlReader.read: XML Document not available"}
+Roo.data.XmlReader=function(A,B){A=A||{};Roo.data.XmlReader.superclass.constructor.call(this,A,B||A.fields);};Roo.extend(Roo.data.XmlReader,Roo.data.DataReader,{readerType:'Xml',read:function(A){var B=A.responseXML;if(!B){throw {message:"XmlReader.read: XML Document not available"}
;}return this.readRecords(B);},readRecords:function(A){this.xmlData=A;var B=A.documentElement||A;var q=Roo.DomQuery;var C=this.recordType,D=C.prototype.fields;var E=this.meta.id;var F=0,G=true;if(this.meta.totalRecords){F=q.selectNumber(this.meta.totalRecords,B,0);
}if(this.meta.success){var sv=q.selectValue(this.meta.success,B,true);G=sv!==false&&sv!=='false';}var H=[];var ns=q.select(this.meta.record,B);for(var i=0,I=ns.length;i<I;i++){var n=ns[i];var J={};var id=E?q.selectValue(E,n):undefined;for(var j=0,K=D.length;
j<K;j++){var f=D.items[j];var v=q.selectValue(f.mapping||f.name,n,f.defaultValue);v=f.convert(v);J[f.name]=v;}var L=new C(J,id);L.node=n;H[H.length]=L;}return {success:G,records:H,totalRecords:F||H.length};}});
// Roo/data/ArrayReader.js
Roo.data.ArrayReader=function(A,B){Roo.data.ArrayReader.superclass.constructor.call(this,A,B||A.fields);};Roo.extend(Roo.data.ArrayReader,Roo.data.JsonReader,{readRecords:function(o){var A=this.meta?this.meta.id:null;var B=this.recordType,C=B.prototype.fields;
var D=[];var E=o;for(var i=0;i<E.length;i++){var n=E[i];var F={};var id=((A||A===0)&&n[A]!==undefined&&n[A]!==""?n[A]:null);for(var j=0,G=C.length;j<G;j++){var f=C.items[j];var k=f.mapping!==undefined&&f.mapping!==null?f.mapping:j;var v=n[k]!==undefined?n[k]:f.defaultValue;
-v=f.convert(v);F[f.name]=v;}var H=new B(F,id);H.json=n;D[D.length]=H;}return {records:D,totalRecords:D.length};}});
+v=f.convert(v);F[f.name]=v;}var H=new B(F,id);H.json=n;D[D.length]=H;}return {records:D,totalRecords:D.length};},toLoadData:function(A){return typeof(A.data.cn)=='undefined'?[]:A.data.cn;}});
// Roo/data/Tree.js
Roo.data.Tree=function(A){this.nodeHash={};this.root=null;if(A){this.setRootNode(A);}this.addEvents({"append":true,"remove":true,"move":true,"insert":true,"beforeappend":true,"beforeremove":true,"beforemove":true,"beforeinsert":true});Roo.data.Tree.superclass.constructor.call(this);
};Roo.extend(Roo.data.Tree,Roo.util.Observable,{pathSeparator:"/",proxyNodeEvent:function(){return this.fireEvent.apply(this,arguments);},getRootNode:function(){return this.root;},setRootNode:function(A){this.root=A;A.ownerTree=this;A.isRoot=true;this.registerNode(A);
if(!this.el){var B=this.getAutoCreate();this.el=ct.createChild(B,A);}this.el.child('img').dom.setAttribute('src',Roo.BLANK_IMAGE_URL);this.el.child('div').dom.innerHTML=this.cb.renderer?this.cb.renderer(this.data):String.format('{0}',this.data[this.displayField]);
this.el.child('div').dom.setAttribute('qtip',String.format('{0}',this.data[this.tipField]));this.el.child('img').on('click',this.remove,this);},remove:function(){if(this.cb.disabled){return;}if(false!==this.cb.fireEvent('beforeremove',this.cb,this)){this.cb.items.remove(this);
this.el.child('img').un('click',this.remove,this);this.el.remove();this.cb.updateHiddenEl();this.cb.fireEvent('remove',this.cb,this);}}});
+// Roo/form/ComboNested.js
+Roo.form.ComboNested=function(A){Roo.form.ComboCheck.superclass.constructor.call(this,A);var B=['hiddenName','displayField','valueField'];var _t=this;Roo.each(B,function(e){if((typeof(_t[e])=='undefined')||!_t[e].length){throw "Roo.form.ComboNested : missing value for: "+e;
+}});};Roo.extend(Roo.form.ComboNested,Roo.form.ComboBox,{maxColumns:3,list:null,innerLists:null,views:null,stores:null,loadingChildren:false,onRender:function(ct,A){Roo.form.ComboBox.superclass.onRender.call(this,ct,A);if(this.hiddenName){this.hiddenField=this.el.insertSibling({tag:'input',type:'hidden',name:this.hiddenName,id:(this.hiddenId||this.hiddenName)}
+,'before',true);this.hiddenField.value=this.hiddenValue!==undefined?this.hiddenValue:this.value!==undefined?this.value:'';this.el.dom.removeAttribute('name');}if(Roo.isGecko){this.el.dom.setAttribute('autocomplete','off');}var B='x-combo-list';this.list=new Roo.Layer({shadow:this.shadow,cls:[B,this.listClass].join(' '),constrain:false}
+);var lw=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setWidth(lw);this.list.swallowEvent('mousewheel');this.assetHeight=0;if(this.title){this.header=this.list.createChild({cls:B+'-hd',html:this.title});this.assetHeight+=this.header.getHeight();
+}this.innerLists=[];this.views=[];this.stores=[];for(var i=0;i<this.maxColumns;i++){this.onRenderList(B,i);}this.footer=this.list.createChild({cls:B+'-ft'});this.pageTb=new Roo.Toolbar(this.footer);var C=this;this.pageTb.add({text:'Done',handler:function(){C.collapse();
+}});if(this.allowBlank&&!this.disableClear){this.pageTb.add(new Roo.Toolbar.Fill(),{cls:'x-btn-icon x-btn-clear',text:' ',handler:function(){C.collapse();C.clearValue();C.onSelect(false,-1);}});}if(this.footer){this.assetHeight+=this.footer.getHeight();
+}},onRenderList:function(A,i){var lw=Math.floor(((this.listWidth*this.maxColumns||Math.max(this.wrap.getWidth(),this.minListWidth))-this.list.getFrameWidth('lr'))/this.maxColumns);this.list.setWidth(lw);var il=this.innerLists[i]=this.list.createChild({cls:A+'-inner'}
+);il.setWidth(lw);il.setStyle({'overflow-x':'hidden'});if(!this.tpl){this.tpl=new Roo.Template({html:'<div class="'+A+'-item '+A+'-item-{cn:this.isEmpty}">{'+this.displayField+'}</div>',isEmpty:function(D,E){var dl=typeof(D.data)!='undefined'?D.data.length:D.length;
+return dl?'has-children':'no-children'}});}var B=this.store;if(i>0){B=new Roo.data.SimpleStore({reader:this.store.reader,data:[]});}this.stores[i]=B;var C=this.views[i]=new Roo.View(il,this.tpl,{singleSelect:true,store:B,selectedClass:this.selectedClass});
+C.getEl().setWidth(lw);C.getEl().setStyle({position:i<1?'relative':'absolute',top:0,left:(i*lw)+'px',display:i>0?'none':'block'});C.on('selectionchange',this.onSelectChange,this,{list:i});C.on('dblclick',this.onDoubleClick,this,{list:i});B.on('beforeload',this.onBeforeLoad,this);
+B.on('load',this.onLoad,this,{list:i});B.on('loadexception',this.onLoadException,this);},restrictHeight:function(){var mh=0;Roo.each(this.innerLists,function(il,i){var el=this.views[i].getEl();el.dom.style.height='';var A=el.dom;var h=Math.max(il.clientHeight,il.offsetHeight,il.scrollHeight);
+mh=Math.max(h,mh);if(i<1){el.setHeight(h<this.maxHeight?'auto':this.maxHeight);il.setHeight(h<this.maxHeight?'auto':this.maxHeight);}},this);this.list.beginUpdate();this.list.setHeight(mh+this.list.getFrameWidth('tb')+this.assetHeight);this.list.alignTo(this.el,this.listAlign);
+this.list.endUpdate();},onBeforeLoad:function(){if(!this.hasFocus){return;}this.innerLists[0].update(this.loadingText?'<div class="loading-indicator">'+this.loadingText+'</div>':'');this.restrictHeight();this.selectedIndex=-1;},onLoad:function(a,b,c,d){if(!this.loadingChildren){for(var i=1;
+i<this.views.length;i++){this.views[i].getEl().setStyle({display:'none'});}var lw=Math.floor(((this.listWidth*this.maxColumns||Math.max(this.wrap.getWidth(),this.minListWidth))-this.list.getFrameWidth('lr'))/this.maxColumns);this.list.setWidth(lw);}if(!this.hasFocus){return;
+}if(this.store.getCount()>0){this.expand();this.restrictHeight();}else{this.onEmptyResults();}if(!this.loadingChildren){this.selectActive();}},onLoadException:function(){this.collapse();Roo.log(this.store.reader.jsonData);if(this.store&&typeof(this.store.reader.jsonData.errorMsg)!='undefined'){Roo.MessageBox.alert("Error loading",this.store.reader.jsonData.errorMsg);
+}},cleanLeadingSpace:function(e){},onSelectChange:function(A,B,C){var ix=A.getSelectedIndexes();if(C.list>this.maxColumns-2){if(A.store.getCount()<1){this.views[C.list].getEl().setStyle({display:'none'});}else{if(ix.length){this.setFromData(A.store.getAt(ix[0]).data);
+}}return;}if(!ix.length){var D=this.stores[C.list+1];D.data.clear();return;}var E=A.store.getAt(ix[0]);this.setFromData(E.data);this.fireEvent('select',this,E,ix[0]);var lw=Math.floor(((this.listWidth*this.maxColumns||Math.max(this.wrap.getWidth(),this.minListWidth))-this.list.getFrameWidth('lr'))/this.maxColumns);
+this.loadingChildren=true;this.stores[C.list+1].loadDataFromChildren(E);this.loadingChildren=false;var dl=this.stores[C.list+1].getTotalCount();this.views[C.list+1].getEl().setHeight(this.innerLists[0].getHeight());this.views[C.list+1].getEl().setStyle({display:dl?'block':'none'}
+);for(var i=C.list+2;i<this.views.length;i++){this.views[i].getEl().setStyle({display:'none'});}this.innerLists[C.list+1].setHeight(this.innerLists[0].getHeight());this.list.setWidth(lw*(C.list+(dl?2:1)));if(this.isLoading){}},onDoubleClick:function(){this.collapse();
+},recordToStack:function(A,B,C,D){var E=new Roo.data.SimpleStore({reader:this.store.reader,data:[]});var F=this;var G=false;var H=false;if(A.getCount()<1){return false;}A.each(function(r){if(r.data[B]==C){G=r;H=r;return false;}if(r.data.cn&&r.data.cn.length){E.loadDataFromChildren(r);
+var I=F.recordToStack(E,B,C,D);if(I!==false){G=I;H=r;return false;}}return true;});if(G==false){return false}D.unshift(H);return G;},selectActive:function(){var A=[];this.recordToStack(this.store,this.valueField,this.getValue(),A);for(var i=0;i<A.length;i++){this.views[i].select(A[i].store.indexOf(A[i]),false,false);
+}}});
// Roo/form/Checkbox.js
Roo.form.Checkbox=function(A){Roo.form.Checkbox.superclass.constructor.call(this,A);this.addEvents({check:true});};Roo.extend(Roo.form.Checkbox,Roo.form.Field,{focusClass:undefined,fieldClass:"x-form-field",checked:false,defaultAutoCreate:{tag:"input",type:'hidden',autocomplete:"off"}
,boxLabel:"",inputValue:'1',valueOff:'0',actionMode:'viewEl',itemCls:'x-menu-check-item x-form-item',groupClass:'x-menu-group-item',inputType:'hidden',inSetChecked:false,inputElement:false,basedOn:false,isFormField:true,onResize:function(){Roo.form.Checkbox.superclass.onResize.apply(this,arguments);