Commit 779decc9 authored by 向偲彪's avatar 向偲彪 Committed by qiaozhanwei
Browse files

Increase script text box to zoom in and fix log loading #1547 、#1247 (#1604)

* Increase script text box to zoom in and fix log loading

* Timing operation adds default value for start and end dates
parent 87738af2
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -257,8 +257,8 @@
      _rtParam () {
        return {
          taskInstId: this.stateId || this.logId,
          skipLineNum: parseInt(`${this.loadingIndex ? this.loadingIndex + '0000' : 0}`),
          limit: parseInt(`${this.loadingIndex ? this.loadingIndex + 1 : 1}0000`)
          skipLineNum: parseInt(`${this.loadingIndex ? this.loadingIndex + '000' : 0}`),
          limit: parseInt(`${this.loadingIndex ? this.loadingIndex + 1 : 1}000`)
        }
      }
    },
@@ -316,7 +316,7 @@
          }
          .refresh-log {
            >i {
              font-size: 24px;
              font-size: 20px;
              vertical-align: middle;
              transform: scale(1);
            }
@@ -353,7 +353,7 @@
            font-weight: bold;
            resize:none;
            line-height: 1.6;
            padding: 6px;
            padding: 0px;
          }
        }
      }
+124 −0
Original line number Diff line number Diff line
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
<template>
  <div class="script-model">
    <m-list-box>
      <div slot="content">
        <div class="from-mirror1">
          <textarea
            id="code-shell-mirror1"
            name="code-shell-mirror1"
            style="opacity: 0">
          </textarea>
        </div>
      </div>
    </m-list-box>
    <a class="ans-modal-box-close">
      <i class="ans-icon-min" @click="closeModal"></i>
    </a>
  </div>
</template>
<script>
  import _ from 'lodash'
  import i18n from '@/module/i18n'
  import mListBox from './listBox'
  import disabledState from '@/module/mixin/disabledState'
  import codemirror from '@/conf/home/pages/resource/pages/file/pages/_source/codemirror'

  let editor

  export default {
    name: 'shell',
    data () {
      return {
        // script
        rawScript: '',
      }
    },
    mixins: [disabledState],
    props: {
      item: String
    },
    methods: {
      /**
       * Processing code highlighting
       */
      _handlerEditor () {
        // editor
        let self =this
        editor = codemirror('code-shell-mirror1', {
          mode: 'shell',
          readOnly: this.isDetails
        })
        editor.on("change",function(){
          self.$emit('getSriptBoxValue',editor.getValue())
        })

        this.keypress = () => {
          if (!editor.getOption('readOnly')) {
            editor.showHint({
              completeSingle: false
            })
          }
        }

        // Monitor keyboard
        editor.on('keypress', this.keypress)

        editor.setValue(this.rawScript)

        return editor
      },
      closeModal() {
        let self = this
        self.$emit('closeAble')
      }
    },
    watch: {},
    created () {
      let o = this.item

      // Non-null objects represent backfill
      if (!_.isEmpty(o)) {
        this.rawScript = o
      }
    },
    mounted () {
      setTimeout(() => {
        this._handlerEditor()
      }, 200)
    },
    destroyed () {
      if (editor) {
        editor.toTextArea() // Uninstall
        editor.off($('.code-shell-mirror1'), 'keypress', this.keypress)
      }
    },
    components: { mListBox }
  }
</script>
<style lang="scss" rel="stylesheet/scss" scope>
  .script-model {
    width:100%;
  }
  .from-mirror1 {
    .CodeMirror {
      min-height: 600px;
      max-height: 700px;
    }
  }
</style>
+58 −6
Original line number Diff line number Diff line
@@ -25,6 +25,9 @@
            name="code-shell-mirror"
            style="opacity: 0">
          </textarea>
          <a class="ans-modal-box-max">
            <i class="ans-icon-max" @click="setEditorVal"></i>
          </a>
        </div>
      </div>
    </m-list-box>
@@ -55,6 +58,7 @@
  import _ from 'lodash'
  import i18n from '@/module/i18n'
  import mListBox from './_source/listBox'
  import mScriptBox from './_source/scriptBox'
  import mResources from './_source/resources'
  import mLocalParams from './_source/localParams'
  import disabledState from '@/module/mixin/disabledState'
@@ -85,8 +89,37 @@
      _onLocalParams (a) {
        this.localParams = a
      },
      setEditorVal() {
        let self = this
          let modal = self.$modal.dialog({
            className: 'scriptModal',
            closable: false,
            showMask: true,
            maskClosable: true,
            onClose: function() {

            },
            render (h) {
              return h(mScriptBox, {
                on: {
                  getSriptBoxValue (val) {
                    editor.setValue(val)
                  },
                  closeAble () {
                    // this.$modal.destroy()
                    modal.remove()
                  }
                },
                props: {
                  item: editor.getValue()
                }
              })
            }
          })
      },
      /**
       * return resourceList
       * 
       */
      _onResourcesData (a) {
        this.resourceList = a
@@ -109,7 +142,6 @@
        if (!this.$refs.refLocalParams._verifProp()) {
          return false
        }

        // storage
        this.$emit('on-params', {
          resourceList: this.resourceList,
@@ -138,7 +170,6 @@

        // Monitor keyboard
        editor.on('keypress', this.keypress)

        editor.setValue(this.rawScript)

        return editor
@@ -176,6 +207,27 @@
        editor.off($('.code-shell-mirror'), 'keypress', this.keypress)
      }
    },
    components: { mLocalParams, mListBox, mResources }
    components: { mLocalParams, mListBox, mResources, mScriptBox }
  }
</script>
<style lang="scss" rel="stylesheet/scss" scope>
  .scriptModal {
    .ans-modal-box-content-wrapper {
      width: 90%;
      .ans-modal-box-close {
        right: -12px;
        top: -16px;
        color: #fff;
      }
    }
  }
  .ans-modal-box-close {
    z-index: 100;
  }
  .ans-modal-box-max {
    position: absolute;
    right: -12px;
    top: -16px;
  }
  
</style>
+16 −0
Original line number Diff line number Diff line
@@ -313,7 +313,23 @@
        this.crontab = this.item.crontab
      }
      if(this.type == 'timing') {
        let date = new Date()
        let year = date.getFullYear()
        let month = date.getMonth() + 1
        let day = date.getDate()
        if (month < 10) {
            month = "0" + month;
        }
        if (day < 10) {
            day = "0" + day;
        }
        let startDate = year + "-" + month + "-" + day + ' ' + '00:00:00'
        let endDate = (year+100) + "-" + month + "-" + day + ' ' + '00:00:00'
        let times = []
        times[0] = startDate
        times[1] = endDate
        this.crontab = '0 0 * * * ? *'
        this.scheduleTime = times
      }
      this.receivers = _.cloneDeep(this.receiversD)
      this.receiversCc = _.cloneDeep(this.receiversCcD)