Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Golden #14

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# sfdx-jenkins-org
# projectJen

For a fully guided walkthrough of setting up and configuring continuous integration using scratch orgs and Salesforce CLI, see the [Continuous Integration Using Salesforce DX](https://trailhead.salesforce.com/modules/sfdx_travis_ci) Trailhead module.

Expand Down
15 changes: 15 additions & 0 deletions projectJen/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
**/lwc/**/*.css
**/lwc/**/*.html
**/lwc/**/*.json
**/lwc/**/*.svg
**/lwc/**/*.xml
**/aura/**/*.auradoc
**/aura/**/*.cmp
**/aura/**/*.css
**/aura/**/*.design
**/aura/**/*.evt
**/aura/**/*.json
**/aura/**/*.svg
**/aura/**/*.tokens
**/aura/**/*.xml
.sfdx
12 changes: 12 additions & 0 deletions projectJen/.forceignore
Original file line number Diff line number Diff line change
@@ -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__/**
38 changes: 38 additions & 0 deletions projectJen/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# 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/

# LWC VSCode autocomplete
**/lwc/jsconfig.json

# LWC Jest coverage reports
coverage/

# SOQL Query Results
**/scripts/soql/query-results

# 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/
10 changes: 10 additions & 0 deletions projectJen/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# List files or directories below to ignore them when running prettier
# More information: https://prettier.io/docs/en/ignore.html
#

**/staticresources/**
.localdevserver
.sfdx
.vscode

coverage/
13 changes: 13 additions & 0 deletions projectJen/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"trailingComma": "none",
"overrides": [
{
"files": "**/lwc/**/*.html",
"options": { "parser": "lwc" }
},
{
"files": "*.{cmp,page,component}",
"options": { "parser": "html" }
}
]
}
8 changes: 8 additions & 0 deletions projectJen/.vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"recommendations": [
"salesforce.salesforcedx-vscode",
"redhat.vscode-xml",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
]
}
16 changes: 16 additions & 0 deletions projectJen/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -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 changes: 8 additions & 0 deletions projectJen/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/.sfdx": true
},
"salesforcedx-vscode-core.show-cli-success-msg": false
}
18 changes: 18 additions & 0 deletions projectJen/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Salesforce DX Project: Next Steps

Now that you’ve created a Salesforce DX project, what’s next? Here are some documentation resources to get you started.

## How Do You Plan to Deploy Your Changes?

Do you want to deploy a set of changes, or create a self-contained application? Choose a [development model](https://developer.salesforce.com/tools/vscode/en/user-guide/development-models).

## Configure Your Salesforce DX Project

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.

## Read All About It

- [Salesforce Extensions Documentation](https://developer.salesforce.com/tools/vscode/)
- [Salesforce CLI Setup Guide](https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_intro.htm)
- [Salesforce DX Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_intro.htm)
- [Salesforce CLI Command Reference](https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference.htm)
18 changes: 18 additions & 0 deletions projectJen/config/project-scratch-def.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"orgName": "Demo company",
"edition": "Developer",
"features": [],
"settings": {
"lightningExperienceSettings": {
"enableS1DesktopEnabled": true
},
"securitySettings": {
"passwordPolicies": {
"enableSetPasswordInApi": true
}
},
"mobileSettings": {
"enableS1EncryptedStoragePref2": false
}
}
}
9 changes: 9 additions & 0 deletions projectJen/force-app/main/default/aura/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"plugins": ["@salesforce/eslint-plugin-aura"],
"extends": ["plugin:@salesforce/eslint-plugin-aura/recommended", "prettier"],
"rules": {
"func-names": "off",
"vars-on-top": "off",
"no-unused-expressions": "off"
}
}
5 changes: 5 additions & 0 deletions projectJen/force-app/main/default/aura/HApp/HApp.cmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<aura:component implements="flexipage:availableForAllPageTypes,forceCommunity:availableForAllPageTypes" access="global" >
<aura:attribute name="appName" type="String" required="true" default="HConnectedApp" />

