Skip to content

Instantly share code, notes, and snippets.

@amk221
amk221 / components.my-component\.js
Last active September 19, 2023 08:16
checked state
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
export default class extends Component {
@tracked checked;
@action
uncheck() {
this.checked = false;
import Controller from '@ember/controller';
export default class ApplicationController extends Controller {
appName = 'Ember Twiddle';
}
import Controller from '@ember/controller';
import { tracked } from '@glimmer/tracking';
export default class ApplicationController extends Controller {
@tracked fooObj;
@tracked fooArr;
}
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,