Skip to content

Instantly share code, notes, and snippets.

@bcswartz
bcswartz / andOrDelimiters.cfm
Last active November 11, 2017 23:18
Using multiple delimiters to create and/or logic in a string
<cfset rules_ands= ListLen(enrollment_rule,"|")>
<cfset match_count= 0>
<cfloop index="andlist" list="#enrollment_rule#" delimiters="|">
<!--Or list is now another list (comma-delimited) of trait values-->
<cfloop index="orlist" list="#andlist#" delimiters=",">
<cfif ListFind(student_traits,orlist) GT 0>
<cfset match_count= match_count+1>
</cfif>
</cfloop>
@bcswartz
bcswartz / tryCatchRSSFeedBlock.cfm
Created November 19, 2017 15:32
Simple error-handling for RSS feeds via ColdFusion (tag-style)
<cftry>
<cfhttp url="http://www.digg.com/rss/index.xml" method="get"></cfhttp>
<cfcatch type="any">
<p>This news feed is currently unavailable. This may be due to a temporary network error affecting the feed provider.</p>
<cfabort>
</cfcatch>
</cftry>
<cftry>
<cfset thefeed= xmlParse(cfhttp.FileContent)>
@bcswartz
bcswartz / submitDemo.html
Created November 19, 2017 16:05
submitDemo, part 1 of a multi-Gist coding example
<html>
<head>
<title>Simple Form</title>
<script language="javascript" src="jquery-1.2.1.js"></script>
<script language="javascript" src="jquery.form.js"></script>
<script language="javascript" src="submitDemo.js"></script>
<link rel="stylesheet" type="text/css" href="submitDemo.css">
</head>
<body>
@bcswartz
bcswartz / submitDemo.css
Created November 19, 2017 16:06
submitDemo, part 2
hideElement {display:none;}
.errorMsg {background-color:red;color:white;padding:.5ex;}
.successMsg {background-color:green;color:white;padding:.5ex;}
.successText {color:green;font-weight:bold;}
.errorText {color:red;font-weight:bold;}
form label {
width:7em;
float: left;
@bcswartz
bcswartz / submitDemo.js
Created November 19, 2017 16:07
submitDemo, part 3
$(document).ready(function() {
$("#submitButton").click(function () {
$("#submitType").val("ajax");
});
$('#submitDemoForm').submit(function() {
$(this).ajaxSubmit(submitOptions);
return false;
});
@bcswartz
bcswartz / serverSubmit.cfm
Created November 19, 2017 16:08
submitDemo, part 4
<cfset errorList= "">
<cfif form.firstName EQ "">
<cfset errorList= ListAppend(errorList,"You must enter your first name.","|")>
</cfif>
<cfif form.lastName EQ "">
<cfset errorList= ListAppend(errorList,"You must enter your last name.","|")>
</cfif>
<cfif errorList EQ "">
@bcswartz
bcswartz / pseudoAjaxHyperlink.cfm
Created November 22, 2017 15:33
Example of a technique to support AJAX-like behavior when JavaScript is turned off
@bcswartz
bcswartz / transfer.xml
Created November 22, 2017 15:52
Transfer decorator example, part 1. The configuration
<package name="example">
<object name="Item" table="itemsTable" sequence="itemId_seq" decorator="com.itemDecorator">
<id name="itemId" type="numeric" />
<property name="setId" type="numeric" column="setId" />
<property name="itemTitle" type="string" column="itemTitle" />
<property name="itemText" type="string" column="itemText" />
<property name="itemOrder" type="numeric" column="itemOrder" />
<property name="parentId" type="numeric" column="parentId" />
</object>
</package>
@bcswartz
bcswartz / itemsDecorator.cfm
Created November 22, 2017 15:54
Transfer decorator example, part 2. The domain class
<cfcomponent displayname="itemsDecorator" extends="transfer.com.TransferDecorator" output="false">
<cffunction name="getMyParentItem" access="public" output="false" returntype="any">
<cfreturn getTransfer().get("example.Item",getTransferObject().getParentId()) />
</cffunction>
<cffunction name="getMyChildItems" access="public" output="false" returntype="array">
<cfset var local= StructNew() />
<cfset local.childrenArray= ArrayNew(1) />
<cfset local.childrenQry= getTransfer().listByProperty("example.Item","parentId",getTransferObject().getItemId(),"itemOrder")>
@bcswartz
bcswartz / validUserSubmittedDate.js
Created November 23, 2017 14:22
A means to check if the date a user provided is invalid (like "April 31")
//Since JavaScripts counts months starting from 0 (January is 0),
//subtract 1 from the month integer submitted by the user
var formattedMonth = userSubmittedMonth - 1;
var testDate = new Date( userSubmittedYear,formattedMonth,userSubmittedDay,0,0,0,0) ;
if (
testDate.getFullYear() != userSubmittedYear
|| testDate.getMonth() != formattedMonth
|| testDate.getDate() != userSubmittedDay