/** * @class Ext.Template * Represents an HTML fragment template. Templates may be {@link #compile precompiled} for greater performance. * * An instance of this class may be created by passing to the constructor either a single argument, or multiple * arguments: * * # Single argument: String/Array * * The single argument may be either a String or an Array: * * - String: * * var t = new Ext.Template("<div>Hello {0}.</div>"); * t.append('some-element', ['foo']); * * - Array: * * An Array will be combined with `join('')`. * * var t = new Ext.Template([ * '<div name="{id}">', * '<span class="{cls}">{name:trim} {value:ellipsis(10)}</span>', * '</div>', * ]); * t.compile(); * t.append('some-element', {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'}); * * # Multiple arguments: String, Object, Array, ... * * Multiple arguments will be combined with `join('')`. * * var t = new Ext.Template( * '<div name="{id}">', * '<span class="{cls}">{name} {value}</span>', * '</div>', * // a configuration object: * { * compiled: true, // {@link #compile} immediately * } * ); * * # Notes * * - For a list of available format functions, see {@link Ext.util.Format}. * - `disableFormats` reduces `{@link #apply}` time when no formatting is required. */ /** * @property {Boolean} [isTemplate=true] * `true` in this class to identify an object as an instantiated Template, or subclass thereof. */ /** * @cfg {Boolean} compiled * True to immediately compile the template. Defaults to false. */ /** * @cfg {Boolean} disableFormats * True to disable format functions in the template. If the template doesn't contain * format functions, setting disableFormats to true will reduce apply time. Defaults to false. */