From: leon Date: Mon, 19 Dec 2022 07:26:30 +0000 (+0800) Subject: fix #7444 New_Customer_Portal_200_Design X-Git-Url: http://git.roojs.org/?p=roojs1;a=commitdiff_plain;h=0babedc96536dd38cb2b8c9a9f285d4f8a92daae fix #7444 New_Customer_Portal_200_Design --- diff --git a/Roo/bootstrap/form/TimeField.js b/Roo/bootstrap/form/TimeField.js index 4138a9756b..9a8d12232f 100644 --- a/Roo/bootstrap/form/TimeField.js +++ b/Roo/bootstrap/form/TimeField.js @@ -9,6 +9,7 @@ * @class Roo.bootstrap.form.TimeField * @extends Roo.bootstrap.form.Input * Bootstrap DateField class + * @cfg {Number} minuteStep the minutes goes up/down by a fixed number, default 1 * * * @constructor @@ -51,6 +52,7 @@ Roo.extend(Roo.bootstrap.form.TimeField, Roo.bootstrap.form.Input, { * valid according to {@link Date#parseDate} (defaults to 'H:i'). */ format : "H:i", + minuteStep : 1, getAutoCreate : function() { @@ -431,14 +433,14 @@ Roo.extend(Roo.bootstrap.form.TimeField, Roo.bootstrap.form.Input, { onIncrementMinutes: function() { Roo.log('onIncrementMinutes'); - this.time = this.time.add(Date.MINUTE, 1); + this.time = this.time.add(Date.MINUTE, this.minuteStep); this.update(); }, onDecrementMinutes: function() { Roo.log('onDecrementMinutes'); - this.time = this.time.add(Date.MINUTE, -1); + this.time = this.time.add(Date.MINUTE, -1 * this.minuteStep); this.update(); }, diff --git a/buildSDK/dependancy_bootstrap.txt b/buildSDK/dependancy_bootstrap.txt index cfa194648d..dc19c70ca4 100644 --- a/buildSDK/dependancy_bootstrap.txt +++ b/buildSDK/dependancy_bootstrap.txt @@ -127,16 +127,6 @@ Roo.bootstrap.form.CheckBox Roo.bootstrap.form.Radio Roo.bootstrap.form.SecurePass - -Roo.rtf.namespace -Roo.rtf.Hex -Roo.rtf.Paragraph -Roo.rtf.Span -Roo.rtf.Group -Roo.rtf.Document -Roo.rtf.Ctrl -Roo.rtf.Parser - Roo.htmleditor.namespace Roo.htmleditor.Filter Roo.htmleditor.FilterAttributes @@ -155,7 +145,6 @@ Roo.htmleditor.TidyWriter Roo.htmleditor.TidyEntities Roo.htmleditor.KeyEnter - Roo.htmleditor.Block Roo.htmleditor.BlockFigure Roo.htmleditor.BlockTable diff --git a/roojs-bootstrap-debug.js b/roojs-bootstrap-debug.js index add16b4037..af9539e86f 100644 --- a/roojs-bootstrap-debug.js +++ b/roojs-bootstrap-debug.js @@ -23973,6 +23973,7 @@ Roo.apply(Roo.bootstrap.form.DateField, { * @class Roo.bootstrap.form.TimeField * @extends Roo.bootstrap.form.Input * Bootstrap DateField class + * @cfg {Number} minuteStep the minutes goes up/down by a fixed number, default 1 * * * @constructor @@ -24015,6 +24016,7 @@ Roo.extend(Roo.bootstrap.form.TimeField, Roo.bootstrap.form.Input, { * valid according to {@link Date#parseDate} (defaults to 'H:i'). */ format : "H:i", + minuteStep : 1, getAutoCreate : function() { @@ -24395,14 +24397,14 @@ Roo.extend(Roo.bootstrap.form.TimeField, Roo.bootstrap.form.Input, { onIncrementMinutes: function() { Roo.log('onIncrementMinutes'); - this.time = this.time.add(Date.MINUTE, 1); + this.time = this.time.add(Date.MINUTE, this.minuteStep); this.update(); }, onDecrementMinutes: function() { Roo.log('onDecrementMinutes'); - this.time = this.time.add(Date.MINUTE, -1); + this.time = this.time.add(Date.MINUTE, -1 * this.minuteStep); this.update(); }, @@ -26030,501 +26032,7 @@ Roo.extend(Roo.bootstrap.form.SecurePass, Roo.bootstrap.form.Input, { return this.IsLongEnough(pwd, 6) || !this.IsLongEnough(pwd, 0); } -});Roo.rtf = {}; // namespace -Roo.rtf.Hex = function(hex) -{ - this.hexstr = hex; -}; -Roo.rtf.Paragraph = function(opts) -{ - this.content = []; ///??? is that used? -};Roo.rtf.Span = function(opts) -{ - this.value = opts.value; -}; - -Roo.rtf.Group = function(parent) -{ - // we dont want to acutally store parent - it will make debug a nightmare.. - this.content = []; - this.cn = []; - - - -}; - -Roo.rtf.Group.prototype = { - ignorable : false, - content: false, - cn: false, - addContent : function(node) { - // could set styles... - this.content.push(node); - }, - addChild : function(cn) - { - this.cn.push(cn); - }, - // only for images really... - toDataURL : function() - { - var mimetype = false; - switch(true) { - case this.content.filter(function(a) { return a.value == 'pngblip' } ).length > 0: - mimetype = "image/png"; - break; - case this.content.filter(function(a) { return a.value == 'jpegblip' } ).length > 0: - mimetype = "image/jpeg"; - break; - default : - return 'about:blank'; // ?? error? - } - - - var hexstring = this.content[this.content.length-1].value; - - return 'data:' + mimetype + ';base64,' + btoa(hexstring.match(/\w{2}/g).map(function(a) { - return String.fromCharCode(parseInt(a, 16)); - }).join("")); - } - -}; -// this looks like it's normally the {rtf{ .... }} -Roo.rtf.Document = function() -{ - // we dont want to acutally store parent - it will make debug a nightmare.. - this.rtlch = []; - this.content = []; - this.cn = []; - -}; -Roo.extend(Roo.rtf.Document, Roo.rtf.Group, { - addChild : function(cn) - { - this.cn.push(cn); - switch(cn.type) { - case 'rtlch': // most content seems to be inside this?? - case 'listtext': - case 'shpinst': - this.rtlch.push(cn); - return; - default: - this[cn.type] = cn; - } - - }, - - getElementsByType : function(type) - { - var ret = []; - this._getElementsByType(type, ret, this.cn, 'rtf'); - return ret; - }, - _getElementsByType : function (type, ret, search_array, path) - { - search_array.forEach(function(n,i) { - if (n.type == type) { - n.path = path + '/' + n.type + ':' + i; - ret.push(n); - } - if (n.cn.length > 0) { - this._getElementsByType(type, ret, n.cn, path + '/' + n.type+':'+i); - } - },this); - } - }); - -Roo.rtf.Ctrl = function(opts) -{ - this.value = opts.value; - this.param = opts.param; -}; -/** - * - * - * based on this https://github.com/iarna/rtf-parser - * it's really only designed to extract pict from pasted RTF - * - * usage: - * - * var images = new Roo.rtf.Parser().parse(a_string).filter(function(g) { return g.type == 'pict'; }); - * - * - */ - - - - - -Roo.rtf.Parser = function(text) { - //super({objectMode: true}) - this.text = ''; - this.parserState = this.parseText; - - // these are for interpeter... - this.doc = {}; - ///this.parserState = this.parseTop - this.groupStack = []; - this.hexStore = []; - this.doc = false; - - this.groups = []; // where we put the return. - - for (var ii = 0; ii < text.length; ++ii) { - ++this.cpos; - - if (text[ii] === '\n') { - ++this.row; - this.col = 1; - } else { - ++this.col; - } - this.parserState(text[ii]); - } - - - -}; -Roo.rtf.Parser.prototype = { - text : '', // string being parsed.. - controlWord : '', - controlWordParam : '', - hexChar : '', - doc : false, - group: false, - groupStack : false, - hexStore : false, - - - cpos : 0, - row : 1, // reportin? - col : 1, // - - - push : function (el) - { - var m = 'cmd'+ el.type; - if (typeof(this[m]) == 'undefined') { - Roo.log('invalid cmd:' + el.type); - return; - } - this[m](el); - //Roo.log(el); - }, - flushHexStore : function() - { - if (this.hexStore.length < 1) { - return; - } - var hexstr = this.hexStore.map( - function(cmd) { - return cmd.value; - }).join(''); - - this.group.addContent( new Roo.rtf.Hex( hexstr )); - - - this.hexStore.splice(0) - - }, - - cmdgroupstart : function() - { - this.flushHexStore(); - if (this.group) { - this.groupStack.push(this.group); - } - // parent.. - if (this.doc === false) { - this.group = this.doc = new Roo.rtf.Document(); - return; - - } - this.group = new Roo.rtf.Group(this.group); - }, - cmdignorable : function() - { - this.flushHexStore(); - this.group.ignorable = true; - }, - cmdendparagraph : function() - { - this.flushHexStore(); - this.group.addContent(new Roo.rtf.Paragraph()); - }, - cmdgroupend : function () - { - this.flushHexStore(); - var endingGroup = this.group; - - - this.group = this.groupStack.pop(); - if (this.group) { - this.group.addChild(endingGroup); - } - - - - var doc = this.group || this.doc; - //if (endingGroup instanceof FontTable) { - // doc.fonts = endingGroup.table - //} else if (endingGroup instanceof ColorTable) { - // doc.colors = endingGroup.table - //} else if (endingGroup !== this.doc && !endingGroup.get('ignorable')) { - if (endingGroup.ignorable === false) { - //code - this.groups.push(endingGroup); - // Roo.log( endingGroup ); - } - //Roo.each(endingGroup.content, function(item)) { - // doc.addContent(item); - //} - //process.emit('debug', 'GROUP END', endingGroup.type, endingGroup.get('ignorable')) - //} - }, - cmdtext : function (cmd) - { - this.flushHexStore(); - if (!this.group) { // an RTF fragment, missing the {\rtf1 header - //this.group = this.doc - return; // we really don't care about stray text... - } - this.group.addContent(new Roo.rtf.Span(cmd)); - }, - cmdcontrolword : function (cmd) - { - this.flushHexStore(); - if (!this.group.type) { - this.group.type = cmd.value; - return; - } - this.group.addContent(new Roo.rtf.Ctrl(cmd)); - // we actually don't care about ctrl words... - return ; - /* - var method = 'ctrl$' + cmd.value.replace(/-(.)/g, (_, char) => char.toUpperCase()) - if (this[method]) { - this[method](cmd.param) - } else { - if (!this.group.get('ignorable')) process.emit('debug', method, cmd.param) - } - */ - }, - cmdhexchar : function(cmd) { - this.hexStore.push(cmd); - }, - cmderror : function(cmd) { - throw cmd.value; - }, - - /* - _flush (done) { - if (this.text !== '\u0000') this.emitText() - done() - } - */ - - - parseText : function(c) - { - if (c === '\\') { - this.parserState = this.parseEscapes; - } else if (c === '{') { - this.emitStartGroup(); - } else if (c === '}') { - this.emitEndGroup(); - } else if (c === '\x0A' || c === '\x0D') { - // cr/lf are noise chars - } else { - this.text += c; - } - }, - - parseEscapes: function (c) - { - if (c === '\\' || c === '{' || c === '}') { - this.text += c; - this.parserState = this.parseText; - } else { - this.parserState = this.parseControlSymbol; - this.parseControlSymbol(c); - } - }, - parseControlSymbol: function(c) - { - if (c === '~') { - this.text += '\u00a0'; // nbsp - this.parserState = this.parseText - } else if (c === '-') { - this.text += '\u00ad'; // soft hyphen - } else if (c === '_') { - this.text += '\u2011'; // non-breaking hyphen - } else if (c === '*') { - this.emitIgnorable(); - this.parserState = this.parseText; - } else if (c === "'") { - this.parserState = this.parseHexChar; - } else if (c === '|') { // formula cacter - this.emitFormula(); - this.parserState = this.parseText; - } else if (c === ':') { // subentry in an index entry - this.emitIndexSubEntry(); - this.parserState = this.parseText; - } else if (c === '\x0a') { - this.emitEndParagraph(); - this.parserState = this.parseText; - } else if (c === '\x0d') { - this.emitEndParagraph(); - this.parserState = this.parseText; - } else { - this.parserState = this.parseControlWord; - this.parseControlWord(c); - } - }, - parseHexChar: function (c) - { - if (/^[A-Fa-f0-9]$/.test(c)) { - this.hexChar += c; - if (this.hexChar.length >= 2) { - this.emitHexChar(); - this.parserState = this.parseText; - } - return; - } - this.emitError("Invalid character \"" + c + "\" in hex literal."); - this.parserState = this.parseText; - - }, - parseControlWord : function(c) - { - if (c === ' ') { - this.emitControlWord(); - this.parserState = this.parseText; - } else if (/^[-\d]$/.test(c)) { - this.parserState = this.parseControlWordParam; - this.controlWordParam += c; - } else if (/^[A-Za-z]$/.test(c)) { - this.controlWord += c; - } else { - this.emitControlWord(); - this.parserState = this.parseText; - this.parseText(c); - } - }, - parseControlWordParam : function (c) { - if (/^\d$/.test(c)) { - this.controlWordParam += c; - } else if (c === ' ') { - this.emitControlWord(); - this.parserState = this.parseText; - } else { - this.emitControlWord(); - this.parserState = this.parseText; - this.parseText(c); - } - }, - - - - - emitText : function () { - if (this.text === '') { - return; - } - this.push({ - type: 'text', - value: this.text, - pos: this.cpos, - row: this.row, - col: this.col - }); - this.text = '' - }, - emitControlWord : function () - { - this.emitText(); - if (this.controlWord === '') { - // do we want to track this - it seems just to cause problems. - //this.emitError('empty control word'); - } else { - this.push({ - type: 'controlword', - value: this.controlWord, - param: this.controlWordParam !== '' && Number(this.controlWordParam), - pos: this.cpos, - row: this.row, - col: this.col - }); - } - this.controlWord = ''; - this.controlWordParam = ''; - }, - emitStartGroup : function () - { - this.emitText(); - this.push({ - type: 'groupstart', - pos: this.cpos, - row: this.row, - col: this.col - }); - }, - emitEndGroup : function () - { - this.emitText(); - this.push({ - type: 'groupend', - pos: this.cpos, - row: this.row, - col: this.col - }); - }, - emitIgnorable : function () - { - this.emitText(); - this.push({ - type: 'ignorable', - pos: this.cpos, - row: this.row, - col: this.col - }); - }, - emitHexChar : function () - { - this.emitText(); - this.push({ - type: 'hexchar', - value: this.hexChar, - pos: this.cpos, - row: this.row, - col: this.col - }); - this.hexChar = '' - }, - emitError : function (message) - { - this.emitText(); - this.push({ - type: 'error', - value: message, - row: this.row, - col: this.col, - char: this.cpos //, - //stack: new Error().stack - }); - }, - emitEndParagraph : function () { - this.emitText(); - this.push({ - type: 'endparagraph', - pos: this.cpos, - row: this.row, - col: this.col - }); - } - -} ; Roo.htmleditor = {}; /** diff --git a/roojs-bootstrap.js b/roojs-bootstrap.js index 2524b1a4d5..e7eb3814f0 100644 --- a/roojs-bootstrap.js +++ b/roojs-bootstrap.js @@ -1015,7 +1015,7 @@ if(B!==true){return false;}}if(this.regex&&!this.regex.test(A)){return false;}if ,Roo.bootstrap.form.DateField.footer]}]},{tag:'div',cls:'datepicker-months',cn:[{tag:'table',cls:'table-condensed',cn:[Roo.bootstrap.form.DateField.head,Roo.bootstrap.form.DateField.content,Roo.bootstrap.form.DateField.footer]}]},{tag:'div',cls:'datepicker-years',cn:[{tag:'table',cls:'table-condensed',cn:[Roo.bootstrap.form.DateField.head,Roo.bootstrap.form.DateField.content,Roo.bootstrap.form.DateField.footer]} ]}]}}); // Roo/bootstrap/form/TimeField.js -Roo.bootstrap.form.TimeField=function(A){Roo.bootstrap.form.TimeField.superclass.constructor.call(this,A);this.addEvents({show:true,hide:true,select:true});};Roo.extend(Roo.bootstrap.form.TimeField,Roo.bootstrap.form.Input,{format:"H:i",getAutoCreate:function(){this.after=''; +Roo.bootstrap.form.TimeField=function(A){Roo.bootstrap.form.TimeField.superclass.constructor.call(this,A);this.addEvents({show:true,hide:true,select:true});};Roo.extend(Roo.bootstrap.form.TimeField,Roo.bootstrap.form.Input,{format:"H:i",minuteStep:1,getAutoCreate:function(){this.after=''; return Roo.bootstrap.form.TimeField.superclass.getAutoCreate.call(this);},onRender:function(ct,A){Roo.bootstrap.form.TimeField.superclass.onRender.call(this,ct,A);this.pickerEl=Roo.get(document.body).createChild(Roo.bootstrap.form.TimeField.template);this.picker().setVisibilityMode(Roo.Element.DISPLAY).originalDisplay='block'; this.pop=this.picker().select('>.datepicker-time',true).first();this.pop.setVisibilityMode(Roo.Element.DISPLAY).originalDisplay='block';this.picker().on('mousedown',this.onMousedown,this);this.picker().on('click',this.onClick,this);this.picker().addClass('datepicker-dropdown'); this.fillTime();this.update();this.pop.select('.hours-up',true).first().on('click',this.onIncrementHours,this);this.pop.select('.hours-down',true).first().on('click',this.onDecrementHours,this);this.pop.select('.minutes-up',true).first().on('click',this.onIncrementMinutes,this); @@ -1031,8 +1031,8 @@ A.push('top');}A.push('right');if((Roo.lib.Dom.getViewWidth()+Roo.get(document.b ).defer(200);B.picker().alignTo(B.inputEl(),"tr-br",[0,10],false);return;}if(c=='top'){B.picker().alignTo(B.inputEl(),"br-tr",[0,10],false);return;}});},onFocus:function(){Roo.bootstrap.form.TimeField.superclass.onFocus.call(this);this.show();},onBlur:function(){Roo.bootstrap.form.TimeField.superclass.onBlur.call(this); this.hide();},show:function(){this.picker().show();this.pop.show();this.update();this.place();this.fireEvent('show',this,this.date);},hide:function(){this.picker().hide();this.pop.hide();this.fireEvent('hide',this,this.date);},setTime:function(){this.hide(); this.setValue(this.time.format(this.format));this.fireEvent('select',this,this.date);},onMousedown:function(e){e.stopPropagation();e.preventDefault();},onIncrementHours:function(){Roo.log('onIncrementHours');this.time=this.time.add(Date.HOUR,1);this.update(); -},onDecrementHours:function(){Roo.log('onDecrementHours');this.time=this.time.add(Date.HOUR,-1);this.update();},onIncrementMinutes:function(){Roo.log('onIncrementMinutes');this.time=this.time.add(Date.MINUTE,1);this.update();},onDecrementMinutes:function(){Roo.log('onDecrementMinutes'); -this.time=this.time.add(Date.MINUTE,-1);this.update();},onTogglePeriod:function(){Roo.log('onTogglePeriod');this.time=this.time.add(Date.HOUR,12);this.update();}});Roo.apply(Roo.bootstrap.form.TimeField,{template:{tag:'div',cls:'datepicker dropdown-menu',cn:[{tag:'div',cls:'datepicker-time',cn:[{tag:'table',cls:'table-condensed',cn:[{tag:'tbody',cn:[{tag:'tr',cn:[{tag:'td',colspan:'7'} +},onDecrementHours:function(){Roo.log('onDecrementHours');this.time=this.time.add(Date.HOUR,-1);this.update();},onIncrementMinutes:function(){Roo.log('onIncrementMinutes');this.time=this.time.add(Date.MINUTE,this.minuteStep);this.update();},onDecrementMinutes:function(){Roo.log('onDecrementMinutes'); +this.time=this.time.add(Date.MINUTE,-1*this.minuteStep);this.update();},onTogglePeriod:function(){Roo.log('onTogglePeriod');this.time=this.time.add(Date.HOUR,12);this.update();}});Roo.apply(Roo.bootstrap.form.TimeField,{template:{tag:'div',cls:'datepicker dropdown-menu',cn:[{tag:'div',cls:'datepicker-time',cn:[{tag:'table',cls:'table-condensed',cn:[{tag:'tbody',cn:[{tag:'tr',cn:[{tag:'td',colspan:'7'} ]}]},{tag:'tfoot',cn:[{tag:'tr',cn:[{tag:'th',colspan:'7',cls:'',cn:[{tag:'button',cls:'btn btn-info ok',html:'OK'}]}]}]}]}]}]}}); // Roo/bootstrap/form/MonthField.js Roo.bootstrap.form.MonthField=function(A){Roo.bootstrap.form.MonthField.superclass.constructor.call(this,A);this.addEvents({show:true,hide:true,select:true});};Roo.extend(Roo.bootstrap.form.MonthField,Roo.bootstrap.form.Input,{onRender:function(ct,A){Roo.bootstrap.form.MonthField.superclass.onRender.call(this,ct,A); @@ -1110,43 +1110,6 @@ pt.innerHTML=this.meterLabel+' '+this.pwdStrengths[B];this.errorMsg='';retu }var B=new Array(new this.CharacterSetChecks(this.kCapitalLetter),new this.CharacterSetChecks(this.kSmallLetter),new this.CharacterSetChecks(this.kDigit),new this.CharacterSetChecks(this.kPunctuation));for(var C=0;C0:A="image/png";break;case this.content.filter(function(a){return a.value=='jpegblip'}).length>0:A="image/jpeg";break;default:return 'about:blank';}var B=this.content[this.content.length-1].value;return 'data:'+A+';base64,'+btoa(B.match(/\w{2}/g).map(function(a){return String.fromCharCode(parseInt(a,16)); -}).join(""));}}; -// Roo/rtf/Document.js -Roo.rtf.Document=function(){this.rtlch=[];this.content=[];this.cn=[];};Roo.extend(Roo.rtf.Document,Roo.rtf.Group,{addChild:function(cn){this.cn.push(cn);switch(cn.type){case 'rtlch':case 'listtext':case 'shpinst':this.rtlch.push(cn);return;default:this[cn.type]=cn; -}},getElementsByType:function(A){var B=[];this._getElementsByType(A,B,this.cn,'rtf');return B;},_getElementsByType:function(A,B,C,D){C.forEach(function(n,i){if(n.type==A){n.path=D+'/'+n.type+':'+i;B.push(n);}if(n.cn.length>0){this._getElementsByType(A,B,n.cn,D+'/'+n.type+':'+i); -}},this);}}); -// Roo/rtf/Ctrl.js -Roo.rtf.Ctrl=function(A){this.value=A.value;this.param=A.param;}; -// Roo/rtf/Parser.js -Roo.rtf.Parser=function(A){this.text='';this.parserState=this.parseText;this.doc={};this.groupStack=[];this.hexStore=[];this.doc=false;this.groups=[];for(var ii=0;ii=2){this.emitHexChar();this.parserState=this.parseText;}return;}this.emitError("Invalid character \""+c+"\" in hex literal."); -this.parserState=this.parseText;},parseControlWord:function(c){if(c===' '){this.emitControlWord();this.parserState=this.parseText;}else if(/^[-\d]$/.test(c)){this.parserState=this.parseControlWordParam;this.controlWordParam+=c;}else if(/^[A-Za-z]$/.test(c)){this.controlWord+=c; -}else{this.emitControlWord();this.parserState=this.parseText;this.parseText(c);}},parseControlWordParam:function(c){if(/^\d$/.test(c)){this.controlWordParam+=c;}else if(c===' '){this.emitControlWord();this.parserState=this.parseText;}else{this.emitControlWord(); -this.parserState=this.parseText;this.parseText(c);}},emitText:function(){if(this.text===''){return;}this.push({type:'text',value:this.text,pos:this.cpos,row:this.row,col:this.col});this.text=''},emitControlWord:function(){this.emitText();if(this.controlWord===''){} -else{this.push({type:'controlword',value:this.controlWord,param:this.controlWordParam!==''&&Number(this.controlWordParam),pos:this.cpos,row:this.row,col:this.col});}this.controlWord='';this.controlWordParam='';},emitStartGroup:function(){this.emitText();this.push({type:'groupstart',pos:this.cpos,row:this.row,col:this.col} -);},emitEndGroup:function(){this.emitText();this.push({type:'groupend',pos:this.cpos,row:this.row,col:this.col});},emitIgnorable:function(){this.emitText();this.push({type:'ignorable',pos:this.cpos,row:this.row,col:this.col});},emitHexChar:function(){this.emitText(); -this.push({type:'hexchar',value:this.hexChar,pos:this.cpos,row:this.row,col:this.col});this.hexChar=''},emitError:function(A){this.emitText();this.push({type:'error',value:A,row:this.row,col:this.col,char:this.cpos});},emitEndParagraph:function(){this.emitText(); -this.push({type:'endparagraph',pos:this.cpos,row:this.row,col:this.col});}}; // Roo/htmleditor/namespace.js Roo.htmleditor={}; // Roo/htmleditor/Filter.js