Book Image

Learning Salesforce Lightning Application Development

By : Mohit Shrivatsava
Book Image

Learning Salesforce Lightning Application Development

By: Mohit Shrivatsava

Overview of this book

Built on the Salesforce App Cloud, the new Salesforce Lightning Experience combines three major components: Lightning Design System, Lightning App Builder, and Lightning Components, to provide an enhanced user experience. This book will enable you to quickly create modern, enterprise apps with Lightning Component Framework. You will start by building simple Lightning Components and understanding the Lightning Components architecture. The chapters cover the basics of Lightning Component Framework semantics and syntax, the security features provided by Locker Service, and use of third-party libraries inside Lightning Components. The later chapters focus on debugging, performance tuning, testing using Lightning Testing Services, and how to publish Lightning Components on Salesforce AppExchange.
Table of Contents (22 chapters)
Title Page
PacktPub.com
Foreword
Contributors
Preface
Index

Adding navigation support using Lightning :navigation


The Lightning :navigation component uses a special type of JavaScript object named pageReference to navigate to other Lightning Components or standard views and standard object pages. The Lightning Component must implement a special interface named Lightning :isUrlAddressable to allow itself to be navigated from other components.

A pageReference object structure is shown in the following code snippet. (Note that it is comprised of a type (string type), attributes (object), and state (object). Let's take a look at it:

var pageReference = {
            type: 'standard__objectPage', //standard__component
,standard__knowledgeArticlePage,standard__namedPage,standard__navItemPage,standard__objectPage,standard__recordPage,standard__recordRelationshipPage
            attributes: {
                objectApiName: 'Account',
                actionName: 'list'
            },
            state: {
                filterName: "MyAccounts"
           ...