UNPKG

siesta-lite

Version:

Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers

54 lines (40 loc) 1.38 kB
/* Siesta 5.6.1 Copyright(c) 2009-2022 Bryntum AB https://bryntum.com/contact https://bryntum.com/products/siesta/license */ Ext.define('Siesta.Project.Browser.UI.SourcePanel', { extend : 'Ext.Panel', alias : 'widget.sourcepanel', __filled__ : false, autoScroll : true, cls : 'test-source-ct', layout : 'absolute', border : false, bodyBorder : false, setSource : function (source, linesToHighlight) { var sourceCtEl = this.el; if (!this.__filled__) { this.__filled__ = true; this.update( Ext.String.format('<pre class="brush: javascript;">{0}</pre>', source) ); // Disable the double click handling, which removes the code coloring SyntaxHighlighter.defaults['quick-code'] = false; SyntaxHighlighter.highlight(sourceCtEl); } sourceCtEl.select('.highlighted').removeCls('highlighted'); // Highlight rows Ext.Array.each(linesToHighlight, function (line) { sourceCtEl.select('.line.number' + line).addCls('highlighted'); }); if (linesToHighlight.length > 0) { var el = sourceCtEl.down('.highlighted'); el && el.scrollIntoView(sourceCtEl); } }, clear : function () { this.__filled__ = false; } });