Skip to content

Instantly share code, notes, and snippets.

@jamigibbs
jamigibbs / pubsub.js
Last active April 26, 2021 19:49
pubsub for Experience Builder sites
View pubsub.js
/**
* Copyright (c) 2021. 7Summits Inc. All rights reserved.
*/
/**
* A basic pub-sub mechanism for sibling component communication.
* To be replaced by messageService when out of beta in experience builder:
*
* https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.use_message_channel
*
@jamigibbs
jamigibbs / PageLayout_Template.cmp
Created April 15, 2021 18:31
PageLayout_Template.cmp
View PageLayout_Template.cmp
<!--
- Use this component as a template for custom page layouts
- siteforceContentArea, slds-col_padded & com-layout-column are Customer Service (Napili) classes that match
- page layout classes in that OTB theme
-->
<aura:component description="Peak_PageLayout_Template" implements="forceCommunity:layout" access="global">
<aura:attribute name="ContentHeader" type="Aura.Component[]" />
<aura:attribute name="ContentSubHeader" type="Aura.Component[]" />
@jamigibbs
jamigibbs / gist:c563c1c3fe49883cbc0d70450fceb313
Created March 29, 2021 21:58
Google Calendar last day of month repeat event
View gist:c563c1c3fe49883cbc0d70450fceb313
BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART:20210430
DTEND: 20210430
RRULE:FREQ=MONTHLY;BYDAY=SU,MO,TU,WE,TH,FR,SA;BYSETPOS=-1;WKST=SU
SUMMARY:Payday
END:VEVENT
END:VCALENDAR
View gist:ae47a4614bdcbcdcf06a330787ce067b
get targetValue() {
if (isNaN(requestedAmount)) return 0;
if (isNan(otherRequestedAmount)) return 0;
return requestedAmount + otherRequestedAmount;
}
@jamigibbs
jamigibbs / feeditem-soql-query.cls
Last active August 26, 2020 12:55
SOQL query for profile image from FeedItem
View feeditem-soql-query.cls
feedItemsList = [
SELECT Id, Body, Title, Parent.Name, CreatedDate,
TYPEOF InsertedBy WHEN User THEN Name, MediumPhotoUrl END
FROM FeedItem
WHERE CreatedDate = LAST_N_DAYS:30
ORDER BY CreatedDate DESC
];
@jamigibbs
jamigibbs / bad-feeditem-soql-query-3.cls
Last active May 21, 2020 15:23
Bad Feed Item SOQL query for profile image 3
View bad-feeditem-soql-query-3.cls
feedItemsList = [
SELECT Id, Body, Title, CreatedDate, Parent.Name, InsertedBy.MediumPhotoUrl
FROM FeedItem
WHERE CreatedDate = LAST_N_DAYS:30
ORDER BY CreatedDate DESC
];
feedItemsList = [
SELECT Id, Body, Title, CreatedDate, Parent.Name, InsertedBy__r.MediumPhotoUrl
FROM FeedItem
@jamigibbs
jamigibbs / bad-feeditem-soql-query-2.cls
Last active May 21, 2020 14:37
Bad Feed Item SOQL query for profile image 2
View bad-feeditem-soql-query-2.cls
feedItemsList = [
SELECT Id, Body, Title, CreatedDate, Parent.Name, Parent.Photo.mediumPhotoUrl
FROM FeedItem
WHERE InsertedBy = LAST_N_DAYS:30
ORDER BY CreatedDate DESC
];
@jamigibbs
jamigibbs / bad-feeditem-soql-query.cls
Last active May 21, 2020 15:23
Bad Feed Item SOQL query for profile image
View bad-feeditem-soql-query.cls
feedItemsList = [
SELECT Id, Body, Title, CreatedDate, Parent.Name, Parent.MediumPhotoUrl
FROM FeedItem
WHERE CreatedDate = LAST_N_DAYS:30
ORDER BY CreatedDate DESC
];
feedItemsList = [
SELECT Id, Body, Title, CreatedDate, Parent.Name, Parent__r.MediumPhotoUrl
FROM FeedItem
@jamigibbs
jamigibbs / websocketChat.js
Created March 30, 2020 22:05
refresh chat users
View websocketChat.js
this._socket.on('refreshChatUsers', () => {
return refreshApex(this.wiredChatUsers);
});
@jamigibbs
jamigibbs / server.js
Created March 30, 2020 21:55
Refresh chat users
View server.js
socket.on('userEnteredChat', () => {
io.emit('refreshChatUsers');
});
socket.on('userLeftChat', () => {
io.emit('refreshChatUsers');
});