Search icon
Subscription
0
Cart icon
Close icon
You have no products in your basket yet
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Learning Salesforce Lightning Application Development

You're reading from  Learning Salesforce Lightning Application Development

Product type Book
Published in Jul 2018
Publisher Packt
ISBN-13 9781787124677
Pages 458 pages
Edition 1st Edition
Languages
Concepts
Author (1):
Mohit Shrivatsava Mohit Shrivatsava
Profile icon Mohit Shrivatsava

Table of Contents (22) Chapters

Title Page
PacktPub.com
Foreword
Contributors
Preface
1. Introduction to the Lightning Component Framework 2. Exploring Salesforce DX 3. Lightning Component Building Blocks 4. The Lightning JavaScript API 5. Events in the Lightning Component Framework 6. Lightning Data Service and Base Components 7. Using External JavaScript Libraries in Lightning Components 8. Debugging Lightning Components 9. Performance Tuning Your Lightning Component 10. Taking Lightning Components out of Salesforce Using Lightning Out 11. Lightning Flows 12. Making Components Available for Salesforce Mobile and Communities 13. Lightning Navigation and Lightning Console APIs 14. Unit Testing Lightning Components 15. Publishing Lightning Components on AppExchange 1. Other Books You May Enjoy Index

Index

A

  • $A.Util APIs
    • exploring / Exploring the $A.Util APIs
  • $A top-level functions
    • APIs in / APIs available in $A top-level functions
  • Apex code
    • optimizing / Optimizing Apex code
    • data rows, limiting for lists / Limiting data rows for lists
    • server response time, reducing platform cache used / Reducing server response time, using the platform cache
    • sending responses, avoiding as wrapper objects / Avoiding sending responses from Apex as wrapper objects
  • Apex controllers
    • used, for wiring client-side to server / Wiring the client-side to the server using Apex controllers
  • Apex debugging
    • about / Apex debugging
    • Salesforce CLI, used to stream logs / Using the Salesforce CLI to stream logs
    • with Replay Debugger / Advanced debugging with the Replay Debugger
  • AppExchange
    • components, publishing / Publishing components on AppExchange
  • application events
    • about / Application events
    • creating / Creating application events
    • registering / Registering application events
    • firing / Firing an application event
    • handling / Handling application events
    • event attributes, obtaining from handled event / Getting event attributes from a handled event
    • bubbling events, handling / Handling capturing and bubbling events
    • capturing events, handling / Handling capturing and bubbling events
  • Asynchronous Module Definition (AMD) / Introduction to webpack
  • attributes / Understanding attributes
  • auradoc file
    • used, for documenting component / Documenting your components using the auradoc file

B

  • browser events
    • about / Browser events
    • capturing / Capturing browser events
    • event handling, in Lightning base components / Event handling in Lightning base components
  • bulk data command
    • importing, in Salesforce DX / Bulk data upsert Salesforce DX command
  • bulk upsert command
    • limitations / Limitations of bulk upsert commands

C

  • carousel component
    • using / Using the carousel component
  • Chrome developer console
    • using / Using the Chrome developer Console
    • breakpoints, setting up / Setting breakpoints in the Chrome developer Console
    • Pause on caught exceptions / Pause on caught exceptions
  • clickjacking / Introducing Locker Service
  • code injection / Introducing Locker Service
  • component event
    • about / Component events
    • creating / Creating a component event
    • registering / Registering a component event
    • firing / Firing the component event
    • handling / Handling component events
    • events handling, alternate syntax used by child components / Alternate syntax to handle events raised by child components
    • event attributes, obtaining from handled events / Getting event attributes from handled events
  • component get method
    • using / Using component get and set methods
  • component markup / Component markup and using Lightning base components for layouts
  • components
    • creating, $A.createComponent() used / Dynamically creating components using $A.createComponent()
    • destroying, destory() function used / Destroying components using the destory() function
  • component set method
    • using / Using component get and set methods
  • Component Tree tab
    • about / Component Tree
    • $auraTemp / $auraTemp
  • Computer Telephony Interface (CTI) / Lightning Utility Bar
  • content security policy (CSP) / Introducing Locker Service
  • cross-site scripting (XSS) / Introducing Locker Service
  • CRUD records
    • functions / Functions available for CRUD records
    • record, saving / Saving existing records
    • record, creating / Creating a new record
    • record, deleting / Deleting records
    • SaveRecordResult, using / Using SaveRecordResult 
  • custom labels
    • used, in Lightning Components / Using custom labels in Lightning Components
    • label parameters, populating / Dynamically populating label parameters

