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 mail menu (tree menu)


Next, we will create the menu that is going to list the folders of Inbox, as demonstrated in the following screenshot:

The mail menu tree store

As usual, we will start with the model and store. As we will use the NodeInterface class to represent each node (which is the default class), we will not need any customization—we do not need to declare the model; we can skip directly to the tree store:

Ext.define('Packt.store.mail.MailMenu', {
    extend: 'Ext.data.TreeStore',

    clearOnLoad: true,

    proxy: {
        type: 'ajax',
        url: 'php/mail/mailMenu.php',
    }
});

We will be loading the JSON from the server. The PHP code is very simple and it returns the JSON we need, which is already hardcoded in a string:

<?php
echo '[{
    "text": "Inbox", 
    "iconCls": "folder-inbox",
    "leaf": true
},{
    "text": "Sent",
    "iconCls": "folder-sent",
    "leaf": true
},{
    "text": "Draft", 
    "iconCls": "folder-drafts",
    "leaf": true
},{
    "text": "Trash...