Skip to content
Snippets Groups Projects
selectParticipationMixin.js 692 B
/**
 * Mixin to provide passing through functionality for the events emitted when (de)selecting participations on the absence overview page
 */
export default {
  emits: ["select", "deselect"],
  methods: {
    handleSelect(participation) {
      this.$emit("select", participation);
    },
    handleDeselect(participation) {
      this.$emit("deselect", participation);
    },
  },

  computed: {
    /**
     * All necessary listeners bundled together to easily pass to child components
     * @returns {{select: Function, deselect: Function}}
     */
    selectListeners() {
      return {
        select: this.handleSelect,
        deselect: this.handleDeselect,
      };
    },
  },
};