mirror of
https://github.com/kemko/nomad.git
synced 2026-01-06 02:15:43 +03:00
Add an option to start expanded and an onToggle action to list-accordion
This commit is contained in:
@@ -7,16 +7,20 @@ export default Component.extend({
|
||||
key: 'id',
|
||||
source: computed(() => []),
|
||||
|
||||
onToggle(/* item, isOpen */) {},
|
||||
startExpanded: false,
|
||||
|
||||
decoratedSource: computed('source.[]', function() {
|
||||
const stateCache = this.get('stateCache');
|
||||
const key = this.get('key');
|
||||
const deepKey = `item.${key}`;
|
||||
const startExpanded = this.get('startExpanded');
|
||||
|
||||
const decoratedSource = this.get('source').map(item => {
|
||||
const cacheItem = stateCache.findBy(deepKey, get(item, key));
|
||||
return {
|
||||
item,
|
||||
isOpen: cacheItem ? !!cacheItem.isOpen : false,
|
||||
isOpen: cacheItem ? !!cacheItem.isOpen : startExpanded,
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
@@ -2,9 +2,17 @@
|
||||
{{yield (hash
|
||||
head=(component "list-accordion/accordion-head"
|
||||
isOpen=item.isOpen
|
||||
onOpen=(action (mut item.isOpen) true)
|
||||
onClose=(action (mut item.isOpen) false))
|
||||
onOpen=(action (queue
|
||||
(action (mut item.isOpen) true)
|
||||
(action onToggle item.item item.isOpen)
|
||||
))
|
||||
onClose=(action (queue
|
||||
(action (mut item.isOpen) false)
|
||||
(action onToggle item.item item.isOpen)
|
||||
))
|
||||
)
|
||||
body=(component "list-accordion/accordion-body" isOpen=item.isOpen)
|
||||
item=item.item
|
||||
isOpen=item.isOpen
|
||||
)}}
|
||||
{{/each}}
|
||||
|
||||
Reference in New Issue
Block a user