Skip to content

Instantly share code, notes, and snippets.

View jasonmit's full-sized avatar
🌴
On a hiatus from open source

Jason Mitchell jasonmit

🌴
On a hiatus from open source
View GitHub Profile
@jasonmit
jasonmit / gist:8728438
Created January 31, 2014 08:32
Simple Ember Tree View
<script type="text/x-handlebars" data-template-name="application">
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="tree-item">
{{#if view.hasChildren}}
<a {{action 'expand' target=view}}>
{{#if view.parentView.shrinkDepth}}
{{{view.parentView.depthLabel}}}
{{/if}}
@jasonmit
jasonmit / gist:9046681
Created February 17, 2014 08:13
Ember: Partial model loading vs waiting for complete model (http://jsfiddle.net/NQKvy/704/)
<style type="text/css">
body { font-family: "Helvetica Neue"; font-weight: 300; margin: 15px; font-color: dimgray; }
a { margin-right: 15px; }
h1 { font-size: 1.6em; padding-bottom: 10px; }
h2 { font-size: 1.4em; }
th { border-bottom: 1px solid darkgray; }
th, td { padding: 10px 15px 10px 0; }
</style>
<script type="text/x-handlebars" data-template-name="application">
<script type="text/x-handlebars" data-template-name="application">
<h1>ember-latest jsfiddle</h1>
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="index">
<h2>Index Content:</h2>
{{#tool-tip view='sampleArray' content=content}}
<button>Sample Button (mouse over)</button>
{{/tool-tip}}
<script type="text/x-handlebars" data-template-name="application">
{{#search-container action='search' content=filteredContent}}
{{search-input}}
{{search-results row=App.PersonView}}
{{/search-container}}
</script>
<script type="text/x-handlebars" data-template-name="person">
<li>{{fullName}}</li>
</script>
@jasonmit
jasonmit / gist:11123666
Created April 20, 2014 19:58
Ember: Component that creates child components http://jsfiddle.net/NQKvy/910/
<style>
h1 { font-size: 1.6em; padding-bottom: 10px; }
h2 { font-size: 1.4em; }
ul { padding: 15px; font-size: 1.4em; color: green; }
.parent-component,
.child-component { display: block; }
</style>
<script type="text/x-handlebars" data-template-name="application">
@jasonmit
jasonmit / gist:c08bb9c55314488c2b02
Created July 8, 2014 01:56
auto-radix parseInt
/**
* Tired of code reviewing for this..
*/
window.parseInt = (function(pI) {
return function() {
var args = Array.prototype.slice.call(arguments);
if(args.length === 1) { args.push(10); }
return pI.apply(this, args);
}
@jasonmit
jasonmit / gist:3124ec73d76c9b380047
Created August 6, 2014 06:29
Exposing component from within the context of the yield http://jsfiddle.net/NQKvy/1233/
App = Ember.Application.create({});
var get = Ember.get, set = Ember.set, View = Ember.View;
App.FooBarComponent = Ember.Component.extend({
test: 'I am from the component!',
layout: Ember.Handlebars.compile("{{yield}}"),
_yield: function(context, options) {
var view = options.data.view,
parentView = this._parentView,
template = get(this, 'template');
@jasonmit
jasonmit / observerOnce.js
Last active August 29, 2015 14:10
Ember.observerOnce - combines Ember.observer + Ember.run.once
//
// Example: http://jsbin.com/welusizema/1/edit
//
// Since observers are not async, it's usually a good
// practice, when observing numerous properties, to
// wrap the observer function with an Ember.run.once.
// ```
// fooBarChanged: Ember.observer('foo', 'bar', function () {
// Ember.run.once(this, this.scheduledChange);
// }),
@jasonmit
jasonmit / didCreateRecord.js
Last active August 29, 2015 14:12
Ember-data custom didCreateRecord event
/*
* The `didCreate` event on a DS.Model does not behave like one would expect.
* It actually only ever fires when you createRecord AND then save the record.
*
* This custom eventing below is how you achieve a the expected event.
* This is useful in the case where you have relational objects that you want
* to auto-create when a record is created. Or, some custom logic to implement
* once the record is created. Likely very useful where you want to setup
* observers for things like validation. Placing them in `init` wouldn't
* be ideal since they will trigger the first time the model is initialized