Skip to content

Instantly share code, notes, and snippets.

import Controller from '@ember/controller';
export default class ApplicationController extends Controller {
appName = 'Ember Twiddle';
}
@amk221
amk221 / components.bar\.js
Last active July 5, 2023 18:49
Composition
import Component from '@glimmer/component';
export default class extends Component {
lastName = 'Smith'
}
@amk221
amk221 / components.bar\.js
Last active July 5, 2023 18:49
Inheritance
import Component from '@glimmer/component';
export default class extends Component {
lastName = 'Smith'
}
import Controller from '@ember/controller';
import userUtils from '../user/utils';
export default class ApplicationController extends Controller {
get users() {
return userUtils.sort(this.model)
}
}
@amk221
amk221 / components.my-component\.js
Last active June 30, 2023 18:27
didUpdateAttrs replacement
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
export default class extends Component {
@tracked value;
constructor() {
super(...arguments);
this.value = this.args.value;
@amk221
amk221 / components.my-component\.js
Last active June 30, 2023 09:38
assert.expect & testing async code
import Component from '@glimmer/component';
export default class extends Component {
}
@amk221
amk221 / adapters.foo\.js
Last active June 22, 2023 10:50
deleted/destroyed
import RESTAdapter from 'ember-data/adapters/rest';
import { resolve } from 'rsvp';
export default class FooAdapter extends RESTAdapter {
findRecord() {
console.log('finding record')
return resolve({
foo: {
id: 1,
@amk221
amk221 / adapters.my-model\.js
Last active June 1, 2023 16:35
prototype pollution
import RESTAdapter from 'ember-data/adapters/rest';
export default class extends RESTAdapter {
ajax(path, method, options) {
return {
myModels: [{
id: 1,
name: 'Model 1'
}]
};
@amk221
amk221 / components.my-component\.js
Last active March 13, 2023 11:33
mouseleave test helper
import Component from '@glimmer/component';
import { tracked} from '@glimmer/tracking';
import { action } from '@ember/object';
export default class MyComponentComponent extends Component {
@tracked mouseLeave = false;
@tracked mouseLeaveChild = false;
@action
handleLeave() {
@amk221
amk221 / models.foo\.js
Last active December 9, 2022 20:41
ED meta
import Model from 'ember-data/model';
import attr from 'ember-data/attr';
export default class FooModel extends Model {
@attr('string') name;
}