Book Image

Mastering Ext JS

By : Loiane Groner
Book Image

Mastering Ext JS

By: Loiane Groner

Overview of this book

<p>Ext JS 4 is a JavaScript framework that provides you with the resources to build multi-browser, high-performance, and rich Internet applications.<br /><br />Mastering Ext JS is a practical, hands-on guide that will teach you how to develop a complete application with Ext JS. You’ll begin by learning how to create the project’s structure and login screen before mastering advanced level features such as dynamic menus and master-detail grids, before finally preparing the application for production.<br /><br />Mastering Ext JS will help you to utilize Ext JS to its full potential and will show you how to create a complete Ext JS application from the scratch, as well as explaining how to create a Wordpress theme.</p> <p><br />You will learn how to create user and group security, master-detail grids and forms, charts, trees, and how to export data to excel including PDF and images, always focusing on best practices.</p> <p><br />You will also learn how to customize themes and how to prepare the application to be ready for deployment upon completion. Each chapter of the book is focused on one task and helps you understand and master an individual aspect of the application.</p> <p><br />By the end of the book, you will have learned everything you need to know to truly master Ext JS and to start building advanced applications.</p>
Table of Contents (20 chapters)
Mastering Ext JS
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

The controller


Now that we have everything we need in place, let's implement the functionality that allows the user to change the position of the mail preview. The user can choose to see the preview panel on the right-hand side, on the south, or to hide it.

So the first thing we need to do is to create a new controller for the e-mail client module:

Ext.define('Packt.controller.mail.Mail', {
    extend: 'Ext.app.Controller',

    views: [ // #1
        'mail.MailContainer',
        'mail.MailList',
        'mail.MailPreview'
    ],

    stores: [// #2
        'mail.MailMessages',
        'mail.MailMenu'
    ],

    refs: [// #3
        {
            ref: 'south', // #4
            selector: 'mailcontainer container#previewSouth'
        },
        {
            ref: 'east', // #5
            selector: 'mailcontainer container#previewEast'
        }
    ]
});

First, we must not forget to declare the views we created for this module (#1). Then, we have the stores (#2). And finally, we need to...