<force:canvasApp developerName="{! v.appName }" width="1440" maxWidth="1440" maxHeight="infinite" scrolling="true" />
</aura:component>
5 changes: 5 additions & 0 deletions projectJen/force-app/main/default/aura/HApp/HApp.cmp-meta.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>48.0</apiVersion>
<description>A Lightning Component Bundle</description>
</AuraDefinitionBundle>
3 changes: 3 additions & 0 deletions projectJen/force-app/main/default/aura/HApp/HApp.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
iframe.THIS, .THIS iframe {
width: 100% !important;
}
3 changes: 3 additions & 0 deletions projectJen/force-app/main/default/aura/HApp/HApp.design
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<design:component label="H App">
<design:attribute name="appName" label="App Name" description="API name of the connected app to be displayed" />
</design:component>
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<aura:component controller="OpportunityAlertController" implements="force:appHostable,flexipage:availableForAllPageTypes">
<aura:attribute name="opportunities" type="Opportunity[]"/>

<aura:attribute name="daysSinceLastModified" type="Integer" default="7"/>
<aura:attribute name="oppStage" type="String" default="Prospecting" />
<aura:attribute name="hasTasks" type="Boolean" default="true" />

<aura:handler name="init" value="{!this}" action="{!c.getOpps}" />

<article class="forceCard">
<div style="padding: 5px;">
<h2>Opportunity Alerts</h2>
These <b>{!v.oppStage}</b> opportunites have not been modified for <b><ui:outputNumber value="{!v.daysSinceLastModified}" /></b> days
<aura:if isTrue="{!v.hasTasks}"> and have open tasks</aura:if>.
</div>
<span class="card-body">
<div class="forceFilterList alert-div">
<UL class="light">
<aura:iteration var="opportunity" items="{!v.opportunities}">
<li class="light forceListRecord alert-li" >
<div class="itemTitle body" id="{!opportunity.Id}" onclick="{!c.gotoRecord}">
<h3>{!opportunity.Name}</h3>
<ul class="itemRows truncate">
<li class="tableRowGroup">
<div class="forceListRecordItem">
<div class="label recordCell truncate">Stage Name:</div>
<div class="value recordCell truncate" >
<ui:outputText value="{!opportunity.StageName}" />
</div>
</div>
<div class="forceListRecordItem">
<div class="label recordCell truncate">Last Modifed:</div>
<div class="value recordCell truncate" >
<ui:outputText value="{!opportunity.LastModifiedDate}" />
</div>
</div>
<div class="forceListRecordItem">
<div class="label recordCell truncate">Close Date:</div>
<div class="value recordCell truncate" >
<ui:outputText value="{!opportunity.CloseDate}" />
</div>
</div>
</li>
</ul>
</div>
</li>
</aura:iteration>
</UL>
</div>
</span>
</article>
</aura:component>
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>43.0</apiVersion>
<description>DESCRIPTION</description>
</AuraDefinitionBundle>
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
.THIS .alert-div {
border-left: 1px solid red;
}

.THIS .forceListRecord {
cursor: pointer;
}

