Skip to content

Instantly share code, notes, and snippets.

Dan Nicholson danic85

Block or report user

Report or block danic85

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View send-error-email.apex
/* Example for sending an email when there is an error on a JSON request */
private static void sendErrorEmail(String method, HttpResponse response, String requestJSON) {
Messaging.SingleEmailMessage message = new Messaging.SingleEmailMessage();
message.toAddresses = new String[] { 'me@example.org' };
message.subject = 'Error in ' + method + ' : ' + response.getStatusCode() + ' - ' + response.getStatus();
if (requestJSON == '' || requestJSON == null)
message.plainTextBody = 'No body';
else message.plainTextBody = requestJSON;
Messaging.SingleEmailMessage[] messages = new List<Messaging.SingleEmailMessage> {message};
Messaging.SendEmailResult[] results = Messaging.sendEmail(messages);
@danic85
danic85 / TestComponent.js
Last active Jun 14, 2018
Salesforce Lightning: Setting a conditional default value blocks any further changes to the attribute. Including object will allow changes but only from the object.
View TestComponent.js
<aura:component implements="flexipage:availableForAllPageTypes">
<!-- Simple example of conditional default blocking changes -->
<aura:attribute name="myString" type="string" default="{!if(false, 'Default Val', 'Other Default')}"/>
<aura:attribute name="mySimpleString" type="string" default="Default Val"/>
<!-- Conditional default on object value will update, but will not allow external changes -->
<aura:attribute name="myObj" type="object"/>
<aura:attribute name="myObjString" type="string" default="{!if(empty(v.myObj), 'Default Val', v.myObj.val)}"/>
<aura:handler name="init" value="{!this}" action="{!c.doInit}" />
@danic85
danic85 / TestComponent.cmp
Last active Jun 14, 2018
Salesforce Lightning: Setting a conditional default value blocks any further changes to the attribute.
View TestComponent.cmp
<aura:component implements="flexipage:availableForAllPageTypes">
<aura:attribute name="myString" type="string" default="{!if(false, 'Default Val', 'Other Default')}"/>
<aura:attribute name="mySimpleString" type="string" default="Default Val"/>
<aura:handler name="init" value="{!this}" action="{!c.doInit}" />
<div class="slds-card">
{!v.myString} <!-- Will always output 'Other Default', even if changed later by doInit -->
{!v.mySimpleString} <!-- Will be changed to 'Set Directly' by doInit -->
</div>
</aura:component>
@danic85
danic85 / onewire.ino
Created Jun 12, 2018
Reading from a 1-wire device (DS28E05) with arduino.
View onewire.ino
/* YourDuino Example: Find Address of a DS18B20 Temperature Sensor
Cut and paste the address to a text file for later use.
V1.1 01/17/2013
Questions: terry@yourduino.com
URL: http://arduino-info.wikispaces.com/Brick-Temperature-DS18B20#Read%20individual
Connections:
DS18B20 Pinout (Left to Right, pins down, flat side toward you)
- Left = Ground
- Center = Signal (Pin 2): (with 3.3K to 4.7K resistor to +5 or 3.3 )
View cancelScheduledJobs.cls
/* Cancel Scheduled Jobs in Apex */
for(CronTrigger delCron: [SELECT Id FROM CronTrigger ]) {
System.abortJob(delCron.Id);
}
@danic85
danic85 / urlformat.js
Created Mar 5, 2018
Detect Lightning URL Format
View urlformat.js
window.location.pathname
@danic85
danic85 / outputproxy.js
Created Feb 26, 2018
Convert a proxy to a readable object
View outputproxy.js
outputProxy : function(record) {
var obj = {};
for(var propt in record) {
obj[propt] = record[propt];
if (typeof(record[propt]) == 'object') {
obj[propt] = this.outputProxy(record[propt]);
}
}
return obj;
}
@danic85
danic85 / gist:a5519c6591bce94cf4e7c7064506c50b
Last active Aug 7, 2017
Lightning FLS. Throw exception if any field is not accessible.
View gist:a5519c6591bce94cf4e7c7064506c50b
//https://developer.salesforce.com/page/Lightning_Security#Access_Control_in_Apex_Controllers_and_Supporting_Classes
List<String> fields = new List<string>(); // Add your fields to check here
String objectName = ''; //Add your object name here
Map<String,Schema.SObjectField> fieldMap = Schema.getGlobalDescribe().get(objectName).getDescribe().fields.getMap()
for (String fieldToCheck : fields) {
// Check if the user has access to view field
if (!fieldMap.get(fieldToCheck).getDescribe().isAccessible()) {
//also pass error to client
throw new System.NoAccessException();
@danic85
danic85 / gist:cf71ce35e2cc25b273ff6be6a75b6d48
Created Dec 15, 2016
SLDS Wizard Progress Bar - Bar will not display without z-index on containing div
View gist:cf71ce35e2cc25b273ff6be6a75b6d48
<span class="slds-wizard__progress" style="z-index: 0;">
<span class="slds-wizard__progress-bar" style="width:50%;"></span>
</span>
@danic85
danic85 / gist:4c48f7dd1d4532049b491c8cd1d47f31
Created Dec 7, 2016
Binding lightning:input checkbox value. Must bind to 'checked' not 'value'
View gist:4c48f7dd1d4532049b491c8cd1d47f31
<aura:attribute name="testBoolean" type="Boolean" default="false" />
<lightning:input name="testBoolean" label="Test Boolean" type="checkbox" checked="{!v.testBoolean}" />
You can’t perform that action at this time.