Skip to content

Instantly share code, notes, and snippets.

Tim Hobbs timhobbs

Block or report user

Report or block timhobbs

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
@timhobbs
timhobbs / FilterExtension.cs
Created Nov 16, 2012
An extension method for Telerik MVC grid filtering
View FilterExtension.cs
///<remarks>
/// Turns out this wasn't needed - and far less elegant than the existing extension method.
/// However, it is still an example of a generic way to match a given property with a value
/// and how to select that property by name (string) and compare its value to the value
/// that is passed in. It works...
///</remarks>
public static IList<T> ApplyFilter<T>(this IList<T> list, FilterDescriptor filter) {
// We wont allow filtering on anything but string type properties
if (filter.MemberType != typeof(string)) throw new ArgumentException("Filtering is only allowed for properties with a type of 'string'.");
@timhobbs
timhobbs / em.js
Created Nov 15, 2012
jQuery "remote" validation
View em.js
window.Em = window.Em || {};
Em = {
setFocusOutValidation: function (form) {
var s = $.data(form, "validator").settings;
s.onfocusout = function (element) {
if ($(element).val().length > 0) {
$(element).valid();
}
};
@timhobbs
timhobbs / Adapter.js
Created Oct 16, 2012 — forked from michaeljacobdavis/Adapter.js
NotEqual Fluent Validation validator with client side validation
View Adapter.js
(function ($) {
$.validator.addMethod("notequal", function (value, element, param) {
if (param.indexOf("#") == -1) return value != param;
return value != $(param).val();
}, $.validator.messages.notequal);
$.validator.unobtrusive.adapters.add("notequal", ["field"], function (options) {
options.rules["notequal"] = options.params.field;
if (options.message) options.messages["notequal"] = options.message;
});
@timhobbs
timhobbs / jquery.text3d.js
Created Nov 15, 2011
jQuery 3d text plug-in
View jquery.text3d.js
/**
* 3D Text plugin for jQuery
* v1.0
* Creates 3D text using CSS3 text-shadows
*
* By Craig Buckler, @craigbuckler, http://optimalworks.net
*
* As featured on SitePoint.com:
* http://www.sitepoint.com/css3-3d-text-jquery-plugin/
*
@timhobbs
timhobbs / AjaxRedirect.cs
Created Oct 25, 2011
AjaxRedirectResult and AjaxRequestExtension
View AjaxRedirect.cs
using System;
using System.Web;
using System.Web.Mvc;
/// <summary>
/// See http://stackoverflow.com/questions/1171035/asp-net-mvc-custom-error-handling-application-error-global-asax/5952774#5952774
/// for implementation details
/// </summary>
public class AjaxRedirectResult : RedirectResult {
@timhobbs
timhobbs / MaximumWeightAttribute.js
Created Oct 22, 2011
MaximumWeightAttribute custom attribute jQuery unobtrusive client side validation implementation
View MaximumWeightAttribute.js
<script type="text/javascript">
$.validator.addMethod("maximumweight",
function (value, element, parameters) {
var carrier = $("#" + parameters["dependentproperty"]).val();
var carriervalue = parameters["dependentvalue"].toString();
var weightvalue = Number(parameters["weightvalue"]);
if (carrier == carriervalue && value > weightvalue) {
return false;
}
return true;
@timhobbs
timhobbs / MaximumWeightAttribute.cs
Created Oct 22, 2011
MaximumWeightAttribute custom attribute - usage [MaximumWeight("PropertyName", "PropertyValue", MaxWeightInt)]
View MaximumWeightAttribute.cs
public class MaximumWeightAttribute : ValidationAttribute, IClientValidatable {
private const string ERRORMSG = "Weight must not exceed {0} lbs.";
public string DependentProperty { get; set; }
public string DependentValue { get; set; }
public int MaximumWeight { get; set; }
public MaximumWeightAttribute(string dependentProperty, string dependentValue, int maximumWeight) {
this.DependentProperty = dependentProperty;
@timhobbs
timhobbs / DynamicDropDownsHelper.cshtml
Created Oct 22, 2011
Razor dynamic drop down helper
View DynamicDropDownsHelper.cshtml
@helper DynamicDropDowns() {
<script type="text/javascript">
function listChanged($list, $target, url) {
var listId = $list.val();
if (listId == "") { // User selected first option, so clear and disable the list
$target.empty();
enableList($target, false);
return;
}
$.getJSON(url, { id: listId }, function (data) {
@timhobbs
timhobbs / sandbox.js
Created Jun 3, 2015
Javascript sandbox
View sandbox.js
/**
* Just playing around with Function.prototype.call
* jsfiddle: https://jsfiddle.net/jesus_tesh/e7ufpLmz/
**/
console.clear();
console.log("Basic function call");
console.log("===================\n");
View gist:b9a4d457ae935069c4d5
<!DOCTYPE html>
<html ng-app="app">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Demo</title>
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet">
<style>
body { font-family: Calibri }
.form-horizontal .checkbox label {
You can’t perform that action at this time.