Create AccordionList macro and vue component to collapse multiple accordion components
This commit is contained in:
parent
e32bad0d30
commit
e79b1d1524
@ -11,4 +11,10 @@ export default {
|
|||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
collapse: function() {
|
||||||
|
this.isVisible = false
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
16
js/components/accordion_list.js
Normal file
16
js/components/accordion_list.js
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import Accordion from './accordion'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'accordion-list',
|
||||||
|
|
||||||
|
components: {
|
||||||
|
Accordion
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
handleClick: function(e) {
|
||||||
|
e.preventDefault()
|
||||||
|
this.$children.forEach(el => el.collapse())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -47,4 +47,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&-list {
|
||||||
|
max-width: $max-panel-width;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
11
templates/components/accordion_list.html
Normal file
11
templates/components/accordion_list.html
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{% macro AccordionList() %}
|
||||||
|
<accordion-list inline-template>
|
||||||
|
<div class="accordion-list">
|
||||||
|
<div class="action-group">
|
||||||
|
<a v-on:click="handleClick($event)">Collapse All</a>
|
||||||
|
</div>
|
||||||
|
<!-- caller iterates over accordion vue components or Accordion jinja macros -->
|
||||||
|
{{ caller() }}
|
||||||
|
</div>
|
||||||
|
</accordion-list>
|
||||||
|
{% endmacro %}
|
@ -1,4 +1,5 @@
|
|||||||
{% from "components/accordion.html" import Accordion %}
|
{% from "components/accordion.html" import Accordion %}
|
||||||
|
{% from "components/accordion_list.html" import AccordionList %}
|
||||||
{% from "components/empty_state.html" import EmptyState %}
|
{% from "components/empty_state.html" import EmptyState %}
|
||||||
{% from "components/icon.html" import Icon %}
|
{% from "components/icon.html" import Icon %}
|
||||||
{% from "components/sticky_cta.html" import StickyCTA %}
|
{% from "components/sticky_cta.html" import StickyCTA %}
|
||||||
@ -62,9 +63,11 @@
|
|||||||
<div class="portfolio-funding">
|
<div class="portfolio-funding">
|
||||||
|
|
||||||
{% if task_orders %}
|
{% if task_orders %}
|
||||||
{% for status, to_list in task_orders.items() %}
|
{% call AccordionList() %}
|
||||||
{{ TaskOrderList(to_list, status.value) }}
|
{% for status, to_list in task_orders.items() %}
|
||||||
{% endfor %}
|
{{ TaskOrderList(to_list, status.value) }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endcall %}
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ EmptyState(
|
{{ EmptyState(
|
||||||
header="task_orders.empty_state.header"|translate,
|
header="task_orders.empty_state.header"|translate,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user