Skip to content

Instantly share code, notes, and snippets.

@Emerson
Last active June 14, 2019 14:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Emerson/ca45a9ff60f8c08c3399bc7223246159 to your computer and use it in GitHub Desktop.
Save Emerson/ca45a9ff60f8c08c3399bc7223246159 to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
export default Ember.Component.extend({
init() {
this._super();
},
filteredSignatories: Ember.computed('signatories.[]', function() {
return this.get('signatories').map((signatory) => {
var signatory = Ember.ObjectProxy.create({content: signatory});
signatory.set('isOpen', true);
return signatory;
});
}),
actions: {
toggleDetail() {
this.get('filteredSignatories').setEach('isOpen', false);
},
toggleIsOpen(signatory) {
console.log(signatory);
}
}
});
import Ember from 'ember';
export default Ember.Component.extend({
isOpen: Ember.computed.oneWay('signatory.isOpen'),
actions: {
toggleDetail(signatory) {
console.log(this)
var signatory = this.get('signatory');
this.get('toggleIsOpen')(signatory);
}
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
signatories: [
Ember.Object.create({name: 'John', dob: 1993}),
Ember.Object.create({name: 'Susan', dob: 1977}),
Ember.Object.create({name: 'Frank', dob: 1958})
]
});
<h1>Signatory List</h1>
{{#signatory-select-list signatories=signatories as |list|}}
{{#each list.signatories as |signatory|}}
{{list.row signatory=signatory}}
{{/each}}
{{/signatory-select-list}}
<h2>Signatory List</h2>
<ul>
<li><button {{action 'toggleDetail' on='click'}}>Toggle All Detail</button></li>
</ul>
{{yield (hash
row=(component 'signatory-select-row')
signatories=filteredSignatories
toggleIsOpen=(action 'toggleIsOpen')
)}}
<div class="row">
{{signatory.name}} [<a href="#" {{action 'toggleIsOpen' signatory}}>...</a>]
{{#if isOpen}}
- born {{signatory.dob}}
{{/if}}
</div><!-- .row -->
{
"version": "0.15.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.4.3",
"ember-template-compiler": "3.4.3",
"ember-testing": "3.4.3"
},
"addons": {
"ember-data": "3.4.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment