Browse Source

Initial Commit

master
Levi Olson 4 years ago
commit
eee10ecfb9
29 changed files with 364 additions and 0 deletions
  1. +12
    -0
      .forceignore
  2. +29
    -0
      .gitignore
  3. +6
    -0
      .prettierignore
  4. +13
    -0
      .prettierrc
  5. +8
    -0
      .vscode/extensions.json
  6. +16
    -0
      .vscode/launch.json
  7. +8
    -0
      .vscode/settings.json
  8. +58
    -0
      README.md
  9. +5
    -0
      config/project-scratch-def.json
  10. +6
    -0
      force-app/main/default/lwc/.eslintrc.json
  11. +8
    -0
      force-app/main/default/lwc/customLayout/customLayout.html
  12. +19
    -0
      force-app/main/default/lwc/customLayout/customLayout.js
  13. +6
    -0
      force-app/main/default/lwc/customLayout/customLayout.js-meta.xml
  14. +8
    -0
      force-app/main/default/lwc/helloWorld/helloWorld.html
  15. +8
    -0
      force-app/main/default/lwc/helloWorld/helloWorld.js
  16. +11
    -0
      force-app/main/default/lwc/helloWorld/helloWorld.js-meta.xml
  17. +26
    -0
      force-app/main/default/lwc/jsconfig.json
  18. +9
    -0
      force-app/main/default/lwc/myCustomComponent/myCustomComponent.html
  19. +13
    -0
      force-app/main/default/lwc/myCustomComponent/myCustomComponent.js
  20. +6
    -0
      force-app/main/default/lwc/myCustomComponent/myCustomComponent.js-meta.xml
  21. +9
    -0
      force-app/main/default/lwc/myOmniComponentInBaseClass/myOmniComponentInBaseClass.html
  22. +17
    -0
      force-app/main/default/lwc/myOmniComponentInBaseClass/myOmniComponentInBaseClass.js
  23. +6
    -0
      force-app/main/default/lwc/myOmniComponentInBaseClass/myOmniComponentInBaseClass.js-meta.xml
  24. +11
    -0
      force-app/main/default/lwc/myTextComponent/myTextComponent.html
  25. +13
    -0
      force-app/main/default/lwc/myTextComponent/myTextComponent.js
  26. +6
    -0
      force-app/main/default/lwc/myTextComponent/myTextComponent.js-meta.xml
  27. +10
    -0
      scripts/apex/hello.apex
  28. +6
    -0
      scripts/soql/account.soql
  29. +11
    -0
      sfdx-project.json

+ 12
- 0
.forceignore View File

@ -0,0 +1,12 @@
# List files or directories below to ignore them when running force:source:push, force:source:pull, and force:source:status
# More information: https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_exclude_source.htm
#
package.xml
# LWC configuration files
**/jsconfig.json
**/.eslintrc.json
# LWC Jest
**/__tests__/**

+ 29
- 0
.gitignore View File

@ -0,0 +1,29 @@
# This file is used for Git repositories to specify intentionally untracked files that Git should ignore.
# If you are not using git, you can delete this file. For more information see: https://git-scm.com/docs/gitignore
# For useful gitignore templates see: https://github.com/github/gitignore
# Salesforce cache
.sfdx/
.localdevserver/
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Dependency directories
node_modules/
# Eslint cache
.eslintcache
# MacOS system files
.DS_Store
# Windows system files
Thumbs.db
ehthumbs.db
[Dd]esktop.ini
$RECYCLE.BIN/

+ 6
- 0
.prettierignore View File

@ -0,0 +1,6 @@
# List files or directories below to ignore them when running prettier
# More information: https://prettier.io/docs/en/ignore.html
#
.sfdx
.localdevserver

+ 13
- 0
.prettierrc View File

@ -0,0 +1,13 @@
{
"trailingComma": "none",
"overrides": [
{
"files": "**/lwc/**/*.html",
"options": { "parser": "lwc" }
},
{
"files": "*.{cmp,page,component}",
"options": { "parser": "html" }
}
]
}

+ 8
- 0
.vscode/extensions.json View File

@ -0,0 +1,8 @@
{
"recommendations": [
"salesforce.salesforcedx-vscode",
"redhat.vscode-xml",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
]
}

+ 16
- 0
.vscode/launch.json View File

@ -0,0 +1,16 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch Apex Replay Debugger",
"type": "apex-replay",
"request": "launch",
"logFile": "${command:AskForLogFileName}",
"stopOnEntry": true,
"trace": true
}
]
}

