Skip to content

Instantly share code, notes, and snippets.

@CraigCav
CraigCav / naming.js
Last active April 26, 2016 18:49
salesforce namespace regex
var nameFormat = /^(\w+__)?([A-Za-z0-9]+(?:_?[A-Za-z0-9]+)+)*(__+.)?$/;
var [match, namespace, name, suffix] = nameFormat.exec('NS1__Foo__c');
console.log(namespace); // logs: "NS1__"
console.log(name); // logs: "Foo"
console.log(suffix); // logs: "__c"
function getAnimals() {
var dataSource = this;
var ajax = $.ajax({
type: 'GET',
url: '/my/remote/endpoint/',
data: {
limit: dataSource.pager.limit(),
startIndex: dataSource.pager.limit() * ( dataSource.pager.page() – 1 )
},
trigger WellDepthNotification on FX5__Job__c (after update) {
for(FX5__Job__c job: Trigger.New)
{
if(job.Well_Depth__c > 50)
{
Messaging.PushNotification msg = new Messaging.PushNotification();
String userId = job.OwnerId;
Set<String> users = new Set<String>();
users.add(userId);
Map<String, Object> payload = new Map<String, Object>();
(function (exports) {
"use strict";
function tQuery(selector, context) {
var isNew = !(this == window || typeof this === "undefined");
if(!isNew) return new tQuery(selector, context);
var target = context || document;
var elementsList = target.querySelectorAll(selector);
@CraigCav
CraigCav / gist:2339152
Created April 8, 2012 18:51
Patient Waiting times brain dump...
public class ReferralToTreatmentPolicy : Saga<ReferralToTreatmentSagaData>,
IAmStartedByMessages<PatientReferredToConsultantLedService>,
IHandleMessages<TreatmentStarted>,
IHandleMessages<PatientAddedToTransplantList>,
IHandleMessages<PatientDeclinedTreatment>,
IHandleTimeouts<ReferralToTreatmentPeriodBreach>
{
public override void ConfigureHowToFindSaga()
{
ConfigureMapping<TreatmentStarted>(s => s.UBRN, m => m.UniqueBookingReferenceNumber);
@{
var modelMetadata = ViewContext.ViewData.ModelMetadata;
var values = modelMetadata.AdditionalValues.ContainsKey("SelectList")
? modelMetadata.AdditionalValues["SelectList"] as IEnumerable<SelectListItem>
: Enumerable.Empty<SelectListItem>();
}
@Html.DropDownList("", values, "Choose..")
@{
var modelMetadata = ViewContext.ViewData.ModelMetadata;
var values = modelMetadata.AdditionalValues.ContainsKey("SelectList")
? modelMetadata.AdditionalValues["SelectList"] as IEnumerable<SelectListItem>
: Enumerable.Empty<SelectListItem>();
}
@Html.DropDownList("", values, "Choose..")
private void ProvideSelectListForEnums(ModelMetadata modelMetadata, Type modelType)
{
if (modelType != null && modelType.IsEnum && string.IsNullOrEmpty(modelMetadata.TemplateHint))
{
modelMetadata.TemplateHint = "SelectList";
var values = Enum.GetValues(modelType).Cast<object>();
var items = values.Select(entry => new SelectListItem { Text = Enum.GetName(modelType, entry), Value = entry.ToString() });
var selectList = new SelectList(items, "Value", "Text", modelMetadata.Model);
modelMetadata.AdditionalValues.Add("SelectList", selectList);
}
public class CustomModelMetadataProvider : DataAnnotationsModelMetadataProvider
{
protected override ModelMetadata CreateMetadata(IEnumerable<Attribute> attributes, Type containerType, Func<object> modelAccessor, Type modelType, string propertyName)
{
var attributeList = attributes.ToList();
var modelMetadata = base.CreateMetadata(attributeList, containerType, modelAccessor, modelType, propertyName);
ProvideTextAreaForBigText(modelMetadata, propertyName);
return modelMetadata;
@if (Model == null) {
<text>@ViewData.ModelMetadata.NullDisplayText</text>
} else if (ViewData.TemplateInfo.TemplateDepth > 1) {
<text>@ViewData.ModelMetadata.SimpleDisplayText</text>
} else {
foreach (var prop in ViewData.ModelMetadata.Properties.Where(pm => pm.ShowForDisplay && !ViewData.TemplateInfo.Visited(pm))) {
if (prop.HideSurroundingHtml) {
<text>@Html.Editor(prop.PropertyName)</text>
} else {
<p>