<template>
  <div class="app-container">
    <p class="warn-content">
      Yaml编辑器 基于
      <a href="https://github.com/codemirror/CodeMirror" target="_blank">CodeMirror</a>，
      主题预览地址 <a href="https://codemirror.net/demo/theme.html#idea" target="_blank">Theme</a>
    </p>
    <Yaml :value="value" :height="height" />
  </div>
</template>

<script>
import Yaml from '@/components/YamlEdit/index'
export default {
  name: 'YamlEdit',
  components: { Yaml },
  data() {
    return {
      height: document.documentElement.clientHeight - 210 + 'px',
      value: '# 展示数据，如需更换主题，请在src/components/YamlEdit 目录中搜索原主题名称进行替换\n' +
        '\n' +
        '# ===================================================================\n' +
        '# Spring Boot configuration.\n' +
        '#\n' +
        '# This configuration will be overridden by the Spring profile you use,\n' +
        '# for example application-dev.yml if you use the "dev" profile.\n' +
        '#\n' +
        '# More information on profiles: https://www.jhipster.tech/profiles/\n' +
        '# More information on configuration properties: https://www.jhipster.tech/common-application-properties/\n' +
        '# ===================================================================\n' +
        '\n' +
        '# ===================================================================\n' +
        '# Standard Spring Boot properties.\n' +
        '# Full reference is available at:\n' +
        '# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html\n' +
        '# ===================================================================\n' +
        '\n' +
        'eureka:\n' +
        '    client:\n' +
        '        enabled: true\n' +
        '        healthcheck:\n' +
        '            enabled: true\n' +
        '        fetch-registry: true\n' +
        '        register-with-eureka: true\n' +
        '        instance-info-replication-interval-seconds: 10\n' +
        '        registry-fetch-interval-seconds: 10\n' +
        '    instance:\n' +
        '        appname: product\n' +
        '        instanceId: product:${spring.application.instance-id:${random.value}}\n' +
        '        #instanceId: 127.0.0.1:9080\n' +
        '        lease-renewal-interval-in-seconds: 5\n' +
        '        lease-expiration-duration-in-seconds: 10\n' +
        '        status-page-url-path: ${management.endpoints.web.base-path}/info\n' +
        '        health-check-url-path: ${management.endpoints.web.base-path}/health\n' +
        '        metadata-map:\n' +
        '            zone: primary # This is needed for the load balancer\n' +
        '            profile: ${spring.profiles.active}\n' +
        '            version: ${info.project.version:}\n' +
        '            git-version: ${git.commit.id.describe:}\n' +
        '            git-commit: ${git.commit.id.abbrev:}\n' +
        '            git-branch: ${git.branch:}\n' +
        'ribbon:\n' +
        '    ReadTimeout: 120000\n' +
        '    ConnectTimeout: 300000\n' +
        '    eureka:\n' +
        '        enabled: true\n' +
        'zuul:\n' +
        '  host:\n' +
        '    connect-timeout-millis: 5000\n' +
        '    max-per-route-connections: 10000\n' +
        '    max-total-connections: 5000\n' +
        '    socket-timeout-millis: 60000\n' +
        '  semaphore:\n' +
        '    max-semaphores: 500\n' +
        '\n' +
        'feign:\n' +
        '    hystrix:\n' +
        '        enabled: true\n' +
        '    client:\n' +
        '        config:\n' +
        '            default:\n' +
        '                connectTimeout: 500000\n' +
        '                readTimeout: 500000\n' +
        '\n' +
        '# See https://github.com/Netflix/Hystrix/wiki/Configuration\n' +
        'hystrix:\n' +
        '    command:\n' +
        '        default:\n' +
        '            circuitBreaker:\n' +
        '                sleepWindowInMilliseconds: 100000\n' +
        '                forceClosed: true\n' +
        '            execution:\n' +
        '                isolation:\n' +
        '#                    strategy: SEMAPHORE\n' +
        '# See https://github.com/spring-cloud/spring-cloud-netflix/issues/1330\n' +
        '                    thread:\n' +
        '                        timeoutInMilliseconds: 60000\n' +
        '    shareSecurityContext: true\n' +
        '\n' +
        'management:\n' +
        '    endpoints:\n' +
        '        web:\n' +
        '            base-path: /management\n' +
        '            exposure:\n' +
        '                include: ["configprops", "env", "health", "info", "threaddump"]\n' +
        '    endpoint:\n' +
        '        health:\n' +
        '            show-details: when_authorized\n' +
        '    info:\n' +
        '        git:\n' +
        '            mode: full\n' +
        '    health:\n' +
        '        mail:\n' +
        '            enabled: false # When using the MailService, configure an SMTP server and set this to true\n' +
        '    metrics:\n' +
        '        enabled: false # http://micrometer.io/ is disabled by default, as we use http://metrics.dropwizard.io/ instead\n' +
        '\n' +
        'spring:\n' +
        '    application:\n' +
        '        name: product\n' +
        '    jpa:\n' +
        '        open-in-view: false\n' +
        '        hibernate:\n' +
        '            ddl-auto: update\n' +
        '            naming:\n' +
        '                physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy\n' +
        '                implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy\n' +
        '    messages:\n' +
        '        basename: i18n/messages\n' +
        '    mvc:\n' +
        '        favicon:\n' +
        '            enabled: false\n' +
        '    thymeleaf:\n' +
        '        mode: HTML\n' +
        'security:\n' +
        '    oauth2:\n' +
        '        resource:\n' +
        '            filter-order: 3\n' +
        '\n' +
        'server:\n' +
        '    servlet:\n' +
        '        session:\n' +
        '            cookie:\n' +
        '                http-only: true\n' +
        '\n' +
        '# Properties to be exposed on the /info management endpoint\n' +
        'info:\n' +
        '    # Comma separated list of profiles that will trigger the ribbon to show\n' +
        '    display-ribbon-on-profiles: "dev"\n' +
        '\n' +
        '# ===================================================================\n' +
        '# JHipster specific properties\n' +
        '#\n' +
        '# Full reference is available at: https://www.jhipster.tech/common-application-properties/\n' +
        '# ===================================================================\n' +
        '\n' +
        'jhipster:\n' +
        '    async:\n' +
        '        core-pool-size: 2\n' +
        '        max-pool-size: 50\n' +
        '        queue-capacity: 10000\n' +
        '    # By default CORS is disabled. Uncomment to enable.\n' +
        '    #cors:\n' +
        '        #allowed-origins: "*"\n' +
        '        #allowed-methods: "*"\n' +
        '        #allowed-headers: "*"\n' +
        '        #exposed-headers: "Authorization,Link,X-Total-Count"\n' +
        '        #allow-credentials: true\n' +
        '        #max-age: 1800\n' +
        '    mail:\n' +
        '        from: product@localhost\n' +
        '    swagger:\n' +
        '        default-include-pattern: /api/.*\n' +
        '        title: product API\n' +
        '        description: product API documentation\n' +
        '        version: 0.0.1\n' +
        '        terms-of-service-url:\n' +
        '        contact-name:\n' +
        '        contact-url:\n' +
        '        contact-email:\n' +
        '        license:\n' +
        '        license-url:\n' +
        '\n' +
        '# ===================================================================\n' +
        '# Application specific properties\n' +
        '# Add your own application properties here, see the ApplicationProperties class\n' +
        '# to have type-safe configuration, like in the JHipsterProperties above\n' +
        '#\n' +
        '# More documentation is available at:\n' +
        '# https://www.jhipster.tech/common-application-properties/\n' +
        '# ===================================================================\n' +
        '\n' +
        '# application:\n'
    }
  },
  mounted() {
    const that = this
    window.onresize = function temp() {
      that.height = document.documentElement.clientHeight - 210 + 'px'
    }
  }
}
</script>

<style scoped>

</style>
