Skip to content
Snippets Groups Projects
CoursebookDay.vue 1.38 KiB
Newer Older
permcu's avatar
permcu committed
<template>
Jonathan Weth's avatar
Jonathan Weth committed
  <v-list-item :style="{ scrollMarginTop: '145px' }" two-line>
permcu's avatar
permcu committed
    <v-list-item-content>
      <v-subheader class="text-h6">{{
        $d(date, "dateWithWeekday")
      }}</v-subheader>
      <v-list max-width="100%" class="pt-0 mt-n1">
        <v-list-item
          v-for="doc in docs"
          :key="'documentation-' + (doc.oldId || doc.id)"
        >
          <documentation-modal
            :documentation="doc"
            :affected-query="lastQuery"
          />
        </v-list-item>
      </v-list>
    </v-list-item-content>
  </v-list-item>
</template>

<script>
import DocumentationModal from "./documentation/DocumentationModal.vue";
export default {
  name: "CoursebookDay",
  components: {
    DocumentationModal,
  },
  props: {
    date: {
      type: Object,
      required: true,
    },
    docs: {
      type: Array,
      required: true,
    },
    lastQuery: {
      type: Object,
      required: true,
    },
    focusOnMount: {
      type: Boolean,
      required: false,
      default: false,
    },
  },
Jonathan Weth's avatar
Jonathan Weth committed
  emits: ["init"],
permcu's avatar
permcu committed
  methods: {
    focus(how) {
      this.$el.scrollIntoView({
        behavior: how,
        block: "start",
Jonathan Weth's avatar
Jonathan Weth committed
        inline: "nearest",
permcu's avatar
permcu committed
      });
Jonathan Weth's avatar
Jonathan Weth committed
      console.log("focused @", this.date.toISODate());
permcu's avatar
permcu committed
    },
  },
  mounted() {
    if (this.focusOnMount) {
      this.$nextTick(this.focus("instant"));
Jonathan Weth's avatar
Jonathan Weth committed
      this.$emit("init");
permcu's avatar
permcu committed
    }
  },
};
</script>