D

  • data export commands
    • in Salesforce DX / Data import and export commands in Salesforce DX, Data export Salesforce DX command
  • data import commands
    • in Salesforce DX / Data import and export commands in Salesforce DX, Data import Salesforce DX command
  • data manipulation (DML) / Storable actions
  • datatable component
    • using / Using the datatable component
  • date/DateTime
    • formatting, Aura Localization Service used / Format date/DateTime using the Aura Localization Service
    • local time zone, finding / Find your organization's time zone
    • local currency, finding / Find your organization's local currency
    • formatting / Formatting dates 
  • Debug Mode
    • enabling / Enabling Debug Mode
    • disabling, for production / Disabling Debug Mode for production
  • design file
    • used, to allow admins to configure attributes / Using the design file to allow admins to configure attributes
  • developer hub
    • enabling, in Salesforce organization / Enabling the developer hub in your Salesforce organization
    • enabling / Enabling the developer hub
  • DOM
    • modifying, in RENDERER JavaScript file component / Modifying the DOM in the RENDERER JavaScript file of the component bundle

E

  • ES6 syntax
    • in Lightning Component / ES6 support in Lightning Components
  • events strategy
    • for code maintenance / Events strategy for performance and ease of code maintenance
    • for performance / Events strategy for performance and ease of code maintenance
    • anti-pattern / Event anti-patters that can cause a performance bottleneck
    • multiple items set / <aura:iteration> – multiple items set
  • expression syntax
    • using / Using Expression syntax

F

  • Field Level Security (FLS) / Lightning Data Service
  • find function
    • used, to locate DOM / Using the find function to locate the DOM
  • Flow builder
    • custom components, adding / Adding custom components in Flow builder
    • asynchronous XHR calls, used in Lightning Component / Using asynchronous XHR calls in customized Lightning Components
    • Lightning Component, used as local Flow actions / Using Lightning Components as local Flow actions
    • embedding, into Lightning Component / Embedding Flows into a Lightning Component
  • Flows
    • about / Introducing Flows
    • Lead Finder app, creating Flow builder used / Creating the Lead Finder app using the Flow builder
    • executing, in Lightning Experience / Running Flows in Lightning Experience
    • debugging / Debugging Flows

G

  • Global action / Adding Lightning Components as global and object-specific actions

H

  • helper function / JavaScript controller and helper

I

  • Independent Software Vendor (ISV) / Enabling the developer hub in your Salesforce organization
  • Integrated Development Editor (IDE) / Creating a simple hello world Lightning Component

J

  • Jasmine
    • about / Introduction to Jasmine
    • syntax / Jasmine syntax and terminology
    • terminology / Jasmine syntax and terminology
    • suite / Suite
    • spec / Spec
    • setup / Setup and teardown
    • teardown / Setup and teardown
    • spies / Spies
    • quickstart example / Quickstart example
  • JavaScript
    • optimizing, in Lightning Component / Optimizing JavaScript in Lightning Components
  • JavaScript controller / JavaScript controller and helper
  • JavaScript libraries
    • in Lightning Component / Third-party JavaScript libraries in Lightning Components
  • JS-heavy project
    • structuring, in Salesforce DX / Structuring a JS-heavy project in Salesforce DX

