Skip to content

Instantly share code, notes, and snippets.

View lvegerano's full-sized avatar

Luis Vegerano lvegerano

View GitHub Profile
import Controller from '@ember/controller';
export default class ApplicationController extends Controller {
appName = 'Ember Twiddle';
}
@lvegerano
lvegerano / components.filter-bar\.js
Last active May 8, 2020 20:47
dynamic-filter-broken
import Component from '@glimmer/component';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
export default class extends Component {
@tracked showDD = false;
@tracked selectedFilters = [];
get unselectedFilters() {
return this.args.options.filter(f => !this.selectedFilters.includes(f));
@lvegerano
lvegerano / components.filter-bar\.js
Last active May 7, 2020 20:08
tracked-class-second-layer-works
import Component from '@glimmer/component';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
export default class extends Component {
@tracked showColors = false;
@tracked showTags = false;
@action
@lvegerano
lvegerano / components.filter-bar\.js
Last active May 7, 2020 14:57
filter-toggle-layers-working
import Component from '@glimmer/component';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
export default class extends Component {
@tracked showColors = false;
@tracked showTags = false;
@action
@lvegerano
lvegerano / controllers.application\.js
Last active May 7, 2020 14:49
tracked-non-ember-class-contrived
import Controller from '@ember/controller';
import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';
import { setOwner, getOwner } from '@ember/application';
import { action } from '@ember/object';
class Option {
@service colors;
@service tags;
@lvegerano
lvegerano / components.data-loader\.js
Last active May 7, 2020 14:48
class-tracked-array
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
export default class DataLoaderComponent extends Component {
@tracked filteredData = [];
data = [
{ tag_id: 1, title: 'Awesome 1', color_id: 4, artist: 'luis' },
{ tag_id: 2, title: 'Awesome 2', color_id: 3, artist: 'jaden' },
import Controller from '@ember/controller';
import { tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
export default class ApplicationController extends Controller {
appName = 'Ember Twiddle';
@tracked list = [
{
@lvegerano
lvegerano / clone.hbs
Created March 11, 2020 18:15
Ember SortableJS examples
<SortableJs
class="list-group"
@items={{array "one-a" "two-a" "three-a" "four-a" "five-a"}}
@options={{hash
animation=150
ghostClass="ghost-class"
group=(hash name="shared" pull="clone")
}}
@onClone={{fn this.onClone}}
as |list|
@lvegerano
lvegerano / clone.hbs
Created March 11, 2020 18:15
Ember SortableJS examples
<SortableJs
class="list-group"
@items={{array "one-a" "two-a" "three-a" "four-a" "five-a"}}
@options={{hash
animation=150
ghostClass="ghost-class"
group=(hash name="shared" pull="clone")
}}
@onClone={{fn this.onClone}}
as |list|
<SortableJs
class="list-group"
@items={{array "one" "two" "three" "four" "five"}}
@options={{hash animation=150 ghostClass="ghost-class" group="shared"}}
@onRemove={{this.onRemove}}
@onEnd={{this.onEnd}}
as |list|
>
{{log 'running a' list}}
{{#each list as |item index| }}