Skip to content

Instantly share code, notes, and snippets.

View alexdiliberto's full-sized avatar

Alex DiLiberto alexdiliberto

View GitHub Profile
import Ember from 'ember';
import Component from '@ember/component';
export default Component.extend({
numberOfSaves: 0,
message: '',
helloMessage: Ember.computed('username', function() {
return `Hello, ${this.get('username')}. Welcome!`;
}),
import { Promise, defer, resolve } from 'rsvp';
export default class AppAdapter {
constructor(options) {
Object.assign(this, options);
}
static create(options) {
return new this(options);
}
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
@alexdiliberto
alexdiliberto / ember-data-type-pluralization-and-relationships.md
Last active April 25, 2019 17:20
Ember Data, Type Pluralization, and Relationships

A huge "Thank You" to @runspired for all the help in the #ember-data Ember Community Discord!

// models/foo-bar.js
export default class FooBar extends Model {}

JSON API "type" === "modelName" === "foo-bar".

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style id="jsbin-css">
html {
background: #f4f4f4;
text-align: center;
// tests/helpers/push-mirage-db-into-store.js
import { registerAsyncHelper } from '@ember/test';
import { run } from '@ember/runloop';
let pushMirageDbIntoStore = function(server, store) {
let tables = Object.keys(server.schema);
tables.forEach(table => {
if (server.schema[table].all) {
let all = server.schema[table].all();
@alexdiliberto
alexdiliberto / deliver-fast-ember-app-tips.txt
Last active November 29, 2018 04:25
Deliver Ember Apps Faster
// Resource Hints:
// Inline in index.html
<link rel="preload" href="/assets/vendor.js" as="script">
// Or, in the HTTP header (even better)
// https://www.w3.org/wiki/LinkHeader
Link: </assets/vendor.js>; rel=preload; as=script
Link: </assets/neon-tetra.js>; rel=preload; as=script
// Preconnect
@alexdiliberto
alexdiliberto / components.blank-template.js
Created November 28, 2018 23:15 — forked from sbatson5/components.blank-template.js
Multiple yield blocks in a component template
import Ember from 'ember';
export default Ember.Component.extend({
tagName: ''
});
@alexdiliberto
alexdiliberto / components.my-component.js
Created October 29, 2018 20:55
Native Class syntax + ember-test-selectors
import Ember from 'ember';
// export default Ember.Component.extend({
// 'data-test-my-component': true
// });
export default class MyComponent extends Ember.Component {
'data-test-my-component' = true;
}
@alexdiliberto
alexdiliberto / lib-style-group.js
Created October 22, 2018 17:54 — forked from samselikoff/lib-style-group.js
Sample Styled component using EmberMap's Styled mixin.
export default class StyleGroup {
constructor(styles) {
this.styles = styles;
this.name = ''; // must set at runtime
}
}