L

  • License Management (LMA) / Publishing components on AppExchange
  • Lightning-Quick action / Adding Lightning Components as global and object-specific actions
  • Lightning app
    • creating / Creating a Lightning app and components
  • Lightning Application
    • about / Lightning Application
    • creating / Creating a Lightning Application
  • Lightning base components
    • using, for layouts / Component markup and using Lightning base components for layouts
    • aura component, definition / Component definition aura:component
    • access modifier / Access modifier
    • using, for layout / Lightning base components for layout and layout items
    • using, for layout items / Lightning base components for layout and layout items
    • card base component / Lightning card base component
    • card components, example / Example layouts using the Lightning layout and card components
    • layout base component, using for horizontal alignment / Horizontal alignment using the Lightning layout base component
    • layout base component, using for vertical alignment / Vertical alignment using the Lightning layout base component 
    • LayoutItem, strrtching with flexibility attribute / Stretching a LayoutItem using the flexibility attribute
    • multiple rows, creating / Creating multiple rows and controlling the size of the row in Lightning layout
    • row size, controlling / Creating multiple rows and controlling the size of the row in Lightning layout
    • multiple devices, handling / Lightning layout to handle multiple devices
    • using, for nested page layout / Nested page layout using Lightning Layouts
    • about / Lightning base components
    • used, for formatting output data / Formatting output data using Lightning base components
    • leveraging / Leveraging Lightning base components
    • record form, creating Lightning recordForm / Creating a record form, using Lightning:recordForm
  • Lightning commands / Lightning commands
  • Lightning Component
    • building, by setting up Salesforce developer organization / Setting up a Salesforce developer organization to enable the building of Lightning Components
    • hello world, creating / Creating a simple hello world Lightning Component
    • creating / Creating a Lightning app and components
    • custom labels, used in / Using custom labels in Lightning Components
    • ES6 syntax in / ES6 support in Lightning Components
    • Promise API in / An introduction to Promises, Promise support in Lightning Components
    • JavaScript libraries in / Third-party JavaScript libraries in Lightning Components
    • attributes / Attributes
    • events / Events
    • JavaScript libraries, integrating in / Integrating a third-party library into Lightning Components
    • Select2 JavaScript library, integrating in / Integrating the Select2 JavaScript library into Lightning Components
    • MomentJs library, integrating in / Integrating the MomentJs library into Lightning Components
    • Locker Service-compliant JavaScript, creating webpack used / Creating a Locker Service-compliant JavaScript bundle using webpack
    • ChartJs in / ChartJs in Lightning Components
    • client-side calls, creating to external sites using JavaScript / Making client-side calls to external sites using JavaScript
    • Visualforce page, communicating / Communication from the Visualforce page to the Lightning Component
    • communicating, to Visualforce page / Communication from the Lightning Component to the Visualforce page
    • React application rendering, Lightning container used / Rendering a React application in a Lightning Component using Lightning:container
    • reactApp rendering, LCC npm module used / Rendering  reactApp using the LCC npm module in a Lightning Component
    • Lightning container, limitations / Limitations of Lightning:container
    • JavaScript, optimizing in / Optimizing JavaScript in Lightning Components
    • used, in Salesforce mobile application / Using Lightning Components in a Salesforce mobile application
    • adding, as global and object-specific actions / Adding Lightning Components as global and object-specific actions
    • in Community Cloud / Lightning Components in Community Cloud
    • communities, creating in Salesforce / Creating communities in Salesforce
    • theme layout, creating / Creating a theme layout
    • custom content layouts, creating / Creating custom content layouts
    • used, overriding search in communities / Overriding search, profile menu, and navigation in communities using customized Lightning Components
    • used, overriding profile menu in communities / Overriding search, profile menu, and navigation in communities using customized Lightning Components
    • used, overriding navigation in communities / Overriding search, profile menu, and navigation in communities using customized Lightning Components
    • standard search interface, overriding / Overriding a standard search interface
    • profile menu, overriding / Overriding a profile menu
    • navigation, adding / Adding custom navigation
  • Lightning Component architecture
    • about / Lightning Component architecture
    • web components / The concept of web components
    • bundle / Lightning Component Bundle
  • Lightning Component Bundle
    • Lightning Component Markup file (.cmp) file / Lightning Component Bundle
    • about / Lightning Component Bundle
    • CSS file (.css) / Lightning Component Bundle
    • JavaScript helper / Lightning Component Bundle
    • controller (.js) / Lightning Component Bundle
    • Apex controller (.cls) / Lightning Component Bundle
    • lifecycle / Lightning Component lifecycle
    • MVC / MVC concepts in the Lightning Component framework
  • Lightning components
    • creating / Creating a Lightning app and components
  • Lightning Component test
    • creating, via CLI / Creating a Lightning Component test via CLI
    • search terms rendered, testing via two-way binding / Testing for search terms rendered via two-way binding
    • Jasmine spy, used for verifying response by mocking server response / Verifying the response by mocking the server response using Jasmine spy
  • Lightning Console
    • about / Introducing the Lightning Console
    • Utility Bar component / Utility Bar component
    • workspace API / Workspace API
    • Standard Lightning tab events / Standard Lightning tab events in the console
  • Lightning Data Service
    • about / Lightning Data Service
    • Salesforce record context data, loading force recordData used / Loading Salesforce record context data using force:recordData 
    • CRUD records, functions / Functions available for CRUD records
  • Lightning data service
    • using / Using the Lightning data service
  • Lightning Data Service components
    • example / Example components using Lightning Data Service
  • Lightning Design system
    • about / The Lightning Design system
    • URL / The Lightning Design system
    • card component, creating with SLDS / Creating a simple card component using SLDS 
  • Lightning Experience
    • about / Lightning Experience
    • Lightning Application / Lightning Application
    • tabs, creating / Creating tabs in Lightning Experience
    • Component tab / Lightning Component Tabs
    • page tabs / Lightning Page Tabs
    • Lightning App Builder / Lightning App Builder
    • Lightning Utility Bar / Lightning Utility Bar
    • list views / List views in the Lightning UI
    • calendar, creating / The ability to calendar data in the Date and Datetime fields
    • Global Actions / Global Actions
    • Publisher actions / Publisher actions
  • Lightning input components
    • using / Using Lightning input components
  • Lightning input field components
    • about / An introduction to Lightning input field components
    • input form, creating RecordEdit used / Creating an input form using the RecordEdit and Lightning input field components
    • creating / Creating an input form using the RecordEdit and Lightning input field components
    • events and attributes / Introducing events and attributes in Lightning record edit form and input field
    • used, for creating contact edit form / Creating a contact edit form using the Lightning input field and RecordEditForm components
  • Lightning main frame
    • versus iframe / Communication between the Lightning main frame and iframe
  • Lightning Out
    • in Visualforce / Lightning Out in Visualforce
    • Lightning dependency application, creating / Creating a Lightning dependency application
    • Lightning Component, adding for Visualforce JavaScript library / Adding Lightning Components for the Visualforce JavaScript library
    • JavaScript, adding to create component on Visualforce page / Adding JavaScript to create a component on a Visualforce page
    • in Node.js application / Lightning Out in a Node.js application
    • connected application, creating / Creating a connected application 
    • Node.js application, setting up / Setting up a Node.js application
    • application, creating / Creating a Lightning Out application 
    • Node.js application, deploying on Heroku / Deploying Node.js application on Heroku
    • for unauthenticated users / Lightning Out for unauthenticated users
    • limitations / Lightning Out limitations and considerations
    • considerations / Lightning Out limitations and considerations
  • Lightning output field component
    • using / Using the Lightning output field component
  • Lightning record edit form
    • events and attributes / Introducing events and attributes in Lightning record edit form and input field
  • Lightning Testing Service (LTS)
    • about / LTS
    • tests, writing for YouTubeSearchApp / Writing tests for a YouTubeSearchApp
    • installing / Installing LTS
    • Lightning Component test, creating via CLI / Creating a Lightning Component test via CLI
  • list view component / The list view component 
  • Locker service / The concept of web components
  • Locker Service
    • about / Introducing Locker Service
    • strict mode enforcement in / Strict mode enforcement in Locker Service
    • DOM access containment hierarchy, in Lightning Components / Understanding the DOM access containment hierarchy in Lightning Components 
    • proxy object in / The proxy object in Locker Service
  • Locker Service-compatible bundle
    • creating, with webpack / Creating a Locker Service-compatible bundle with webpack
  • Locker Service-compliant JavaScript
    • creating, webpack used / Creating a Locker Service-compliant JavaScript bundle using webpack
    • choices.js, integrating into Lightning Components / Integrating choices.js into Lightning Components