.THIS .forceCard { color: rgb(60, 61, 62); margin: 14px; border-radius: 0.3125rem; overflow: hidden; background-color: rgb(255, 255, 255); }
.THIS .forceCard a { display: block; }
.THIS .forceCard .card-header { padding: 14px; color: rgb(60, 61, 62); font-size: 1rem; font-family: ProximaNovaSoft-Regular; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(245, 246, 247); text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.THIS .forceCard .card-header.has-icon { line-height: 2.375rem; }
.THIS .forceCard .card-header:active { background-color: rgb(245, 246, 247); }
.THIS .forceCard .card-header-more { float: right; color: rgb(60, 61, 62); font-size: 0.875rem; }
.THIS .forceCard .card-header-more:active { color: rgb(72, 92, 112); }
.THIS .forceCard .header-icon { float: left; margin-right: 14px; }
.THIS .forceDetailPanel .message { padding: 30px 30px 0px; }
.THIS .forceCanvasApp .mask { position: absolute; left: 0px; bottom: 0px; top: 0px; right: 0px; opacity: 0.05; z-index: 1; background: rgb(255, 255, 255); }
.THIS .forceEclairChartListView .left { float: left; width: 60%; word-wrap: break-word; }
.THIS .forceEclairChartListView .right { float: right; width: 30%; word-wrap: break-word; }
.THIS .forceFilterCriteriaMenuItem .label { float: left; width: 60%; vertical-align: middle; font-size: 1rem; padding-top: 3px; }
.THIS .forceFilterCriteriaMenuItem .truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.THIS .forceFilterList.uiAbstractList .loadingIndicator { display: none; }
.THIS .forceFilterList .filterListSorterTrigger { float: right; font-family: ProximaNovaSoft-Semibold; font-size: 1.125rem; color: rgb(104, 108, 112); line-height: 1.25; }
.THIS .forceFilterList ul { margin: 0px; padding: 0px; }
.THIS .forceFilterList li { list-style-type: none; }
.THIS .forceFilterList .pillItem { border-width: 1px 1px 1px 4px; border-style: solid; border-color: rgb(51, 51, 51); font-weight: bold; margin-bottom: 1.5em; padding: 0.3em; border-radius: 1em; }
.THIS .forceFilterList .pillItemName { font-size: 1.5em; font-weight: bold; }
.THIS .forceFilterList .pillItemDetails { font-style: italic; }
.THIS .forceFilterList .loadingIndicator .background { opacity: 0; }
.THIS .forceFilterList .emptyListContent { padding: 100px 1.75rem 0.875rem; color: rgb(104, 108, 112); font-size: 0.9375rem; }
.THIS .forceFilterList .listTitleContainer { padding: 0.875rem 0.875rem 0px; }
.THIS .forceFilterList .listTitle { font-size: 1.125rem; color: rgb(60, 61, 62); padding-left: 0.875rem; }
.THIS .forceFilterList .listTitle .totalItemsLabel, .THIS .forceFilterList .listTitle .filterLabel { font-size: 0.8125rem; font-family: ProximaNovaSoft-Regular; color: rgb(104, 108, 112); padding-top: 2px; display: block; }
.THIS .forceFilterList .listTitle .filterLabel { text-overflow: ellipsis; }
.THIS .forceFilterList .listTitleContainer .triggerContainer { display: inline-block; }
.THIS .forceFilterList .listTitleContainer .triggerIcon { position: relative; top: 10px; left: 10px; }
.THIS .forceFilterList .filterSelectorIcon { margin-left: 0.4375rem; font-size: 0.8125rem; }
.THIS .forceFilterList .filterSelectorContainer { position: relative; margin-top: 0.875rem; }
.THIS .forceFilterList .filterSelector { position: absolute; z-index: 100; }
.THIS .forceFilterList.hiddenContent .listContent { visibility: hidden; }
.THIS .forceFilterList .hidden { visibility: hidden; }
.THIS .forceFilterList a.disabled { cursor: default; }
.THIS .forceFilterList.errorMessageContainer { text-align: justify; padding: 0.875rem; }
.THIS .forceListView .hideEl { display: none; }
.THIS .forceListView .uiDataGrid.VIEW tbody td .uiButton { border: none; display: inline-block; height: 100%; }
.THIS .forceListView .pagerControl .label { position: absolute; border: 0px; clip: rect(0px 0px 0px 0px); width: 1px; height: 1px; margin: -1px; padding: 0px; overflow: hidden; }
.THIS .forceRelatedList .listContent { min-height: 0px; }
.THIS .forceRelatedList .loadingIndicator .background { opacity: 0; }
.THIS .forceRelatedList.showEmptyContent .listContent { height: 100%; width: 100%; }
.THIS .forceRelatedList.showEmptyContent .listContent .emptyListContent { position: absolute; top: 20%; width: 100%; }
.THIS .forceRelatedList .forceListRecord { border-radius: 0.3125rem; background-color: rgb(255, 255, 255); }
.THIS .forceRelatedList.uiAbstractList .loadingIndicator { display: none; }
.THIS .forceListRecord { list-style: none; }
.THIS .forceListRecord .body { padding: 14px; }
.THIS .forceListRecord.light { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(245, 246, 247); }
.THIS .forceListRecord.actionable:active { background-color: rgb(255, 255, 255); }
.THIS .forceListRecord .itemTitle { color: rgb(60, 61, 62); font-size: 1rem; font-family: ProximaNovaSoft-Regular; padding-bottom: 3px; }
.THIS .forceListRecord .itemTitle, .THIS .forceListRecord .itemTitle div { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.THIS .forceListRecord .itemRows { color: rgb(60, 61, 62); font-size: 0.875rem; font-family: ProximaNovaSoft-Regular; list-style: none; margin: 0px; padding: 0px; }
.THIS .forceListRecord .tableRowGroup { list-style: none; }
.THIS .forceListRecordItem { display: flex; }
.THIS .forceListRecordItem .label { color: rgb(104, 108, 112); padding-right: 14px; -webkit-box-flex: 2; flex: 2 1 0%; max-width: 125px; }
.THIS .forceListRecordItem .value { -webkit-box-flex: 3; flex: 3 1 0%; }
.THIS .forceListRecordItem .recordCell { padding: 2px 14px 2px 0px; line-height: 1rem; }
.THIS .forceListRecordItem .recordCell img { vertical-align: top; }
.THIS .forceLookupCard .template .tableRowGroup { list-style: none; }
.THIS .forceLookupCard .header-label { line-height: inherit; }
.THIS .forceRelatedCardContainer .container { padding-bottom: 0.875rem; }
.THIS .forceRelatedCardContainer .message { text-align: center; color: rgb(104, 108, 112); font-size: 0.9375rem; font-family: ProximaNovaSoft-Semibold; padding: 0.875rem; }
.THIS .forceRelatedCardContainer .container .forceCard:first-child { margin-top: 0px; }
.THIS .forceRelatedListCard.card-header-mini .card-header { border-bottom-width: 0px; }
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<design:component label="Opportunity Alert">
<design:attribute name="daysSinceLastModified" label="Days Since Last Modified" description="Filter the list by how stagnant the opportunity has become" />
<design:attribute name="oppStage" label="Opportunity Stage" description="Filter the list to a specific opportunity stage" />
<design:attribute name="hasTasks" label="Has Open Tasks" description="Filter the list to only opportunites with open tasks" />
</design:component>
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
({
getOpps: function(cmp){
var action = cmp.get("c.getOpportunities");
action.setParams({
daysSinceLastModified: cmp.get("v.daysSinceLastModified"),
oppStage: cmp.get("v.oppStage"),
hasTasks: cmp.get("v.hasTasks")
});
action.setCallback(this, function(response){
console.debug(response);
var state = response.getState();
if (state === "SUCCESS") {
cmp.set("v.opportunities", response.getReturnValue());
} else {
console.debug(response.error[0].message);
}
});
$A.enqueueAction(action);
},

gotoRecord : function(c,e,h) {
var id;
var element = e.srcElement;
while(element.parentNode) {
if(element.id != "") {
id = element.id;
break;
}
element = element.parentNode;
}
if(id == null) { return; }
var sObjectEvent = $A.get("e.force:navigateToSObject");
sObjectEvent.setParams({
"recordId": id,
"slideDevName": 'detail'
});
sObjectEvent.fire();
}
})
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
({

})
Loading