+ 8
- 0
.vscode/settings.json View File

@ -0,0 +1,8 @@
{
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/.sfdx": true
},
"eslint.nodePath": "/Users/leviolson/.vscode/extensions/salesforce.salesforcedx-vscode-lwc-47.17.1/node_modules"
}

+ 58
- 0
README.md View File

@ -0,0 +1,58 @@
# Salesforce App
This guide helps Salesforce developers who are new to Visual Studio Code go from zero to a deployed app using Salesforce Extensions for VS Code and Salesforce CLI.
## Part 1: Choosing a Development Model
There are two types of developer processes or models supported in Salesforce Extensions for VS Code and Salesforce CLI. These models are explained below. Each model offers pros and cons and is fully supported.
### Package Development Model
The package development model allows you to create self-contained applications or libraries that are deployed to your org as a single package. These packages are typically developed against source-tracked orgs called scratch orgs. This development model is geared toward a more modern type of software development process that uses org source tracking, source control, and continuous integration and deployment.
If you are starting a new project, we recommend that you consider the package development model. To start developing with this model in Visual Studio Code, see [Package Development Model with VS Code](https://forcedotcom.github.io/salesforcedx-vscode/articles/user-guide/package-development-model). For details about the model, see the [Package Development Model](https://trailhead.salesforce.com/en/content/learn/modules/sfdx_dev_model) Trailhead module.
If you are developing against scratch orgs, use the command `SFDX: Create Project` (VS Code) or `sfdx force:project:create` (Salesforce CLI) to create your project. If you used another command, you might want to start over with that command.
When working with source-tracked orgs, use the commands `SFDX: Push Source to Org` (VS Code) or `sfdx force:source:push` (Salesforce CLI) and `SFDX: Pull Source from Org` (VS Code) or `sfdx force:source:pull` (Salesforce CLI). Do not use the `Retrieve` and `Deploy` commands with scratch orgs.
### Org Development Model
The org development model allows you to connect directly to a non-source-tracked org (sandbox, Developer Edition (DE) org, Trailhead Playground, or even a production org) to retrieve and deploy code directly. This model is similar to the type of development you have done in the past using tools such as Force.com IDE or MavensMate.
To start developing with this model in Visual Studio Code, see [Org Development Model with VS Code](https://forcedotcom.github.io/salesforcedx-vscode/articles/user-guide/org-development-model). For details about the model, see the [Org Development Model](https://trailhead.salesforce.com/content/learn/modules/org-development-model) Trailhead module.
If you are developing against non-source-tracked orgs, use the command `SFDX: Create Project with Manifest` (VS Code) or `sfdx force:project:create --manifest` (Salesforce CLI) to create your project. If you used another command, you might want to start over with this command to create a Salesforce DX project.
When working with non-source-tracked orgs, use the commands `SFDX: Deploy Source to Org` (VS Code) or `sfdx force:source:deploy` (Salesforce CLI) and `SFDX: Retrieve Source from Org` (VS Code) or `sfdx force:source:retrieve` (Salesforce CLI). The `Push` and `Pull` commands work only on orgs with source tracking (scratch orgs).
## The `sfdx-project.json` File
The `sfdx-project.json` file contains useful configuration information for your project. See [Salesforce DX Project Configuration](https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_ws_config.htm) in the _Salesforce DX Developer Guide_ for details about this file.
The most important parts of this file for getting started are the `sfdcLoginUrl` and `packageDirectories` properties.
The `sfdcLoginUrl` specifies the default login URL to use when authorizing an org.
The `packageDirectories` filepath tells VS Code and Salesforce CLI where the metadata files for your project are stored. You need at least one package directory set in your file. The default setting is shown below. If you set the value of the `packageDirectories` property called `path` to `force-app`, by default your metadata goes in the `force-app` directory. If you want to change that directory to something like `src`, simply change the `path` value and make sure the directory you’re pointing to exists.
```json
"packageDirectories" : [
{
"path": "force-app",
"default": true
}
]
```
## Part 2: Working with Source
For details about developing against scratch orgs, see the [Package Development Model](https://trailhead.salesforce.com/en/content/learn/modules/sfdx_dev_model) module on Trailhead or [Package Development Model with VS Code](https://forcedotcom.github.io/salesforcedx-vscode/articles/user-guide/package-development-model).
For details about developing against orgs that don’t have source tracking, see the [Org Development Model](https://trailhead.salesforce.com/content/learn/modules/org-development-model) module on Trailhead or [Org Development Model with VS Code](https://forcedotcom.github.io/salesforcedx-vscode/articles/user-guide/org-development-model).
## Part 3: Deploying to Production
Don’t deploy your code to production directly from Visual Studio Code. The deploy and retrieve commands do not support transactional operations, which means that a deployment can fail in a partial state. Also, the deploy and retrieve commands don’t run the tests needed for production deployments. The push and pull commands are disabled for orgs that don’t have source tracking, including production orgs.
Deploy your changes to production using [packaging](https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_dev2gp.htm) or by [converting your source](https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference_force_source.htm#cli_reference_convert) into metadata format and using the [metadata deploy command](https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference_force_mdapi.htm#cli_reference_deploy).

+ 5
- 0
config/project-scratch-def.json View File

@ -0,0 +1,5 @@
{
"orgName": "leviolson company",
"edition": "Developer",
"features": []
}

+ 6
- 0
force-app/main/default/lwc/.eslintrc.json View File

@ -0,0 +1,6 @@
{
"extends": ["@salesforce/eslint-config-lwc/recommended"],
"rules": {
"no-console": "off"
}
}

+ 8
- 0
force-app/main/default/lwc/customLayout/customLayout.html View File

@ -0,0 +1,8 @@
<template>
<!-- <template for:each={cards} for:item="card">
<slot key={card}></slot>
</template> -->
<div class="slds-grid">
<slot></slot>
</div>
</template>

+ 19
- 0
force-app/main/default/lwc/customLayout/customLayout.js View File

@ -0,0 +1,19 @@
import { LightningElement } from 'lwc';
import { BaseLayout } from "vlocity_cmt/baseLayout";
export default class CustomLayout extends BaseLayout(LightningElement) {
// @api recordId;
// @api theme;
// @api parent;
// @api definition;
// @api isLoaded;
// @api debug;
// @api records;
connectedCallback() {
this.cards = this.definition.Cards;
console.log("This is definition object", JSON.parse(JSON.stringify(this.definition)));
console.log("This is records", JSON.parse(JSON.stringify(this.records)));
console.log("This is cards", JSON.parse(JSON.stringify(this.cards)));
}
}

+ 6
- 0
force-app/main/default/lwc/customLayout/customLayout.js-meta.xml View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>47.0</apiVersion>
<isExposed>true</isExposed>
<runtimeNamespace>vlocity_cmt</runtimeNamespace>
</LightningComponentBundle>

+ 8
- 0
force-app/main/default/lwc/helloWorld/helloWorld.html View File

@ -0,0 +1,8 @@
<template>
<lightning-card title="HelloWorld" icon-name="custom:custom14">
<div class="slds-m-around_medium">
<p>Hello, {greeting}!</p>
<lightning-input label="Name" value={greeting} onchange={changeHandler}></lightning-input>
</div>
</lightning-card>
</template>

+ 8
- 0
force-app/main/default/lwc/helloWorld/helloWorld.js View File

@ -0,0 +1,8 @@
import { LightningElement, track } from 'lwc';
export default class HelloWorld extends LightningElement {
@track greeting = 'World';
changeHandler (event) {
this.greeting = event.target.value;
}
}

+ 11
- 0
force-app/main/default/lwc/helloWorld/helloWorld.js-meta.xml View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="helloWorld">
<apiVersion>45.0</apiVersion>
<runtimeNamespace>vlocity_cmt</runtimeNamespace>
<isExposed>true</isExposed>
<targets>
<target>lightning__AppPage</target>
<target>lightning__RecordPage</target>
<target>lightning__HomePage</target>
</targets>
</LightningComponentBundle>

+ 26
- 0
force-app/main/default/lwc/jsconfig.json View File

@ -0,0 +1,26 @@
{
"compilerOptions": {
"experimentalDecorators": true,
"baseUrl": ".",
"paths": {
"c/helloWorld": [
"helloWorld/helloWorld.js"
],
"c/myCustomComponent": [
"myCustomComponent/myCustomComponent.js"
],
"c/myTextComponent": [
"myTextComponent/myTextComponent.js"
]
}
},
"include": [
"**/*",
"../../../../.sfdx/typings/lwc/**/*.d.ts"
],
"typeAcquisition": {
"include": [
"jest"
]
}
}

+ 9
- 0
force-app/main/default/lwc/myCustomComponent/myCustomComponent.html View File

@ -0,0 +1,9 @@
<template>
<vlocity_cmt-input
theme="nds"
min-length="10"
required
label="Minimum 10 char"
placeholder="Minimum 10 char">
</vlocity_cmt-input>
</template>

+ 13
- 0
force-app/main/default/lwc/myCustomComponent/myCustomComponent.js View File

@ -0,0 +1,13 @@
import { LightningElement } from 'lwc';
import pubsub from 'vlocity_cmt/pubsub';
import { OmniscriptBaseMixin } from 'vlocity_cmt/omniscriptBaseMixin';
export default class MyCustomComponent extends OmniscriptBaseMixin(LightningElement) {
connectedCallback() {
console.log("MyCustomComponent - Connected");
}
handleBlur(evt) {
this.omniUpdateDataJson(evt);
}
}

+ 6
- 0
force-app/main/default/lwc/myCustomComponent/myCustomComponent.js-meta.xml View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>47.0</apiVersion>
<isExposed>true</isExposed>
<runtimeNamespace>vlocity_cmt</runtimeNamespace>
</LightningComponentBundle>

+ 9
- 0
force-app/main/default/lwc/myOmniComponentInBaseClass/myOmniComponentInBaseClass.html View File

@ -0,0 +1,9 @@
<template>
<vlocity_cmt-omniscript-text
json-def={omniJsonDef}
data-omni-key={omniJsonDef.name}
json-data={omniJsonData}
layout={layout}
resume={resume}>
</vlocity_cmt-omniscript-text>
</template>

+ 17
- 0
force-app/main/default/lwc/myOmniComponentInBaseClass/myOmniComponentInBaseClass.js View File

@ -0,0 +1,17 @@
import template from './myOmniComponentInBaseClass.html';
import { LightningElement } from 'lwc';
import { OmniscriptBaseMixin } from 'vlocity_cmt/omniscriptBaseMixin';
export default class MyOmniComponentInBaseClass extends OmniscriptBaseMixin(LightningElement) {
connectedCallback() {
console.log("myOmniComponentInBaseClass - Connected");
}
handleBlur(evt) {
this.omniUpdateDataJson(evt.target.value);
}
render() {
return template;
}
}

+ 6
- 0
force-app/main/default/lwc/myOmniComponentInBaseClass/myOmniComponentInBaseClass.js-meta.xml View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>47.0</apiVersion>
<isExposed>true</isExposed>
<runtimeNamespace>vlocity_cmt</runtimeNamespace>
</LightningComponentBundle>

+ 11
- 0
force-app/main/default/lwc/myTextComponent/myTextComponent.html View File

@ -0,0 +1,11 @@
<template>
<vlocity_cmt-omniscript-text
json-def={jsonDef}
data-omni-key={jsonDef.name}
json-data={jsonData}
layout={layout}
resume={resume}
script-header-def={scriptHeaderDef}
seed-json={seedDataJSON}>
</vlocity_cmt-omniscript-text>
</template>

+ 13
- 0
force-app/main/default/lwc/myTextComponent/myTextComponent.js View File

@ -0,0 +1,13 @@
import template from "./myTextComponent.html";
import OmniscriptText from 'vlocity_cmt/omniscriptText';
export default class MyTextComponent extends OmniscriptText {
connectedCallback() {
console.log("myTextComponent - Connected");
}
render() {
return template;
}
}

+ 6
- 0
force-app/main/default/lwc/myTextComponent/myTextComponent.js-meta.xml View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>47.0</apiVersion>
<isExposed>true</isExposed>
<runtimeNamespace>vlocity_cmt</runtimeNamespace>
</LightningComponentBundle>

+ 10
- 0
scripts/apex/hello.apex View File

@ -0,0 +1,10 @@
// Use .apex files to store anonymous Apex.
// You can execute anonymous Apex in VS Code by selecting the
// apex text and running the command:
// SFDX: Execute Anonymous Apex with Currently Selected Text
// You can also execute the entire file by running the command:
// SFDX: Execute Anonymous Apex with Editor Contents
string tempvar = 'Enter_your_name_here';
System.debug('Hello World!');
System.debug('My name is ' + tempvar);

+ 6
- 0
scripts/soql/account.soql View File

@ -0,0 +1,6 @@
// Use .soql files to store SOQL queries.
// You can execute queries in VS Code by selecting the
// query text and running the command:
// SFDX: Execute SOQL Query with Currently Selected Text
SELECT Id, Name FROM Account;

+ 11
- 0
sfdx-project.json View File

@ -0,0 +1,11 @@
{
"packageDirectories": [
{
"path": "force-app",
"default": true
}
],
"namespace": "",
"sfdcLoginUrl": "https://login.salesforce.com",
"sourceApiVersion": "47.0"
}

Loading…
Cancel
Save