Skip to content
Snippets Groups Projects
Select Git revision
  • b78c3d1b1636fede6d6917c7aa751c133a465abb
  • master default protected
  • dev-lkugler
  • teaching-2024
  • old_config_2023-05 protected
  • v2025.2
  • v2024.6
  • v2024.2.20
8 results

free_forecast.py

Blame
  • Raw.vue 1.59 KiB
    <template>
      <div>
        <editor
          v-model="content"
          :class="{ 'theme-dark': is_dark }"
          :value="value || content"
          lang="sql"
          theme="xcode"
          width="600"
          :height="height"
          @init="editorInit" />
      </div>
    </template>
    
    <script>
    export default {
      components: {
        editor: require('vue2-ace-editor')
      },
      props: {
        value: {
          type: String,
          default: () => ''
        },
        disabled: {
          type: Boolean,
          default: () => false
        }
      },
      data () {
        return {
          content: this.value
        }
      },
      computed: {
        height () {
          return 150
          // if (!this.disabled) { return 150 }
          // const numLines = this.value.split('\n').length
          // return numLines * 25
        },
        is_dark () {
          return this.$vuetify.theme.dark
        }
      },
      watch: {
        content (v) {
          this.$emit('input', v)
        },
        value (v) {
          this.content = v
        }
      },
      mounted () {
      },
      methods: {
        editorInit (editor) {
          editor.setOptions({
            fontSize: '12pt',
            readOnly: this.disabled,
            behavioursEnabled: !this.disabled
          })
          require('brace/ext/language_tools') // language extension prerequsite...
          require('brace/mode/html')
          require('brace/mode/sql') // language
          require('brace/mode/less')
          require('brace/theme/xcode')
          require('brace/snippets/sql') // snippet
          editor.renderer.setOptions({
            selectionStyle: 'text',
            showGutter: false
          })
          this.$emit('input', this.content)
        }
      }
    }
    </script>
    
    <style scoped>
    .theme-dark {
      background: none;
      color: white;
    }
    </style>