M

  • Mailboxlayer
    • URL / Using asynchronous XHR calls in customized Lightning Components
  • managed/unmanaged package code
    • converting, to DX Format / Converting existing managed/unmanaged package code to DX Format
  • managed package
    • creating / Creating a managed package
  • Metadata API commands
    • about / Metadata API commands
    • mdapi convert / mdapi:convert and mdapi:retrieve
    • mdapi retrieve / mdapi:convert and mdapi:retrieve
    • deploy command / Deploy command
  • Model, View, Controller (MVC) / MVC concepts in the Lightning Component framework

N

  • navigation support
    • adding, Lightning navigation used / Adding navigation support using Lightning :navigation
  • nested aura
    • avoiding / Avoiding nested aura:if in aura:iteration
    • $A.createComponent() / $A.createComponent() for lazy loading
    • JavaScript, used for performance / Using plain old JavaScript to gain maximum performance

P

  • parent and child components
    • communicating between / Communicating between components
    • component hierarchy, passing / Passing data down the component hierarchy
    • aura method, used to call child method from parent method / Using aura:method to call child methods from parent methods
    • aura method, used / Using the aura method asynchronously
    • optimal event architecture design pattern / Optimal event architecture design pattern
    • custom events, adding to component / Adding custom events to components dynamically
  • Promise API / An introduction to Promises

