<template>
    <div>
      <td class="line-number-cell">
        <v-btn
          block
          class="line-number-btn"
          @click="toggleEditor"
        >
          {{ lineNo }}
        </v-btn>
      </td>
      <td class="code-cell-content pl-2">
        <pre class="prettyprint" :class="codeLanguage">{{ code }}</pre>
        <slot/>
      </td>
    </div>
</template>

<script>
  export default {
    name: 'submission-line',
    props: {
      lineNo: {
        type: String,
        required: true
      },
      code: {
        type: String,
        required: true
      },
      codeLanguage: {
        type: String,
        default: 'lang-c'
      }
    },
    methods: {
      toggleEditor () {
        this.$emit('toggleEditor')
      }
    }
  }
</script>

<style scoped>
  .line-number-cell {
    vertical-align: top;
  }

  pre.prettyprint {
    padding: 0;
    border: 0;
    white-space: pre-wrap;
  }

  .code-cell-content {
    width: 100%;
  }

  code {
    width: 100%;
    box-shadow: None;
  }


  .line-number-btn {
    height: fit-content;
    min-width: 50px;
    margin: 0;
  }
</style>