Skip to content

Instantly share code, notes, and snippets.

View Munter's full-sized avatar

Peter Müller Munter

View GitHub Profile
function test() {
var rec = Ext.data.Record.create([
{name: 'id', type: 'string'}
]);
var store = new Ext.data.JsonStore({
autoSave: true,
proxy: new Ext.data.HttpProxy({
url: 'test',
// This should enable drag/dropping of file links from a webpage to desktop in browsers with support (Chrome)
window.onload = function() {
var as = document.getElementsByTagName('a');
for (var i = 0; i < as.length; i++) {
as[i].addEventListener('dragstart', function(link) {
return function (evt) {
evt.dataTransfer.setData('DownloadURL', 'application/octet-stream:' + link.href.replace(/^.*\//, '') + ':' + link.href);
};
}(as[i]), false);
}
/*
Adds an 'optional' property to data type configuration, which allows undefined or null as values.
*/
Ext.iterate(Ext.data.Types, function(key, value, obj) {
if (value.convert) {
var fn = value.convert;
obj[key] = {
convert: function (v) {
return (this.optional && (v === undefined || v === null)) ? null : fn(v);
@Munter
Munter / Ext.data.Model-deepValidation.js
Created December 16, 2010 14:59
Deep validation of Sencha Touch models
Ext.override(Ext.data.Model, {
/**
* Validates the current data against all of its configured {@link #validations} and returns an
* {@link Ext.data.Errors Errors} object
* @param {Boolean} deep Boolean to indicate whether to validate relations as well
* @return {Ext.data.Errors} The errors object
*/
validate: function(deep) {
var errors = new Ext.data.Errors(),
validations = this.validations,
@Munter
Munter / ExtJS4b2_script_includes.html.fragment
Created April 8, 2011 09:48
These are the script includes needed to work on the raw source files from Ext JS 4 beta 2
<script src="src/core/src/Ext.js"></script>
<script src="src/core/src/version/Version.js"></script>
<script src="src/core/src/lang/String.js"></script>
<script src="src/core/src/lang/Number.js"></script>
<script src="src/core/src/lang/Array.js"></script>
<script src="src/core/src/lang/Function.js"></script>
<script src="src/core/src/lang/Object.js"></script>
<script src="src/core/src/lang/Date.js"></script>
<script src="src/core/src/class/Base.js"></script>
<script src="src/core/src/class/Class.js"></script>
@Munter
Munter / Tabs.js
Created July 8, 2011 12:47
Simple javascript tab implementation
function Tabs(tabContainer) {
this.tabs = [];
var tablinks = tabContainer.getElementsByTagName('a');
for (var i = 0; i < tablinks.length; i++) {
this.tabs.push(new Tab(tablinks[i], this));
}
if (!this.active) {
this.activate(this.tabs[0]);
}
}
@Munter
Munter / install_assetgraph.sh
Created July 12, 2011 22:28
Assetgraph bootstrap
#!/bin/sh
# Install dependencies
sudo apt-get install git libssl-dev libcairo2-dev libgif-dev libjpeg8-dev optipng pngcrush pngquant
# Install Node.js v0.4
git clone git://github.com/joyent/node
cd node
git checkout v0.4
make distclean # Only necessary if you've compiled from the same checkout before
@Munter
Munter / Makefile
Created August 22, 2011 15:40
Example Makefile for assetgraph-builder
DEV_JS_CSS_SOURCES = $(shell find ./http-pub -name "*.js" -o -name "*.css")
PAGES = http-pub/index.html
LABELS = \
--label Ext:extJs4Dir=http-pub/3rdparty/ext/src
.PHONY: all clean
all: http-pub-production
development: ${PAGES}
@Munter
Munter / gist:1256223
Created October 1, 2011 15:50
npm warnings for local installation of assetgraph-builder@0.2.8
munter@medulla:~/git/one-color$ npm list
npm WARN unmet dependency /home/munter/git/one-color/node_modules/assetgraph-builder/node_modules/assetgraph requires uglify-js@'=1.0.1' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /home/munter/git/one-color/node_modules/assetgraph-builder/node_modules/assetgraph requires seq@'>=0.3.0 <0.4' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /home/munter/git/one-color/node_modules/assetgraph-builder/node_modules/assetgraph-sprite requires seq@'>= 0.3.0 < 0.4' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
munter@medulla:~/git/color$ make clean
rm -f one-color-debug.js one-color.js
munter@medulla:~/git/color$ make
flattenOneInclude lib/one/color/_all.js --label js=lib > one-color-debug.js
node.js:134
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Cannot set property registerLabelsAsCustomProtocols of #<Object> which has only a getter
at /home/munter/.local/lib/node_modules/assetgraph-builder/node_modules/underscore/underscore.js:573:48