R

  • re-rendering the life cycle component / Understanding re-rendering the life cycle of a component
  • RecordEditForm components
    • used, for creating contact edit form / Creating a contact edit form using the Lightning input field and RecordEditForm components
  • rendering life cycle component / Understanding the rendering life cycle of a component

S

  • Salesforce application
    • developer workflow, building / Developer workflow for building a Salesforce application 
  • Salesforce community page optimizer / Salesforce community page optimizer
  • Salesforce developer
    • URL / Lightning Experience
  • Salesforce developer instances
    • namespacing, for managed package / Namespacing Salesforce developer instances for managed package generation
    • namespacing, impact on component bundle / The impact of namespacing Salesforce instances on the component bundle
  • Salesforce developer organization
    • setting up, to enable building of Lightning Components / Setting up a Salesforce developer organization to enable the building of Lightning Components
  • Salesforce DX CLI
    • installing / Installing the Salesforce DX CLI
  • Salesforce DX commands
    • about / Salesforce DX commands
    • auth commands / auth commands
    • default Dev Hub, setting for scratch Org creation / Setting a default Dev Hub for scratch Org creation
    • project, creating / Creating a new Salesforce DX project
    • scratch Org definition JSON, configuring / Configuring a scratch Org definition JSON
    • project definition JSON, configuring / Configuring project definition JSON
    • scratch Org, creating / Creating a scratch Org
  • Salesforce Lightning Design System (SLDS)
    • about / The Lightning Design system
    • used, for creating card component / Creating a simple card component using SLDS 
    • URL / Creating a simple card component using SLDS 
  • Salesforce Lightning Inspector
    • about / Salesforce Lightning Inspector 
    • tabs / Lightning Salesforce Inspector tabs
    • Component Tree tab / Component Tree
    • Transactions tab / Transactions tab
    • Performance tab / Performance tab
    • Event Log tab / Event Log tab
    • Actions tab / Actions tab
    • Storage tab / Storage tab
  • Salesforce mobile application
    • Lightning Components, used / Using Lightning Components in a Salesforce mobile application
    • Chrome browser, setting up / Setting up the Chrome browser to simulate the Salesforce mobile app experience
    • Lightning Component, adding to / Adding a Lightning Component to the Salesforce mobile navigation
  • Salesforce Object Query Language (SOQL) / Data export Salesforce DX command
  • SalesLeaderBoardCard component / Creating a sales LeaderBoard Lightning Application using events
  • sales LeaderBoard Lightning Application
    • creating, events used / Creating a sales LeaderBoard Lightning Application using events
  • scratch Org
    • creating / Creating a scratch Org
    • opening / Opening the scratch Org
    • source, pulling / Pulling source from a scratch Org
    • source code, pushing / Push source code to a scratch Org
    • conflict resolution / Conflict resolution
    • files, ignoring / Ignoring files
    • creating, with namespaces / Creating scratch Orgs with namespaces
  • Single-Page Application (SPA) / Lightning Component architecture
  • Standard Lightning tab events / Standard Lightning tab events in the console
  • storable actions
    • about / Storable actions
    • need for / When to use storable actions?

T

  • tree view
    • creating, tree grid components used / Creating a tree view using the tree and tree grid components

U

  • unbound expression
    • bindings / Unbound expression bindings
  • Utility Bar component
    • about / Utility Bar component
    • page context / Page context in the Utility Bar API

V

  • Visual Studio extension pack
    • installing, for Salesforce DX / Installing the Visual Studio extension pack for DX

W

  • webpack
    • used, for creating Locker Service-compliant JavaScript / Creating a Locker Service-compliant JavaScript bundle using webpack
    • about / Introduction to webpack
    • entry object / Entry
    • output object / Output
    • loaders / Loaders
    • plugins / Plugins
  • workspace API / Workspace API

Y

  • YouTubeSearchApp
    • tests, writing / Writing tests for a YouTubeSearchApp
    • application events, testing / Testing application events
lock icon The rest of the chapter is locked
arrow left Previous Chapter
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at £13.99/month. Cancel anytime}