Skip to content

Instantly share code, notes, and snippets.

View sebmarkbage's full-sized avatar

Sebastian Markbåge sebmarkbage

View GitHub Profile
Element.implement({
/**
truncates element text to fit in element width.
end (bool) defaults false. True = cuts string at end, False = cuts string in middle
str (string) truncation string default : '...'
**/
truncate : function(end,str){
str = str || '...';
var style = this.style;
var originalStyles = { overflow: style.overflow, 'white-space': style.whiteSpace, padding: style.padding };
/*=
name: Animation
description: Simple animations implementation that work with standard-sized browsers (using Fx) and use webkit css animations where available.
license: MooTools MIT-Style License (http://mootools.net/license.txt)
copyright: Valerio Proietti (http://mad4milk.net)
authors: Valerio Proietti (http://mad4milk.net)
requires: MooTools 1.2.3+ (Core) (http://mootools.net/download)
=*/
var Animation = new Class({
PRELOADING REQUIRED:
Sheer({
original: 'urn:Sheer:Lang:Array',
require: {
'urn:Sheer:Lang': ['Type', 'Object', 'Function']
}
}, function(Type, Object, Function) {
/*
@import Event.Drag.js
Script: Element.Draggable.js
Enables HTML 5 drag operation events in legacy browsers.
License:
MIT-style license.
Authors:
// Array shuffle for MooTools
Array.implement({
shuffle: function(){
for (var i = this.length; i && --i;){
var temp = this[i], r = Math.floor(Math.random() * ( i + 1 ));
this[i] = this[r];
this[r] = temp;
}
var dontEnum = ['toString', 'toLocaleString', 'valueOf', 'toSource', 'watch', 'unwatch', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable'];
var failsEnumTest = (function(){
for (var k in { toString: {} }) return false;
return true;
})();
Object.each = function(obj, fn){
for (var key in obj) fn(obj[key], key);
if (failsEnumTest)
for (var i=0,l=dontEnum.length;i<l;i++){
@sebmarkbage
sebmarkbage / Array.Reduce.js
Created February 14, 2010 15:59
More MooTools
/*
---
script: Array.Reduce.js
description: Extends Array with reduce and reduceRight methods in browsers that don't support them.
license: MIT-style license.
requires:
if (window.XDomainRequest) (function(){
var onLoad = function(){
cleanup(this.xhr);
this.response = {text: this.xhr.responseText, xml: this.xhr.responseXML};
this.success(this.response.text, this.response.xml);
};
var onError = function(){
cleanup(this.xhr);
Autocompleter.implement({
choiceOver: function(choice, selection){
if (!selection && this.options.forceSelect) this.selectedValue = this.opted = choice.inputValue;
return this.parent.apply(this, arguments);
},
hideChoices: function(clear){
if (clear && this.options.forceSelect && (!this.visible || !this.selected) && this.element.value != this.opted) {
this.opted = "";
using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using System.Reflection;
using System.Reflection.Emit;
using System.Linq.Expressions;
using System.Text;
public static class DbConnection