### Ext JS Getting Started Guides Source: https://docs.sencha.com/extjs/latest/index Guides for starting with Ext JS, covering installation and setup using both npm and zip archives. These guides are crucial for new users to begin their development with Ext JS. ```APIDOC Getting Started with npm: - Instructions for setting up Ext JS projects using npm. - Covers dependency management and project initialization. Getting Started with zip: - Instructions for setting up Ext JS projects using a zip archive. - Suitable for manual installations or environments without npm. ``` -------------------------------- ### Ext JS Upgrade Adviser Source: https://docs.sencha.com/extjs/latest/index A guide to getting started with the Ext JS Upgrade Adviser tool. ```javascript // Getting Started ``` -------------------------------- ### Ext JS Examples Source: https://docs.sencha.com/extjs/latest/index Links to live examples showcasing various Ext JS components and features. These examples serve as practical demonstrations of Ext JS capabilities. ```APIDOC 7.9.0 Examples: - Collection of interactive examples demonstrating Ext JS 7.9.0 features. - Provides practical code snippets and usage patterns. ``` -------------------------------- ### Sencha Ext JS Quick Start - Styling DataView Source: https://docs.sencha.com/extjs/latest/index This guide focuses on styling the `Ext.dataview.DataView` component using Sass and Ext JS variables. It covers the organization of styling files and provides a lab for styling the 'Tunes' view. ```javascript // Styling Ext JS components often involves using Sass and its variable system. // This allows for consistent and maintainable theming. // Example of using Sass variables for DataView styling: // @import "path/to/your/theme/variables"; // .my-dataview-item { // background-color: $panel-background-color; // border: 1px solid $grid-border-color; // padding: $grid-cell-padding; // } // Example of defining Ext JS variables: // Ext.define('MyApp.theme.variables', { // $panel-background-color: '#ffffff', // $grid-border-color: '#cccccc', // $grid-cell-padding: '8px' // }); ``` -------------------------------- ### Sencha Ext JS Quick Start - App Anatomy Source: https://docs.sencha.com/extjs/latest/index This section of the quick start guide explains the basic definitions and vocabulary used in Sencha Ext JS application development. It covers concepts like View Packages, Models, Tab Panels, DataViews, Grids, Dialogs, Videos, and Modern View Summaries. ```javascript // Understanding the anatomy of an Ext JS application is crucial for development. // Key components include: // - Views: Define the UI structure (e.g., Ext.panel.Panel, Ext.grid.Grid). // - Models: Represent data structures (e.g., Ext.data.Model). // - Controllers: Handle user interactions and application logic. // - Stores: Manage collections of records (e.g., Ext.data.Store). // Example of defining a simple Model: // Ext.define('MyApp.model.User', { // extend: 'Ext.data.Model', // fields: [ // { name: 'id', type: 'int' }, // { name: 'name', type: 'string' } // ] // }); // Example of a basic Tab Panel: // Ext.create('Ext.tab.Panel', { // items: [ // { title: 'Tab 1', html: 'Content for Tab 1' }, // { title: 'Tab 2', html: 'Content for Tab 2' } // ] // }); ``` -------------------------------- ### Sencha Ext JS Build Tools and npm Usage Source: https://docs.sencha.com/extjs/latest/index Guides on using Sencha Cmd and npm for building Ext JS applications, including package management, migration, and configuration. ```APIDOC Using Cmd: Comprehensive guide on utilizing Sencha Cmd for application development. What's New (npm): Overview of new features and changes in Ext JS npm integration. Using Npm: Instructions for using npm with Ext JS projects. npm Repository Access: How to access and manage npm repositories for Ext JS packages. Ext JS npm Packages: Information on available Ext JS packages on npm. Migrate Existing Ext JS Apps: Steps to migrate existing Ext JS applications to use npm. Upgrading Open Tooling Apps: Guidance on upgrading applications that use open tooling. Open Tooling - Webpack + Sencha Cmd Configuration: Configuration details for Webpack and Sencha Cmd integration. npm Troubleshooting: Common issues and solutions when using npm with Ext JS. CLI Reference: Documentation for the Ext JS command-line interface (CLI) commands. Adding npm Packages: How to add external npm packages to an Ext JS project. Share Ext JS Packages: Methods for sharing Ext JS packages within a team or organization. Building an Application: Steps for building an Ext JS application using npm. ``` -------------------------------- ### Sencha Ext JS Quick Start - Showing Preview Source: https://docs.sencha.com/extjs/latest/index This tutorial covers how to display previews using `Ext.Dialog` and `Ext.Video` components in Sencha Ext JS. It includes a lab for coding a modern dialog handler for video previews. ```javascript // Displaying previews often involves modal dialogs or embedded video players. // Ext JS provides components for both. // Example of showing a dialog with a video: // var videoDialog = Ext.create('Ext.window.Window', { // title: 'Video Preview', // modal: true, // items: [ // { // xtype: 'video', // url: 'path/to/your/video.mp4', // autoPlay: true // } // ] // }); // videoDialog.show(); // Example of a basic dialog configuration: // Ext.create('Ext.Dialog', { // title: 'Information', // message: 'This is a preview message.' // }).show(); ``` -------------------------------- ### Sencha Ext JS Quick Start - Fetching Data Source: https://docs.sencha.com/extjs/latest/index This tutorial covers how to fetch data in Sencha Ext JS applications. It discusses data feeds, nested data structures, and the use of `Ext.data.field.Field` for data mapping. It also includes a lab for fetching 'Tunes' data. ```javascript // Fetching and managing data is a core aspect of application development. // Ext JS provides powerful data package classes for this purpose. // Example of configuring a Store to fetch data: // var store = Ext.create('Ext.data.Store', { // model: 'MyApp.model.Tune', // proxy: { // type: 'ajax', // url: '/api/tunes', // reader: { // type: 'json', // rootProperty: 'data' // } // } // }); // Example of mapping fields using Ext.data.field.Field: // Ext.define('MyApp.model.Tune', { // extend: 'Ext.data.Model', // fields: [ // { name: 'tuneId', mapping: 'id', type: 'int' }, // { name: 'title', type: 'string' }, // { name: 'artistName', mapping: 'artist.name', type: 'string' } // Nested mapping // ] // }); ``` -------------------------------- ### Sencha Ext JS Login App Tutorial Source: https://docs.sencha.com/extjs/latest/index This tutorial guides through the creation of a Login Application using Sencha Ext JS. It covers the fundamental structure and components required for a typical login interface. ```javascript // This tutorial focuses on building a complete login application. // Specific code examples would involve defining views, view models, and controllers. // Example of a basic login form panel: // Ext.create('Ext.form.Panel', { // title: 'Login', // items: [ // { xtype: 'textfield', fieldLabel: 'Username' }, // { xtype: 'textfield', fieldLabel: 'Password', inputType: 'password' } // ], // buttons: [ // { text: 'Login', handler: 'onLoginClick' } // ] // }); ``` -------------------------------- ### Ext JS Component Guides Source: https://docs.sencha.com/extjs/latest/index Guides focused on specific Ext JS components, such as Calendar, Carousel, Grids, and Forms. These guides offer in-depth information on configuring and using individual components. ```APIDOC Calendar Component Guide: - Details on configuring and using the Ext JS Calendar component. Carousel Component Guide: - Information on implementing and customizing the Ext JS Carousel. Grids Component Guide: - Comprehensive guide to Ext JS Data Grids, including features like sorting, filtering, and editing. Forms Component Guide: - Documentation on creating and managing forms with Ext JS form components. ``` -------------------------------- ### Ext JS Trees Source: https://docs.sencha.com/extjs/latest/index Guides and configurations for implementing tree structures in Ext JS applications. ```APIDOC Ext.tree.Panel .configure({ // Tree configurations // rootVisible: true, // store: '...' }) .register(); ``` -------------------------------- ### Expanding and Collapsing Code Examples and Class Members Source: https://docs.sencha.com/extjs/latest/index Runnable examples (Fiddles) are expanded by default and can be toggled individually or globally. Class members are collapsed by default and can be expanded/collapsed using arrow icons or a global toggle. ```javascript Runnable examples (Fiddles) are expanded on a page by default. You can collapse and expand example code blocks individually using the arrow on the top-left of the code block. You can also toggle the collapse state of all examples using the toggle button on the top-right of the page. The toggle-all state will be remembered between page loads. Class members are collapsed on a page by default. You can expand and collapse members using the arrow icon on the left of the member row or globally using the expand / collapse all toggle button top-right. ``` -------------------------------- ### Sencha Ext JS Quick Start - Styling Grid Source: https://docs.sencha.com/extjs/latest/index This section details how to style the `Ext.grid.Grid` component within Sencha Ext JS applications. It emphasizes the use of Sass and Ext JS variables for visual customization. ```javascript // Styling grids in Ext JS can be achieved effectively using Sass. // This allows for granular control over the grid's appearance. // Example of Sass for grid styling: // @import "path/to/your/theme/grid"; // .x-grid-cell { // font-family: $font-family; // font-size: $font-size; // } // .x-grid-header-ct { // background-color: $header-background-color; // } ``` -------------------------------- ### Ext JS What's New and Release Notes Source: https://docs.sencha.com/extjs/latest/index Details on new features, release notes, and upgrade guides for Ext JS versions. This section is vital for understanding changes and migrating between versions. ```APIDOC What's New: - Overview of new features and improvements in recent releases. Release Notes: - Detailed list of changes, bug fixes, and enhancements per version. Upgrade Guide: - Step-by-step instructions for upgrading existing Ext JS projects to newer versions. ``` -------------------------------- ### Ext JS Add-on Components Source: https://docs.sencha.com/extjs/latest/index Information on integrating and using Ext JS add-on components, with instructions for npm, Cmd, and zip installations. This section helps developers extend Ext JS functionality with additional libraries. ```APIDOC Using Ext JS add-ons with npm: - Guide for incorporating add-ons via npm. Using Ext JS add-ons with Cmd: - Guide for incorporating add-ons using Sencha Cmd. Using Ext JS add-ons with Zip: - Guide for incorporating add-ons via manual zip installation. ``` -------------------------------- ### Ext JS Draw Package Source: https://docs.sencha.com/extjs/latest/index Details on using the Ext JS Draw package for creating graphics, including step-by-step guides for image creation. ```javascript // Draw Package // Creating Images - Pt 1 // Creating Images - Pt 2 // Creating Images - Pt 3 ``` -------------------------------- ### Ext JS Drag and Drop Source: https://docs.sencha.com/extjs/latest/index Guides on implementing drag and drop functionality in Ext JS, covering both modern and classic toolkits. ```APIDOC // Modern Drag and Drop Ext.grid.Grid.configure({ plugins: { gridDragDrop: true } }); // Classic Drag and Drop Ext.dd.DragSource.configure({...}); Ext.dd.DropTarget.configure({...}); ``` -------------------------------- ### Ext JS Grid Data Manipulation: Grouping Example Source: https://docs.sencha.com/extjs/latest/index Provides an example of how to group data in an Ext JS grid. Grouping organizes rows based on the values in one or more columns. ```javascript Ext.create('Ext.grid.Panel', { // ... grid configuration ... features: [{ ftype: 'grouping', groupHeaderTpl: '{name} ({rows.length} Items)' }], columns: [ { text: 'Category', dataIndex: 'category', groupable: true }, { text: 'Name', dataIndex: 'name' } ] }); ``` -------------------------------- ### Ext JS Grid Operations Source: https://docs.sencha.com/extjs/latest/index Guides on performing operations within Ext JS grids, including row and column manipulations, data import/export, and layout adjustments. ```javascript Ext.grid.Grid .configure({ // Grid configurations }) .register(); // Row Operations // Column Operations // Data Import & Export // Layouts & Styling // Widget Integration // Pivoting ``` -------------------------------- ### Sencha Cmd CLI Usage Source: https://docs.sencha.com/extjs/latest/index Demonstrates common commands for Sencha Cmd, a command-line tool that complements Ext JS development. It covers application creation, workspace management, and package handling. ```bash sencha generate app MyApp sencha generate workspace sencha package build ``` -------------------------------- ### Other Sencha Ext JS Resources Source: https://docs.sencha.com/extjs/latest/index Additional resources for Ext JS developers, including FAQs, OOP concepts, ecosystem overview, and browser/platform support. ```APIDOC Ext JS - FAQ: Frequently asked questions about Ext JS development. Basics of OOP: Explanation of Object-Oriented Programming concepts relevant to Ext JS. Ext JS Ecosystem: Overview of the Ext JS ecosystem and related tools. Use of eval Function in Sencha Ext Js: Discussion on the usage and implications of the eval function. Supported Browsers: List of browsers supported by Sencha Ext JS. Supported Platforms: Information on platforms compatible with Sencha Ext JS. ``` -------------------------------- ### Ext JS Grid Configurations Source: https://docs.sencha.com/extjs/latest/index Documentation on various configurations available for Ext JS grids. ```APIDOC Ext.grid.Grid.configure({ // Configuration options for grids // Examples: // columns: [...], // store: '...', // features: [...] }); ``` -------------------------------- ### Ext JS Grid Basics: Introduction Source: https://docs.sencha.com/extjs/latest/index Introduction to the fundamental concepts of grids in Sencha Ext JS. This section covers the basic structure and purpose of grids within the framework. ```javascript Ext.create('Ext.grid.Panel', { title: 'Simple Grid', store: Ext.create('Ext.data.Store', { fields: ['name', 'email'], data: [ { name: 'Lisa', email: 'lisa@simpsons.com' }, { name: 'Bart', email: 'bart@simpsons.com' } ] }), columns: [ { text: 'Name', dataIndex: 'name' }, { text: 'Email', dataIndex: 'email', flex: 1 } ], renderTo: Ext.getBody() }); ``` -------------------------------- ### Ext JS Application Architecture Source: https://docs.sencha.com/extjs/latest/index Documentation on building Ext JS applications, focusing on architecture patterns, managing multiple screens, and utilizing View Controllers and View Models for data binding. ```javascript // Intro to App Architecture // Multiple Screens // View Controllers // View Models & Binding // View Model Internals // Using the Router ``` -------------------------------- ### Desktop vs. Mobile View Differences Source: https://docs.sencha.com/extjs/latest/index The documentation view adapts to screen size. On narrower screens (mobile view), global navigation moves to a left-hand menu, and context navigation/tools (search, filters, related classes) move to a right-hand menu accessible via a gear icon. ```APIDOC Desktop -vs- Mobile View: Viewing the docs on narrower screens or browsers will result in a view optimized for a smaller form factor. The primary differences between the desktop and "mobile" view are: * Global navigation will be located in a menu on the left-hand side accessible via the hamburger menu icon. The menu houses the following (on most pages): * The name of the current product (as a link to the product landing page) * The Sencha icon used to navigate back to the documentation home page * The product menu drop-down button * Tabs of navigation trees for the API docs and guides * Current context navigation and tools is located on the right-hand side accessible via the gear icon. The context menu houses teh following: * The global search input field * (_API doc_) A "Filters" tab with the member filter, expand / collapse all examples button, expand / collapse all member rows button, the access level filter checkboxes, and the counts of each member * (_API doc_) A "Related Classes" tab containing the menu of metadata related to the current class * (_Guides_) The table of contents for the guide ``` -------------------------------- ### Ext JS Class System Source: https://docs.sencha.com/extjs/latest/index An overview of the Ext JS class system, including defining classes, inheritance, and configuration management. ```APIDOC Ext.define('My.Class', { extend: 'Ext.Base', config: { myProperty: 'defaultValue' }, constructor: function(config) { this.initConfig(config); this.callParent(arguments); }, myMethod: function() { // Method implementation } }); ``` -------------------------------- ### Sencha Ext JS API Navigation and Features Source: https://docs.sencha.com/extjs/latest/index Explains key navigation and feature elements within the Sencha Ext JS API documentation, including the Class Member Quick-Nav Menu, handling of Getter and Setter Methods, the History Bar for tracking visited pages, and the Search and Filters functionality. ```APIDOC Navigation and Features: Class Member Quick-Nav Menu: Just below the class name on an API doc page is a row of buttons corresponding to the types of members owned by the current class. Each button shows a count of members by type (this count is updated as filters are applied). Clicking the button will navigate you to that member section. Hovering over the member-type button will reveal a popup menu of all members of that type for quick navigation. Getter and Setter Methods: Getting and setter methods that correlate to a class config option will show up in the methods section as well as in the configs section of both the API doc and the member-type menus just beneath the config they work with. The getter and setter method documentation will be found in the config row for easy reference. History Bar: Your page history is kept in localstorage and displayed (using the available real estate) just below the top title bar. By default, the only search results shown are the pages matching the product / version you're currently viewing. You can expand what is displayed by clicking on the Within the history config menu you will also see a listing of your recent page visits. The results are filtered by the "Current Product / Version" and "All" radio options. Clicking on the If "All" is selected in the history config menu the checkbox option for "Show product details in the history bar" will be enabled. When checked, the product/version for each historic page will show alongside the page name in the history bar. Hovering the cursor over the page names in the history bar will also show the product/version as a tooltip. Search and Filters: Both API docs and guides can be searched for using the search field at the top of the page. On API doc pages there is also a filter input field that filters the member rows using the filter string. In addition to filtering by string you can filter the class members by access level, inheritance, and read only. This is done using the checkboxes at the top of the page. The checkbox at the bottom of the API class navigation tree filters the class list to include or exclude private classes. Clicking on an empty search field will show your last 10 searches for quick navigation. ``` -------------------------------- ### Ext JS Theming Source: https://docs.sencha.com/extjs/latest/index Information on customizing the appearance of Ext JS applications using the theming system. ```APIDOC // Theming System // Theming in the Modern Toolkit // Theming in the Classic Toolkit // Material Theme // Sass variables and mixins for customization. ``` -------------------------------- ### Ext JS Grid Plugins Overview Source: https://docs.sencha.com/extjs/latest/index This section provides an overview of various plugins available for Ext JS grids, enhancing their functionality for data manipulation and user interaction. ```javascript Ext.grid.plugin.Editable Ext.grid.plugin.CellEditing Ext.grid.rowedit.Plugin Ext.grid.plugin.RowExpander Ext.grid.plugin.RowOperations Ext.grid.plugin.ViewOptions Ext.grid.plugin.RowDragDrop Ext.grid.plugin.Exporter Ext.grid.plugin.Summary ``` -------------------------------- ### Using Components in Ext JS Grids Source: https://docs.sencha.com/extjs/latest/index Documentation on integrating various Ext JS components within grid cells. ```APIDOC Ext.grid.Column .configure({ xtype: 'widgetcolumn', widget: { xtype: 'button', // Example: embedding a button handler: function(button, event) { // Button click logic } } }); ``` -------------------------------- ### Ext JS Core Concepts Source: https://docs.sencha.com/extjs/latest/index Explains fundamental concepts of Ext JS, including its class system, layout management, components, data package, event handling, drag and drop, and theming. ```javascript // The Class System // Layouts and Containers // Components // Data Package // Gestures // Events // Drag and Drop // Modern Drag and Drop // Theming System // Theming in the Modern Toolkit // Theming in the Classic Toolkit // Material Theme // Memory Management // Using D3 in Ext JS ``` -------------------------------- ### Ext JS Accessibility and Theming Source: https://docs.sencha.com/extjs/latest/index Information on implementing accessibility features, localization, right-to-left support, and utilizing Sencha Font Packages and tablet support in Ext JS. ```javascript // Accessibility // Localization // Right to Left in Ext JS // Sencha Font Packages // Tablet Support ``` -------------------------------- ### Sencha Ext JS Class Member Syntax Source: https://docs.sencha.com/extjs/latest/index Explains the structure of a Sencha Ext JS class member, detailing each part of its definition including expand/collapse controls, member name, parameters, return type, flags, origin, and source links. It also covers the parameter list and return value descriptions. ```APIDOC lookupComponent ( item ) : Ext.Component protected Called when a raw config object is added to this container either during initialization of the items config, or when new items are added, or insert inserted. This method converts the passed object into an instanced child component. This may be overridden in subclasses when special processing needs to be applied to child creation. Parameters: item : Object The config object being added. Returns: Ext.Component The component to be added. ``` -------------------------------- ### Ext JS Theming and Design Source: https://docs.sencha.com/extjs/latest/index Information on customizing the appearance of Ext JS applications, including theming with Fashion, using Sencha Font Packages, and creating theme-specific overrides. ```css /* Example of a CSS override for a button */ .x-btn-default-small { background-color: #4CAF50; color: white; } /* Example using Fashion variables */ $base-color: #3498db; .my-custom-panel { background-color: $base-color; } ``` -------------------------------- ### Ext JS Layouts and Containers Source: https://docs.sencha.com/extjs/latest/index Information on Ext JS layout managers and container components for arranging UI elements. ```APIDOC Ext.container.Container.configure({ layout: 'hbox', // or 'vbox', 'card', 'fit', etc. items: [ { xtype: 'panel', title: 'Panel 1' }, { xtype: 'panel', title: 'Panel 2' } ] }); ``` -------------------------------- ### Sencha Ext JS Backend Connectors Source: https://docs.sencha.com/extjs/latest/index Information on connecting Ext JS applications to backend services, including SOAP and AMF protocols, as well as Ext Direct for server-side communication. ```APIDOC SOAP Services: Documentation for integrating with SOAP-based web services. AMF Data Sources: Information on using Action Message Format (AMF) for data exchange. Ext Direct Specification: Details on the Ext Direct architecture for seamless client-server communication. Using MySQL and PHP: A guide on setting up Ext Direct with MySQL and PHP. ``` -------------------------------- ### Ext JS API Reference Source: https://docs.sencha.com/extjs/latest/index Provides access to the Ext JS API documentation, detailing classes, methods, and properties for developers. This is the primary resource for understanding and utilizing Ext JS components and functionalities. ```APIDOC Ext.html - Provides access to the Ext JS API documentation. - Contains detailed information on classes, methods, properties, and events. - Essential for understanding and implementing Ext JS components. ``` -------------------------------- ### Ext JS Events Source: https://docs.sencha.com/extjs/latest/index Documentation on the Ext JS event system, including event firing, listening, and bubbling. ```APIDOC Ext.Component.configure({ listeners: { render: function(component) { console.log('Component rendered:', component.getId()); } } }); ``` -------------------------------- ### Ext JS Application Architecture Source: https://docs.sencha.com/extjs/latest/index Details on building Ext JS applications, including concepts like View Controllers, View Models, and data binding. This section covers how to structure and manage application logic and data flow. ```javascript // View Controller Ext.define('MyApp.view.main.MainController', { extend: 'Ext.app.ViewController', alias: 'controller.main', onButtonClick: function(button) { Ext.Msg.alert('Hello', 'Button clicked!'); } }); // View Model Ext.define('MyApp.view.main.MainModel', { extend: 'Ext.app.ViewModel', alias: 'viewmodel.main', data: { name: 'World' } }); // View with Controller and ViewModel Ext.define('MyApp.view.main.Main', { extend: 'Ext.panel.Panel', controller: 'main', viewModel: 'main', items: [{ xtype: 'button', text: 'Click Me', handler: '{onButtonClick}' }] }); ``` -------------------------------- ### Ext JS Core Concepts Source: https://docs.sencha.com/extjs/latest/index Illustrates fundamental Ext JS concepts including class system, components, layouts, data handling, and event management. These are building blocks for creating Ext JS applications. ```javascript // Class System Ext.define('MyApp.MyClass', { extend: 'Ext.Base', constructor: function(config) { this.initConfig(config); } }); // Components Ext.create('Ext.panel.Panel', { title: 'My Panel', renderTo: Ext.getBody() }); // Layouts Ext.create('Ext.container.Container', { layout: 'hbox', items: [{}, {}] }); // Data Package var store = Ext.create('Ext.data.Store', { fields: ['name', 'email'], data: [{ name: 'Lisa', email: 'lisa@simpsons.com' }] }); // Events Ext.on('customEvent', function() { console.log('Custom event fired!'); }); ``` -------------------------------- ### Ext JS Pivot Grid Source: https://docs.sencha.com/extjs/latest/index Documentation for the Ext JS Pivot Grid component, enabling data summarization and analysis. ```APIDOC Ext.pivot.Grid .configure({ // Pivot Grid configurations // Features like aggregation, grouping, etc. }) .register(); ``` -------------------------------- ### Ext JS Tablet Support Source: https://docs.sencha.com/extjs/latest/index Details on optimizing Ext JS applications for tablet devices. ```APIDOC // Responsive design considerations // Touch interaction optimizations ``` -------------------------------- ### Sencha Ext JS API Documentation Structure Source: https://docs.sencha.com/extjs/latest/index This section outlines the structure and conventions used in Sencha Ext JS API documentation. It details how classes, members, and their properties are presented, including access levels, member types, and special notations like 'static'. ```APIDOC Class Structure: - Class Name - Alias/xtype (if applicable) - Description Member Types: - Config: Configuration options for a class. - Property: Set once a class is instantiated. - Method: Actions performed by a class (instance or static). - Event: Framework-specific events. - Theme Variable: Variables for the visual theme engine. - Theme Mixin: Functions for the visual theme engine. Access Levels: - Public: Available for any use, stable. - Protected: Intended for owning class or subclasses. - Private: Internal framework use, subject to change. Static Methods: - Indicated by a 'static' label next to the method name. - Can be called directly from the class itself. ``` -------------------------------- ### Ext JS App Architecture - View Models & Binding Source: https://docs.sencha.com/extjs/latest/index Documentation on Ext JS View Models and data binding, enabling efficient data management and UI updates. ```APIDOC Ext.app.ViewModel .define('MyApp.view.MyViewModel', { extend: 'Ext.app.ViewModel', alias: 'viewmodel.myviewmodel', data: { userName: 'Guest' }, formulas: { welcomeMessage: function(get) { return 'Welcome, ' + get('userName'); } } }); // In a View: // viewModel: 'myviewmodel' // bind: '{welcomeMessage}' ``` -------------------------------- ### Ext JS Components Source: https://docs.sencha.com/extjs/latest/index Documentation on the fundamental Ext JS Component class and its various subclasses. ```APIDOC Ext.Component.configure({ // Base configurations for all components id: 'myComponent', renderTo: Ext.getBody() }); ``` -------------------------------- ### Using D3 in Ext JS Source: https://docs.sencha.com/extjs/latest/index Guidance on integrating D3.js visualizations within Ext JS applications. ```APIDOC Ext.define('MyApp.view.D3Chart', { extend: 'Ext.panel.Panel', requires: ['Ext.ux.d3.Scale'], // ... D3 integration logic ... }); ``` -------------------------------- ### Sencha Ext JS Member Types Explained Source: https://docs.sencha.com/extjs/latest/index Details the different types of members found within Sencha Ext JS classes, explaining their purpose and usage within the framework. ```APIDOC Config: - Purpose: Configuration options for a class. - Usage: Used during class instantiation. Property: - Purpose: Properties set after instantiation. - Note: May be read-only. Method: - Purpose: Actions a class can perform. - Types: Instance methods (called on an instance) and static methods (called on the class). Event: - Purpose: Custom events raised by the framework. - Note: DOM events are handled separately and refer to MDN documentation. Theme Variable: - Purpose: Used by the visual theme engine. Theme Mixin: - Purpose: Functions used by the visual theme engine, potentially using Theme Variables. ``` -------------------------------- ### Ext JS Memory Management Source: https://docs.sencha.com/extjs/latest/index Best practices and techniques for managing memory effectively in Ext JS applications. ```APIDOC // Techniques for preventing memory leaks // Proper destruction of components and listeners // Using Ext.destroy() and Ext.destroyMembers() ``` -------------------------------- ### Ext JS Upgrade Adviser Rules Source: https://docs.sencha.com/extjs/latest/index This section lists various rules for upgrading Ext JS applications, focusing on identifying and preventing issues related to overridden methods, deprecated usages, and private API access. ```APIDOC no-existing-alias-override: Checks for overrides of existing aliases. no-existing-class-override: Checks for overrides of existing classes. no-existing-method-override: Checks for overrides of existing methods. override-method-call: Checks for calls to overridden methods. no-deprecated-class-usage: Checks for usage of deprecated classes. no-deprecated-config-usage: Checks for usage of deprecated configurations. no-deprecated-method-call: Checks for calls to deprecated methods. no-deprecated-method-override: Checks for overrides of deprecated methods. no-deprecated-property-usage: Checks for usage of deprecated properties. no-private-class-usage: Checks for usage of private classes. no-private-config-usage: Checks for usage of private configurations. no-private-method-call: Checks for calls to private methods. no-private-method-override: Checks for overrides of private methods. no-private-property-usage: Checks for usage of private properties. no-removed-class-usage: Checks for usage of removed classes. no-removed-config-usage: Checks for usage of removed configurations. no-removed-method-call: Checks for calls to removed methods. no-removed-method-override: Checks for overrides of removed methods. no-removed-property-usage: Checks for usage of removed properties. ``` -------------------------------- ### Ext JS Data Package Source: https://docs.sencha.com/extjs/latest/index Details on the Ext JS data package, including Stores, Models, and Proxies for data management. ```APIDOC Ext.data.Store .configure({ model: 'My.Model', proxy: { type: 'ajax', url: '/api/data' } }) .register(); Ext.data.Model.define('My.Model', { fields: ['id', 'name', 'value'] }); ``` -------------------------------- ### Grids with Sparklines and Charts Source: https://docs.sencha.com/extjs/latest/index Demonstrates how to integrate Ext JS grids with sparklines and charts to visualize data directly within the grid cells. ```javascript Ext.grid.cell.Widget.prototype.isSparkline = true; // Example of a grid column with a sparkline widget { xtype: 'widgetcolumn', widget: { xtype: 'sparklineline', // sparkline configuration } } ``` -------------------------------- ### Ext JS App Architecture - View Controllers Source: https://docs.sencha.com/extjs/latest/index Details on using View Controllers in Ext JS for managing component logic and event handling within an application's architecture. ```APIDOC Ext.app.ViewController .define('MyApp.view.MyViewController', { alias: 'controller.myview', control: { 'button[action=save]': { click: 'onSaveClick' } }, onSaveClick: function(button) { // Save logic } }); ``` -------------------------------- ### Ext JS Design with Stencils Source: https://docs.sencha.com/extjs/latest/index Guidance on using stencils for designing Ext JS applications. ```APIDOC // Using design tools and stencils // Prototyping UI layouts ``` -------------------------------- ### Ext JS Localization Source: https://docs.sencha.com/extjs/latest/index Documentation on internationalizing Ext JS applications for different languages and regions. ```APIDOC // Language packs // Date and number formatting // Text translation ``` -------------------------------- ### Ext JS Gestures Source: https://docs.sencha.com/extjs/latest/index Information on handling touch gestures in Ext JS applications. ```APIDOC Ext.Component.configure({ listeners: { tap: 'onTapHandler' } }); // In ViewController: // onTapHandler: function(component, event) { ... } ``` -------------------------------- ### Sencha Font Packages Source: https://docs.sencha.com/extjs/latest/index Information on using Sencha's font packages for icons and custom typography in Ext JS. ```APIDOC // Including font packages in your build // Using font icons in components ``` -------------------------------- ### Ext JS Grid Menus: columnMenu and columnsMenuItem Source: https://docs.sencha.com/extjs/latest/index Explains how to implement column menus and the 'columnsMenuItem' in Ext JS grids. These features allow users to interact with columns, such as hiding or reordering them. ```javascript Ext.create('Ext.grid.Panel', { // ... grid configuration ... columns: [ { text: 'Name', dataIndex: 'name', menuDisabled: true }, { text: 'Email', dataIndex: 'email', flex: 1, menuDisabled: true }, { text: 'Actions', xtype: 'actioncolumn', items: [ { iconCls: 'x-edit-icon', tooltip: 'Edit', handler: function(grid, rowIndex, colIndex) { var rec = grid.getStore().getAt(rowIndex); alert('Edit ' + rec.get('name')); } } ] } ], viewConfig: { plugins: { ptype: 'gridviewoptions' } } }); ``` -------------------------------- ### Ext JS Grid Events and Binding Source: https://docs.sencha.com/extjs/latest/index Covers handling grid events and data binding in Sencha Ext JS. This includes listening to user interactions and updating the UI based on data changes. ```javascript Ext.create('Ext.grid.Panel', { // ... grid configuration ... listeners: { itemclick: function(grid, record, item, index, e, eOpts) { console.log('Clicked on row:', record.get('name')); }, selectionchange: function(model, selected, eOpts) { console.log('Selection changed:', selected.length); } } }); ``` -------------------------------- ### Ext JS Accessibility Source: https://docs.sencha.com/extjs/latest/index Information on making Ext JS applications accessible to users with disabilities. ```APIDOC // ARIA attributes // Keyboard navigation support // Screen reader compatibility ``` -------------------------------- ### Ext JS Grid Columns: Formatter and Renderer Source: https://docs.sencha.com/extjs/latest/index Details the use of formatters and renderers in Ext JS grid columns for customizing data display. Formatters are simpler, while renderers offer more complex logic for cell content. ```javascript columns: [ { text: 'Salary', dataIndex: 'salary', renderer: function(value) { return Ext.util.Format.currency(value, '€'); } }, { text: 'Status', dataIndex: 'status', renderer: function(value) { return value === 'Active' ? 'Active' : 'Inactive'; } } ] ``` -------------------------------- ### Ext JS Components Source: https://docs.sencha.com/extjs/latest/index Showcases the usage of common Ext JS components like Grids, Trees, Charts, Forms, and drawing capabilities. These components form the UI of Ext JS applications. ```javascript // Grids Ext.create('Ext.grid.Panel', { store: store, columns: [ { text: 'Name', dataIndex: 'name' }, { text: 'Email', dataIndex: 'email', flex: 1 } ], renderTo: Ext.getBody() }); // Charts Ext.create('Ext.chart.PolarChart', { store: store, series: [{ type: 'pie', angleField: 'name', field: 'data' }], renderTo: Ext.body }); // Forms Ext.create('Ext.form.Panel', { title: 'Simple Form', items: [{ xtype: 'textfield', fieldLabel: 'Name' }], renderTo: Ext.getBody() }); ``` -------------------------------- ### Viewing Class Source Code Source: https://docs.sencha.com/extjs/latest/index Users can view the source code of an entire class by clicking the class name at the top of the API doc page. Individual class member source code can be viewed via a 'view source' link next to each member. ```javascript The class source can be viewed by clicking on the class name at the top of an API doc page. The source for class members can be viewed by clicking on the "view source" link on the right-hand side of the member row. ``` -------------------------------- ### Ext JS Custom ESLint Rules Source: https://docs.sencha.com/extjs/latest/index Information regarding custom ESLint rules for Ext JS projects. ```javascript // Custom ESLint Rules ``` -------------------------------- ### Ext JS Grid Columns: DataIndex and Text Source: https://docs.sencha.com/extjs/latest/index Explains how to configure columns in an Ext JS grid, focusing on the 'dataIndex' and 'text' properties. 'dataIndex' maps the column to a field in the data store, while 'text' sets the column header. ```javascript columns: [ { text: 'Employee Name', dataIndex: 'name', width: 150 }, { text: 'Email Address', dataIndex: 'email', flex: 1 } ] ``` -------------------------------- ### Ext JS API Diffs by Version Source: https://docs.sencha.com/extjs/latest/index Provides side-by-side comparisons of API changes between Ext JS versions for both Modern and Classic toolkits. This helps developers track specific API modifications. ```APIDOC API Diffs (e.g., 7.8.0 to 7.9.0): - Compares Modern toolkit APIs between versions. - Compares Classic toolkit APIs between versions. - Useful for identifying breaking changes or new additions. ``` -------------------------------- ### API Doc Class Metadata Source: https://docs.sencha.com/extjs/latest/index Each API doc page displays metadata for a class, including alternate names, hierarchy, mixins, required and used classes, and subclasses. This metadata aids in understanding class relationships and dependencies. ```APIDOC API Doc Class Metadata: Each API doc page (with the exception of Javascript primitives pages) has a menu view of metadata relating to that class. This metadata view will have one or more of the following: * **Alternate Name** - One or more additional class name synonymns (in Ext JS 6.0.0 the `Ext.button.Button` class has an alternate class name of `Ext.Button`). Alternate class names are commonly maintained for backward compatibility. * **Hierarchy** - The hierararchy view lists the inheritance chain of the current class up through its ancestor classes up to the root base class. * **Mixins** - A list of classes that are mixed into the current class * **Inherited Mixins** - A list of classes that are mixed into an ancestor of the current class * **Requires** - All classes required to be defined for the class to be instantiated * **Uses** - A list of classes potentially used by the class at some point in its lifecycle, but not necessarily requried for the class to initially be instantiated * **Subclasses** - Classes that extend the current class ``` -------------------------------- ### Ext JS Cell Binding Source: https://docs.sencha.com/extjs/latest/index Explains the concept of cell binding in Ext JS grids, allowing for dynamic data association and updates within grid cells. ```javascript // Example of cell binding configuration { xtype: 'gridcolumn', dataIndex: 'fieldName', renderer: function(value, metaData, record) { // Bind data to the cell return Ext.String.format('Value: {0}', value); } } ``` -------------------------------- ### Ext JS Grid Selection Model Configuration Source: https://docs.sencha.com/extjs/latest/index Details the configuration options for the selection model in Ext JS grids. This allows control over how rows or cells can be selected by the user. ```javascript Ext.create('Ext.grid.Panel', { // ... grid configuration ... selModel: { type: 'spreadsheet', columnSelect: true, pruneRemoved: true } }); ``` -------------------------------- ### Sencha Ext JS Member Flags Source: https://docs.sencha.com/extjs/latest/index Describes the various flags used in Sencha Ext JS API documentation to indicate the function and intent of class members. These flags provide crucial information about configuration requirements, binding capabilities, read-only status, singleton nature, static properties, chainability, deprecation, removal, templating, abstract definitions, and event preventability. ```APIDOC Member Flags: * Required - Required config when instantiating a class * Bindable - The config has a setter which allows this config to be set via ViewModel binding * Read Only - The property may be read, but cannot be used to configure / re-configure a class instance at runtime * Singleton - Singleton classes are instantiated immediately once defined and may not be instantiated manually * Static - A static method or property is a method or property belonging to the class itself, not an instance of the class * Chainable - Refers to methods that return the class instance back when called. This enables chained method calls like: classInstance.method1().method2().etc(); * Deprecated - A class or member that is scheduled for removal in a future framework version and is provided in the current version for backwards compatibility. Deprecated classes and members will have a message directing you to the preferred class / method going forward. * Removed - A removed class or member that exists in documentation only as a reference for users upgrading between framework versions * Template - A method defined within a base class designed to be overridden by subclasses * Abstract - A class or member may be be defined as abstract. Abstract classes and members establish a class structure and provide limited, if any, code. Class-specific code will be furnished via overrides in subclasses. * Preventable - Events marked preventable will not fire if `false` is returned from an event handler ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.