/** * @class Ext * @extend Ext.Base * * The Ext namespace (global object) encapsulates all classes, singletons, and * utility methods provided by Sencha's libraries. * * Most user interface Components are at a lower level of nesting in the namespace, * but many common utility functions are provided as direct properties of the Ext namespace. * * Also many frequently used methods from other classes are provided as shortcuts * within the Ext namespace. For example {@link Ext#getCmp Ext.getCmp} aliases * {@link Ext.ComponentManager#get Ext.ComponentManager.get}. * * Many applications are initiated with {@link Ext#application Ext.application} which is * called once the DOM is ready. This ensures all scripts have been loaded, preventing * dependency issues. For example: * * Ext.application({ * name: 'MyApp', * * launch: function () { * Ext.Msg.alert(this.name, 'Ready to go!'); * } * }); * * <b><a href="http://www.sencha.com/products/sencha-cmd/">Sencha Cmd</a></b> is a free tool * for helping you generate and build Ext JS (and Sencha Touch) applications. See * `{@link Ext.app.Application Application}` for more information about creating an app. * * A lower-level technique that does not use the `Ext.app.Application` architecture is * {@link Ext#onReady Ext.onReady}. * * You can also discuss concepts and issues with others on the * <a href="http://www.sencha.com/forum/">Sencha Forums</a>. * * @singleton */ /** * @property [enableGarbageCollector=false] * `true` to automatically uncache orphaned Ext.Elements periodically. If set to * `false`, the application will be required to clean up orphaned Ext.Elements and * it's listeners as to not cause memory leakage. */ /** * @property [enableListenerCollection=true] * True to automatically purge event listeners during garbageCollection. */ /** * @property {String} [name='Ext'] * <p>The name of the property in the global namespace (The <code>window</code> in browser environments) which refers to the current instance of Ext.</p> * <p>This is usually <code>"Ext"</code>, but if a sandboxed build of ExtJS is being used, this will be an alternative name.</p> * <p>If code is being generated for use by <code>eval</code> or to create a <code>new Function</code>, and the global instance * of Ext must be referenced, this is the name that should be built into the code.</p> */ /** * @property {Function} privateFn * A reusable empty function for use as `privates` members. * * Ext.define('MyClass', { * nothing: Ext.emptyFn, * * privates: { * privateNothing: Ext.privateFn * } * }); * */ /** * @property {Function} emptyFn * A reusable empty function. */ /** * @property {Function} identityFn * A reusable identity function that simply returns its first argument. */ /** * @property {Date} frameStartTime * This indicate the start timestamp of current cycle. * It is only reliable during dom-event-initiated cycles and * {@link Ext.draw.Animator} initiated cycles. */ /** * @cfg {String/Ext.Manifest} manifest * This object is initialized prior to loading the framework * and contains settings and other information describing the application. * * For applications built using Sencha Cmd, this is produced from the `"app.json"` * file with information extracted from all of the required packages' `"package.json"` * files. This can be set to a string when your application is using the * (microloader)[#/guide/microloader]. In this case, the string of "foo" will be * requested as `"foo.json"` and the object in that JSON file will parsed and set * as this object. * * @since 5.0.0 */ /** * @cfg {Object} [debugConfig] * This object is used to enable or disable debugging for classes or namespaces. The * default instance looks like this: * * Ext.debugConfig = { * hooks: { * '*': true * } * }; * * Typically applications will set this in their `"app.json"` like so: * * { * "debug": { * "hooks": { * // Default for all namespaces: * '*': true, * * // Except for Ext namespace which is disabled * 'Ext': false, * * // Except for Ext.layout namespace which is enabled * 'Ext.layout': true * } * } * } * * Alternatively, because this property is consumed very early in the load process of * the framework, this can be set in a `script` tag that is defined prior to loading * the framework itself. * * For example, to enable debugging for the `Ext.layout` namespace only: * * var Ext = Ext || {}; * Ext.debugConfig = { * hooks: { * //... * } * }; * * For any class declared, the longest matching namespace specified determines if its * `debugHooks` will be enabled. The default setting is specified by the '*' property. * * **NOTE:** This option only applies to debug builds. All debugging is disabled in * production builds. */ /** * @property {String} [BLANK_IMAGE_URL='data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='] * URL to a 1x1 transparent gif image used by Ext to create inline icons with * CSS background images. */ /** * @property {String} [baseCSSPrefix='x-'] * The base prefix to use for all `Ext` components. To configure this property, you should use the * Ext.buildSettings object before the framework is loaded: * * Ext.buildSettings = { * baseCSSPrefix : 'abc-' * }; * * or you can change it before any components are rendered: * * Ext.baseCSSPrefix = Ext.buildSettings.baseCSSPrefix = 'abc-'; * * This will change what CSS classes components will use and you should * then recompile the SASS changing the `$prefix` SASS variable to match. */