Skip to content

Instantly share code, notes, and snippets.

@cdaringe
cdaringe / index.js
Created April 11, 2015 00:10
requirebin sketch
window.jQuery = require('jquery'); // 2.1.x
require('datatables'); // 1.10.6
if (window.jQuery.fn.dataTable) {
alert('yahoo!');
} else {
alert('bummer :(');
}
@cdaringe
cdaringe / index.js
Created April 21, 2015 15:30
requirebin sketch
'use strict';
var View = require('ampersand-view');
var view = new View({
template: '<span></span>',
el: document.createElement('div')
});
if (view.rendered) {
alert('view instantiated only, should not be rendered... but i am `rendered`');
@cdaringe
cdaringe / index.js
Last active August 29, 2015 14:19
requirebin sketch
'use strict';
var Collection = require('ampersand-collection');
// method 1 - basic
var parentCollection = new Collection();
var childColl1 = new Collection();
childColl1.set([{id: 1}, {id: 2}]);
var childColl2 = new Collection();
body {
font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
margin: 0;
padding: 0;
color: #333;
background-color: #fff;
}
div.container {
@cdaringe
cdaringe / index.js
Created May 8, 2015 17:59
requirebin sketch
'use strict';
// open up your console, follow along
// https://github.com/cdaringe/ampersand-webworker-demo/blob/master/index.js
require('ampersand-webworker-demo');
@cdaringe
cdaringe / ampersand-model-and-collection-performance
Created May 8, 2015 22:49
ampersand-model-and-collection-performance
'use strict';
var Collection = require('ampersand-collection');
var Model = require('ampersand-model');
var MyModel = Model.extend({
props: {
field1: 'string',
field2: 'string',
field3: 'string',
field4: 'string',
field5: 'string'
@cdaringe
cdaringe / ampersand-select-demo-unsuccessful-with-provided-el
Created May 13, 2015 05:31
ampersand-select-demo unsuccessful with provided el
/*global console*/
var SelectView = require('../ampersand-select-view');
var FormView = require('ampersand-form-view');
var Model = require('ampersand-state').extend({
props: {
id: 'string',
title: 'string'
}
});
@cdaringe
cdaringe / ampersand-view-rendered-discussion
Created May 31, 2015 21:31
rendered implementation discussion
// Solutions to manage the rendered state *better*
1. make `rendered` a bool member of `props`. manage rendered bit on your own
- weaknesses
- it's a pain for the user to have to explicty set `this.rendered` on every render and remove call, despite being a single bit
- it get's tricky if you extend muliple view definitions. If you manually set the rendered bit in each child's render function, you get duplicate 'change:rendered' events
2. make `rendered` a bool member of `props`. wrap user defined render()s to contain their render() fn AND logic to update `rendered`
- weaknesses
- again, each version of render() in the proto chain execs the fn and duplicate change events on the `rendered` prop occur
@cdaringe
cdaringe / simple-book-library-output
Last active August 29, 2015 14:22
simple-book-library-output
cdieringer@Snapper-osx:~/pyproj/libraryDemo$ python main.py
Welcome to Chris's Library
Book: DLCDBCKWHW added from shelf 0, slot 0
Book: IOZSMJTEQZ added from shelf 0, slot 1
Book: IWJWVVEFIL added from shelf 0, slot 2
Book: JQSRXWLJPE added from shelf 0, slot 3
Book: BWMWGHBABF added from shelf 0, slot 4
Book: XHQOMRINHR added from shelf 0, slot 5
Book: BOBAXZJUQY added from shelf 0, slot 6
@cdaringe
cdaringe / grunt-npm-dedupe.js
Created June 29, 2015 01:25
grunt npm dedupe
var spawnSync = require('spawn-sync');
var NODE_ENV = process.env.NODE_ENV;
var production = (NODE_ENV === 'production');
/**
* `npm dedupe` in cwd
* @return {undefined}
*/
var dedupe = function() {
var result;