loomio/loomio

View on GitHub
vue/src/components/group/subgroups_select.vue

Summary

Maintainability
Test Coverage
<script lang="js">
export default
{
  props: {
    group: Object
  },
  computed: {
    parentName() { return this.group.parentOrSelf().name; },

    parentLinks() {
      return [{
        name: this.group.parentOrSelf().name,
        path: this.urlFor(this.group.parentOrSelf(), this.action)
      }
      , {
        name: 'discussions_panel.include_subgroups_mine',
        path: this.urlFor(this.group.parentOrSelf(), this.action, {subgroups: 'mine'})
      }
      , {
        name: 'discussions_panel.include_subgroups_all',
        path: this.urlFor(this.group.parentOrSelf(), this.action, {subgroups: 'all'})
      }
      ];
    },
    subgroupLinks() {
      return this.group.parentOrSelf().subgroups().map(subgroup => {
        return {name: subgroup.name, path: this.urlFor(subgroup)};
      });
    }
  }
};
</script>

<template lang="pug">
v-menu
  template(v-slot:activator="{on, attrs}")
    v-btn(icon v-on="on" v-bind="attrs")
      common-icon(name="mdi-menu-down")
  v-list
    v-list-item(v-for="link in parentLinks" :to="link.path" v-t="{path: link.name, args: {name: parentName}}")
    v-divider
    v-subheader(v-t="'group_page.subgroups'")
    v-list-item(v-for="link in subgroupLinks" :to="link.path" v-t="link.name")

</template>