diff --git a/.github/workflows/ci_frontend.yml b/.github/workflows/ci_frontend.yml index 494d12dbae..b8e11252c8 100644 --- a/.github/workflows/ci_frontend.yml +++ b/.github/workflows/ci_frontend.yml @@ -50,6 +50,7 @@ jobs: cd dolphinscheduler-ui npm install node-sass --unsafe-perm npm install + npm run lint npm run build License-check: diff --git a/.github/workflows/ci_ut.yml b/.github/workflows/ci_ut.yml index 1c2952b440..6d0b2a2a1d 100644 --- a/.github/workflows/ci_ut.yml +++ b/.github/workflows/ci_ut.yml @@ -75,6 +75,7 @@ jobs: -Dsonar.core.codeCoveragePlugin=jacoco -Dsonar.projectKey=apache-dolphinscheduler -Dsonar.login=e4058004bc6be89decf558ac819aa1ecbee57682 + -Dsonar.exclusions=dolphinscheduler-ui/src/**/i18n/locale/*.js env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} @@ -83,4 +84,4 @@ jobs: mkdir -p ${LOG_DIR} cd ${DOCKER_DIR} docker-compose logs db > ${LOG_DIR}/db.txt - continue-on-error: true \ No newline at end of file + continue-on-error: true diff --git a/dolphinscheduler-ui/.eslintrc b/dolphinscheduler-ui/.eslintrc deleted file mode 100644 index e1d1a03e1c..0000000000 --- a/dolphinscheduler-ui/.eslintrc +++ /dev/null @@ -1,6 +0,0 @@ -globals: - $: true - expect: true -rules: - "no-new": "off" - "no-labels": [2, {"allowLoop": true}] diff --git a/dolphinscheduler-ui/.eslintrc.yml b/dolphinscheduler-ui/.eslintrc.yml new file mode 100644 index 0000000000..8d4020f7c4 --- /dev/null +++ b/dolphinscheduler-ui/.eslintrc.yml @@ -0,0 +1,34 @@ +# +# 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. +# + +env: + browser: true + es6: true + jquery: true +extends: + - 'plugin:vue/essential' + - standard +globals: + Atomics: readonly + SharedArrayBuffer: readonly + PUBLIC_PATH: readonly +parserOptions: + ecmaVersion: 2018 + sourceType: module +plugins: + - vue +rules: {} diff --git a/dolphinscheduler-ui/package.json b/dolphinscheduler-ui/package.json index 5dc1cb44db..1f5170637e 100644 --- a/dolphinscheduler-ui/package.json +++ b/dolphinscheduler-ui/package.json @@ -8,6 +8,7 @@ "dev": "cross-env NODE_ENV=development webpack-dev-server --config ./build/webpack.config.dev.js", "clean": "rimraf dist", "start": "npm run dev", + "lint": "eslint ./src --fix", "build:release": "npm run clean && cross-env NODE_ENV=production PUBLIC_PATH=/dolphinscheduler/ui webpack --config ./build/webpack.config.release.js" }, "dependencies": { @@ -50,6 +51,13 @@ "css-loader": "^0.28.8", "cssnano": "4.1.10", "env-parse": "^1.0.5", + "eslint": "^6.8.0", + "eslint-config-standard": "^14.1.1", + "eslint-plugin-import": "^2.20.2", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.2.1", + "eslint-plugin-standard": "^4.0.1", + "eslint-plugin-vue": "^6.2.2", "file-loader": "^5.0.2", "globby": "^8.0.1", "html-loader": "^0.5.5", diff --git a/dolphinscheduler-ui/src/js/conf/home/index.js b/dolphinscheduler-ui/src/js/conf/home/index.js index 1913088eca..3c518d8952 100644 --- a/dolphinscheduler-ui/src/js/conf/home/index.js +++ b/dolphinscheduler-ui/src/js/conf/home/index.js @@ -31,15 +31,15 @@ import Permissions from '@/module/permissions' import 'ans-ui/lib/ans-ui.min.css' import ans from 'ans-ui/lib/ans-ui.min' import en_US from 'ans-ui/lib/locale/en' // eslint-disable-line -import'normalize.css/normalize.css' +import 'normalize.css/normalize.css' import 'sass/conf/home/index.scss' -import'bootstrap/dist/css/bootstrap.min.css' +import 'bootstrap/dist/css/bootstrap.min.css' -import'bootstrap/dist/js/bootstrap.min.js' +import 'bootstrap/dist/js/bootstrap.min.js' import 'canvg/dist/browser/canvg.min.js' // Component internationalization -let useOpt = i18n.globalScope.LOCALE === 'en_US' ? { locale: en_US } : {} +const useOpt = i18n.globalScope.LOCALE === 'en_US' ? { locale: en_US } : {} // Vue.use(ans) Vue.use(ans, useOpt) @@ -74,7 +74,7 @@ Permissions.request().then(res => { methods: { initApp () { $('.global-loading').hide() - let bootstrapTooltip = $.fn.tooltip.noConflict() + const bootstrapTooltip = $.fn.tooltip.noConflict() $.fn.tooltip = bootstrapTooltip $('body').tooltip({ selector: '[data-toggle="tooltip"]', diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/config.js b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/config.js index db8acf3073..56d0168893 100755 --- a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/config.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/config.js @@ -16,7 +16,6 @@ */ import i18n from '@/module/i18n' -import Permissions from '@/module/permissions' /** * Operation bar config @@ -26,7 +25,7 @@ import Permissions from '@/module/permissions' * @desc tooltip */ const toolOper = (dagThis) => { - let disabled =!!dagThis.$store.state.dag.isDetails// Permissions.getAuth() === false ? false : !dagThis.$store.state.dag.isDetails + const disabled = !!dagThis.$store.state.dag.isDetails// Permissions.getAuth() === false ? false : !dagThis.$store.state.dag.isDetails return [ { code: 'pointer', @@ -67,7 +66,7 @@ const toolOper = (dagThis) => { * @desc tooltip * @code Backend definition identifier */ -let publishStatus = [ +const publishStatus = [ { id: 0, desc: `${i18n.$t('Unpublished')}`, @@ -90,7 +89,7 @@ let publishStatus = [ * @desc tooltip * @code identifier */ -let runningType = [ +const runningType = [ { desc: `${i18n.$t('Start Process')}`, code: 'START_PROCESS' @@ -146,85 +145,85 @@ let runningType = [ * @icoUnicode iconfont * @isSpin is loading (Need to execute the code block to write if judgment) */ -let tasksState = { - 'SUBMITTED_SUCCESS': { +const tasksState = { + SUBMITTED_SUCCESS: { id: 0, desc: `${i18n.$t('Submitted successfully')}`, color: '#A9A9A9', icoUnicode: 'ans-icon-dot-circle', isSpin: false }, - 'RUNNING_EXEUTION': { + RUNNING_EXEUTION: { id: 1, desc: `${i18n.$t('Executing')}`, color: '#0097e0', icoUnicode: 'ans-icon-gear', isSpin: true }, - 'READY_PAUSE': { + READY_PAUSE: { id: 2, desc: `${i18n.$t('Ready to pause')}`, color: '#07b1a3', icoUnicode: 'ans-icon-pause-solid', isSpin: false }, - 'PAUSE': { + PAUSE: { id: 3, desc: `${i18n.$t('Pause')}`, color: '#057c72', icoUnicode: 'ans-icon-pause', isSpin: false }, - 'READY_STOP': { + READY_STOP: { id: 4, desc: `${i18n.$t('Ready to stop')}`, color: '#FE0402', icoUnicode: 'ans-icon-coin', isSpin: false }, - 'STOP': { + STOP: { id: 5, desc: `${i18n.$t('Stop')}`, color: '#e90101', icoUnicode: 'ans-icon-stop', isSpin: false }, - 'FAILURE': { + FAILURE: { id: 6, desc: `${i18n.$t('failed')}`, color: '#000000', icoUnicode: 'ans-icon-fail-empty', isSpin: false }, - 'SUCCESS': { + SUCCESS: { id: 7, desc: `${i18n.$t('success')}`, color: '#33cc00', icoUnicode: 'ans-icon-success-empty', isSpin: false }, - 'NEED_FAULT_TOLERANCE': { + NEED_FAULT_TOLERANCE: { id: 8, desc: `${i18n.$t('Need fault tolerance')}`, color: '#FF8C00', icoUnicode: 'ans-icon-pen', isSpin: false }, - 'KILL': { + KILL: { id: 9, desc: `${i18n.$t('kill')}`, color: '#a70202', icoUnicode: 'ans-icon-minus-circle-empty', isSpin: false }, - 'WAITTING_THREAD': { + WAITTING_THREAD: { id: 10, desc: `${i18n.$t('Waiting for thread')}`, color: '#912eed', icoUnicode: 'ans-icon-sand-clock', isSpin: false }, - 'WAITTING_DEPEND': { + WAITTING_DEPEND: { id: 11, desc: `${i18n.$t('Waiting for dependence')}`, color: '#5101be', @@ -239,62 +238,61 @@ let tasksState = { * @desc tooltip * @color color (tree and gantt) */ -let tasksType = { - 'SHELL': { +const tasksType = { + SHELL: { desc: 'SHELL', color: '#646464' }, - 'SUB_PROCESS': { + SUB_PROCESS: { desc: 'SUB_PROCESS', color: '#0097e0' }, - 'PROCEDURE': { + PROCEDURE: { desc: 'PROCEDURE', color: '#525CCD' }, - 'SQL': { + SQL: { desc: 'SQL', color: '#7A98A1' }, - 'SPARK': { + SPARK: { desc: 'SPARK', color: '#E46F13' }, - 'FLINK': { + FLINK: { desc: 'FLINK', color: '#E46F13' }, - 'MR': { + MR: { desc: 'MapReduce', color: '#A0A5CC' }, - 'PYTHON': { + PYTHON: { desc: 'PYTHON', color: '#FED52D' }, - 'DEPENDENT': { + DEPENDENT: { desc: 'DEPENDENT', color: '#2FBFD8' }, - 'HTTP': { + HTTP: { desc: 'HTTP', color: '#E46F13' }, - 'DATAX': { + DATAX: { desc: 'DataX', color: '#1fc747' }, - 'SQOOP': { + SQOOP: { desc: 'SQOOP', color: '#E46F13' }, - 'CONDITIONS': { + CONDITIONS: { desc: 'CONDITIONS', color: '#E46F13' } } - export { toolOper, publishStatus, diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/dag.js b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/dag.js index 240f3246aa..3f47076ce3 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/dag.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/dag.js @@ -24,7 +24,7 @@ import store from '@/conf/home/store' /** * Prototype method */ -let Dag = function () { +const Dag = function () { this.dag = {} this.instance = {} } @@ -49,7 +49,7 @@ Dag.prototype.setConfig = function (o) { * create dag */ Dag.prototype.create = function () { - let self = this + const self = this jsPlumb.ready(() => { JSP.init({ dag: this.dag, @@ -98,36 +98,35 @@ Dag.prototype.toolbarEvent = function ({ item, code, is }) { * Echo data display */ Dag.prototype.backfill = function (arg) { - if(arg) { + if (arg) { let locationsValue = store.state.dag.locations - let locationsValue1 = store.state.dag.locations - let locationsValue2 = store.state.dag.locations - let arr = [] - for (let i in locationsValue1) { - let objs = new Object(); + const locationsValue1 = store.state.dag.locations + const locationsValue2 = store.state.dag.locations + const arr = [] + for (const i in locationsValue1) { + const objs = {} objs.id = i - arr.push(Object.assign(objs,locationsValue1[i])); //Attributes + arr.push(Object.assign(objs, locationsValue1[i])) // Attributes } - let tmp = [] - for(let i in locationsValue2) { - if(locationsValue2[i].targetarr !='' && locationsValue2[i].targetarr.split(',').length>1) { + const tmp = [] + for (const i in locationsValue2) { + if (locationsValue2[i].targetarr !== '' && locationsValue2[i].targetarr.split(',').length > 1) { tmp.push(locationsValue2[i]) } } - function copy (array) { - let newArray = [] - for(let item of array) { - newArray.push(item); + const copy = function (array) { + const newArray = [] + for (const item of array) { + newArray.push(item) } - return newArray; + return newArray } - - let newArr = copy(arr) - function getNewArr() { - for(let i= 0; i1) { + const newArr = copy(arr) + const getNewArr = function () { + for (let i = 0; i < newArr.length; i++) { + if (newArr[i].targetarr !== '' && newArr[i].targetarr.split(',').length > 1) { newArr[i].targetarr = newArr[i].targetarr.split(',').shift() } } @@ -141,154 +140,154 @@ Dag.prototype.backfill = function (arg) { * @param {String} idStr id key name * @param {String} childrenStr children key name */ - function fommat({arrayList, pidStr = 'targetarr', idStr = 'id', childrenStr = 'children'}) { - let listOjb = {}; // Used to store objects of the form {key: obj} - let treeList = []; // An array to store the final tree structure data - // Transform the data into {key: obj} format, which is convenient for the following data processing - for (let i = 0; i < arrayList.length; i++) { - listOjb[arrayList[i][idStr]] = arrayList[i] - } - // Format data based on pid - for (let j = 0; j < arrayList.length; j++) { - // Determine if the parent exists - // let haveParent = arrayList[j].targetarr.split(',').length>1?listOjb[arrayList[j].targetarr.split(',')[0]]:listOjb[arrayList[j][pidStr]] - let haveParent = listOjb[arrayList[j][pidStr]] - if (haveParent) { - // If there is no parent children field, create a children field - !haveParent[childrenStr] && (haveParent[childrenStr] = []) - // Insert child in parent - haveParent[childrenStr].push(arrayList[j]) - } else { - // If there is no parent, insert directly into the outermost layer - treeList.push(arrayList[j]) - } - } - return treeList + const fommat = function ({ arrayList, pidStr = 'targetarr', idStr = 'id', childrenStr = 'children' }) { + const listOjb = {} // Used to store objects of the form {key: obj} + const treeList = [] // An array to store the final tree structure data + // Transform the data into {key: obj} format, which is convenient for the following data processing + for (let i = 0; i < arrayList.length; i++) { + listOjb[arrayList[i][idStr]] = arrayList[i] } - let datas = fommat({arrayList: newArr,pidStr: 'targetarr'}) - // Count the number of leaf nodes - function getLeafCountTree(json) { - if(!json.children) { - json.colspan = 1; - return 1; + // Format data based on pid + for (let j = 0; j < arrayList.length; j++) { + // Determine if the parent exists + // let haveParent = arrayList[j].targetarr.split(',').length>1?listOjb[arrayList[j].targetarr.split(',')[0]]:listOjb[arrayList[j][pidStr]] + const haveParent = listOjb[arrayList[j][pidStr]] + if (haveParent) { + // If there is no parent children field, create a children field + !haveParent[childrenStr] && (haveParent[childrenStr] = []) + // Insert child in parent + haveParent[childrenStr].push(arrayList[j]) } else { - let leafCount = 0; - for(let i = 0 ; i < json.children.length ; i++){ - leafCount = leafCount + getLeafCountTree(json.children[i]); - } - json.colspan = leafCount; - return leafCount; + // If there is no parent, insert directly into the outermost layer + treeList.push(arrayList[j]) } } - // Number of tree node levels - let countTree = getLeafCountTree(datas[0]) - function getMaxFloor(treeData) { - let max = 0 - function each (data, floor) { - data.forEach(e => { - e.floor = floor - e.x=floor*170 - if (floor > max) { - max = floor - } - if (e.children) { - each(e.children, floor + 1) - } - }) - } - each(treeData,1) - return max + return treeList + } + const datas = fommat({ arrayList: newArr, pidStr: 'targetarr' }) + // Count the number of leaf nodes + const getLeafCountTree = function (json) { + if (!json.children) { + json.colspan = 1 + return 1 + } else { + let leafCount = 0 + for (let i = 0; i < json.children.length; i++) { + leafCount = leafCount + getLeafCountTree(json.children[i]) } - getMaxFloor(datas) - // The last child of each node - let lastchildren = []; - forxh(datas); - function forxh(list) { - for (let i = 0; i < list.length; i++) { - let chlist = list[i]; - if (chlist.children) { - forxh(chlist.children); - } else { - lastchildren.push(chlist); - } + json.colspan = leafCount + return leafCount + } + } + // Number of tree node levels + const countTree = getLeafCountTree(datas[0]) + const getMaxFloor = function (treeData) { + let max = 0 + function each (data, floor) { + data.forEach(e => { + e.floor = floor + e.x = floor * 170 + if (floor > max) { + max = floor } - } - // Get all parent nodes above the leaf node - function treeFindPath (tree, func, path,n) { - if (!tree) return [] - for (const data of tree) { - path.push(data.name) - if (func(data)) return path - if (data.children) { - const findChildren = treeFindPath(data.children, func, path,n) - if (findChildren.length) return findChildren - } - path.pop() + if (e.children) { + each(e.children, floor + 1) } - return [] - } - function toLine(data){ - return data.reduce((arrData, {id, name, targetarr, x, y, children = []}) => - arrData.concat([{id, name, targetarr, x, y}], toLine(children)), []) + }) + } + each(treeData, 1) + return max + } + getMaxFloor(datas) + // The last child of each node + let lastchildren = [] + const forxh = function (list) { + for (let i = 0; i < list.length; i++) { + const chlist = list[i] + if (chlist.children) { + forxh(chlist.children) + } else { + lastchildren.push(chlist) } - let listarr = toLine(datas); - let listarrs = toLine(datas) - let dataObject = {} - for(let i = 0; i + arrData.concat([{ id, name, targetarr, x, y }], toLine(children)), []) + } + const listarr = toLine(datas) + const listarrs = toLine(datas) + const dataObject = {} + for (let i = 0; i < listarrs.length; i++) { + delete (listarrs[i].id) + } - for(let a = 0; a value2) { - return 1; - } else { - return 0; - } - }; + if (value1 < value2) { + return -1 + } else if (value1 > value2) { + return 1 + } else { + return 0 } + } + } - lastchildren = lastchildren.sort(createComparisonFunction('x')) + lastchildren = lastchildren.sort(createComparisonFunction('x')) - // Coordinate value of each leaf node - for(let a = 0; a data.targetarr===lastchildren[i].targetarr,[],i+1) - for(let j = 0; j data.targetarr === lastchildren[i].targetarr, [], i + 1) + for (let j = 0; j < node.length; j++) { + for (let k = 0; k < listarrs.length; k++) { + if (node[j] === listarrs[k].name) { + listarrs[k].y = (i + 1) * 120 } } - for(let a = 0; a1) { - dataObject[Object.keys(locationsValue1)[0]].y = (countTree/2)*120+50 + } + } + for (let i = 0; i < tmp.length; i++) { + for (const objs in dataObject) { + if (tmp[i].name === dataObject[objs].name) { + dataObject[objs].targetarr = tmp[i].targetarr } + } + } + for (let a = 0; a < lastchildren.length; a++) { + dataObject[lastchildren[a].id].y = (a + 1) * 120 + } + if (countTree > 1) { + dataObject[Object.keys(locationsValue1)[0]].y = (countTree / 2) * 120 + 50 + } locationsValue = dataObject - let self = this + const self = this jsPlumb.ready(() => { JSP.init({ dag: this.dag, @@ -310,7 +309,7 @@ Dag.prototype.backfill = function (arg) { }) }) } else { - let self = this + const self = this jsPlumb.ready(() => { JSP.init({ dag: this.dag, diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/commcon.js b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/commcon.js index cdf632f13d..37d471cccb 100755 --- a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/commcon.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/commcon.js @@ -43,7 +43,7 @@ const cycleList = [ * cycle value */ const dateValueList = { - 'hour': [ + hour: [ { value: 'last1Hour', label: `${i18n.$t('Last1Hour')}` @@ -57,7 +57,7 @@ const dateValueList = { label: `${i18n.$t('Last3Hours')}` } ], - 'day': [ + day: [ { value: 'today', label: `${i18n.$t('today')}` @@ -79,7 +79,7 @@ const dateValueList = { label: `${i18n.$t('Last7Days')}` } ], - 'week': [ + week: [ { value: 'thisWeek', label: `${i18n.$t('ThisWeek')}` @@ -117,7 +117,7 @@ const dateValueList = { label: `${i18n.$t('LastSunday')}` } ], - 'month': [ + month: [ { value: 'thisMonth', label: `${i18n.$t('ThisMonth')}` @@ -221,15 +221,15 @@ const sqlTypeList = [ const positionList = [ { id: 'PARAMETER', - code: "Parameter" + code: 'Parameter' }, { id: 'BODY', - code: "Body" + code: 'Body' }, { id: 'HEADERS', - code: "Headers" + code: 'Headers' } ] const nodeStatusList = [ diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/jumpAffirm/index.js b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/jumpAffirm/index.js index 88a258c6fe..360a0fb356 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/jumpAffirm/index.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/jumpAffirm/index.js @@ -21,7 +21,7 @@ import store from '@/conf/home/store' import router from '@/conf/home/router' import { uuid, findComponentDownward } from '@/module/util/' -let Affirm = {} +const Affirm = {} let $root = {} let $routerType = '' let $isPop = true @@ -59,7 +59,7 @@ Affirm.paramVerification = (name) => { if (!$isPop) { return true } - let dagStore = store.state.dag + const dagStore = store.state.dag let flag = false if ($routerType === 'definition-create') { // No nodes jump out directly @@ -100,7 +100,7 @@ Affirm.isPop = (fn) => { Vue.$modal.destroy() }) }, - close () { + close () { fn() Vue.$modal.destroy() } diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/downChart.js b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/downChart.js index 3dd13895b0..1c851a175f 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/downChart.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/downChart.js @@ -21,7 +21,7 @@ import { tasksAll } from './util' import html2canvas from 'html2canvas' import { findComponentDownward } from '@/module/util/' -let DownChart = function () { +const DownChart = function () { this.dag = {} } @@ -31,10 +31,10 @@ let DownChart = function () { DownChart.prototype.maxVal = function () { return new Promise((resolve, reject) => { // All nodes - let tasksAllList = tasksAll() - let dom = $('.dag-container') - let y = parseInt(_.maxBy(tasksAllList, 'y').y + 60) - let x = parseInt(_.maxBy(tasksAllList, 'x').x + 100) + const tasksAllList = tasksAll() + const dom = $('.dag-container') + const y = parseInt(_.maxBy(tasksAllList, 'y').y + 60) + const x = parseInt(_.maxBy(tasksAllList, 'x').x + 100) resolve({ width: (x > 600 ? x : dom.width()) + 100, @@ -60,9 +60,9 @@ DownChart.prototype.download = function ({ dagThis }) { // svg handle const nodesToRecover = [] const nodesToRemove = [] - let parentNode = node.parentNode - let svg = node.outerHTML.trim() - let canvas = document.createElement('canvas') + const parentNode = node.parentNode + const svg = node.outerHTML.trim() + const canvas = document.createElement('canvas') canvg(canvas, svg) if (node.style.position) { canvas.style.position += node.style.position @@ -102,10 +102,10 @@ DownChart.prototype.download = function ({ dagThis }) { heigth: height, useCORS: true // Enable cross-domain configuration }).then((canvas) => { - let name = `${this.dag.name}.png` - let url = canvas.toDataURL('image/png', 1) + const name = `${this.dag.name}.png` + const url = canvas.toDataURL('image/png', 1) setTimeout(() => { - let triggerDownload = $('').attr('href', url).attr('download', name).appendTo('body') + const triggerDownload = $('').attr('href', url).attr('download', name).appendTo('body') triggerDownload[0].click() triggerDownload.remove() }, 100) diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/dragZoom.js b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/dragZoom.js index b084e2e9c8..2027f8e1ea 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/dragZoom.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/dragZoom.js @@ -23,7 +23,7 @@ const DragZoom = function () { } DragZoom.prototype.init = function () { - let $canvas = $('#canvas') + const $canvas = $('#canvas') this.element = d3.select('#canvas') this.zoom = d3.behavior.zoom() .scaleExtent([0.5, 2]) @@ -35,5 +35,4 @@ DragZoom.prototype.init = function () { this.element.call(this.zoom).on('dblclick.zoom', null) } - export default new DragZoom() diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/jsPlumbHandle.js b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/jsPlumbHandle.js index c77127d49a..b0bc0fe7c1 100755 --- a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/jsPlumbHandle.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/jsPlumbHandle.js @@ -24,7 +24,6 @@ import { jsPlumb } from 'jsplumb' import DragZoom from './dragZoom' import store from '@/conf/home/store' import router from '@/conf/home/router' -import Permissions from '@/module/permissions' import { uuid, findComponentDownward } from '@/module/util/' import { @@ -32,10 +31,11 @@ import { rtTasksTpl, setSvgColor, saveTargetarr, - rtTargetarrArr } from './util' + rtTargetarrArr +} from './util' import mStart from '@/conf/home/pages/projects/pages/definition/pages/list/_source/start' -let JSP = function () { +const JSP = function () { this.dag = {} this.selectedElement = {} @@ -75,7 +75,7 @@ JSP.prototype.init = function ({ dag, instance, options }) { this.setConfig({ isDrag: !store.state.dag.isDetails, isAttachment: false, - isNewNodes: !store.state.dag.isDetails,//Permissions.getAuth() === false ? false : !store.state.dag.isDetails, + isNewNodes: !store.state.dag.isDetails, // Permissions.getAuth() === false ? false : !store.state.dag.isDetails, isDblclick: true, isContextmenu: true, isClick: false @@ -105,7 +105,7 @@ JSP.prototype.setConfig = function (o) { * Node binding event */ JSP.prototype.tasksEvent = function (selfId) { - let tasks = $(`#${selfId}`) + const tasks = $(`#${selfId}`) // Bind right event tasks.on('contextmenu', e => { this.tasksContextmenu(e) @@ -129,7 +129,7 @@ JSP.prototype.tasksEvent = function (selfId) { JSP.prototype.draggable = function () { if (this.config.isNewNodes) { let selfId - let self = this + const self = this $('.toolbar-btn .roundedRect').draggable({ scope: 'plant', helper: 'clone', @@ -146,7 +146,7 @@ JSP.prototype.draggable = function () { drop: function (ev, ui) { let id = 'tasks-' + Math.ceil(Math.random() * 100000) // eslint-disable-line // Get mouse coordinates - let left = parseInt(ui.offset.left - $(this).offset().left) + const left = parseInt(ui.offset.left - $(this).offset().left) let top = parseInt(ui.offset.top - $(this).offset().top) - 10 if (top < 25) { top = 25 @@ -162,7 +162,7 @@ JSP.prototype.draggable = function () { })) // Get the generated node - let thisDom = jsPlumb.getSelector('.statemachine-demo .w') + const thisDom = jsPlumb.getSelector('.statemachine-demo .w') // Generating a connection node self.JspInstance.batch(() => { @@ -193,13 +193,13 @@ JSP.prototype.jsonHandle = function ({ largeJson, locations }) { $('#canvas').append(rtTasksTpl({ id: v.id, name: v.name, - x: locations[v.id]['x'], - y: locations[v.id]['y'], - targetarr: locations[v.id]['targetarr'], + x: locations[v.id].x, + y: locations[v.id].y, + targetarr: locations[v.id].targetarr, isAttachment: this.config.isAttachment, taskType: v.type, runFlag: v.runFlag, - nodenumber: locations[v.id]['nodenumber'], + nodenumber: locations[v.id].nodenumber })) // contextmenu event @@ -263,29 +263,29 @@ JSP.prototype.initNode = function (el) { */ JSP.prototype.tasksContextmenu = function (event) { if (this.config.isContextmenu) { - let routerName = router.history.current.name + const routerName = router.history.current.name // state - let isOne = routerName === 'projects-definition-details' && this.dag.releaseState !== 'NOT_RELEASE' + const isOne = routerName === 'projects-definition-details' && this.dag.releaseState !== 'NOT_RELEASE' // hide - let isTwo = store.state.dag.isDetails + const isTwo = store.state.dag.isDetails - let html = [ + const html = [ `${i18n.$t('Start')}`, `${i18n.$t('Edit')}`, `${i18n.$t('Copy')}`, `${i18n.$t('Delete')}` ] - let operationHtml = () => { + const operationHtml = () => { return html.splice(',') } - let e = event - let $id = e.currentTarget.id - let $contextmenu = $('#contextmenu') - let $name = $(`#${$id}`).find('.name-p').text() - let $left = e.pageX + document.body.scrollLeft - 5 - let $top = e.pageY + document.body.scrollTop - 5 + const e = event + const $id = e.currentTarget.id + const $contextmenu = $('#contextmenu') + const $name = $(`#${$id}`).find('.name-p').text() + const $left = e.pageX + document.body.scrollLeft - 5 + const $top = e.pageY + document.body.scrollTop - 5 $contextmenu.css({ left: $left, top: $top, @@ -297,10 +297,10 @@ JSP.prototype.tasksContextmenu = function (event) { if (isOne) { // start run $('#startRunning').on('click', () => { - let name = store.state.dag.name - let id = router.history.current.params.id + const name = store.state.dag.name + const id = router.history.current.params.id store.dispatch('dag/getStartCheck', { processDefinitionId: id }).then(res => { - let modal = Vue.$modal.dialog({ + const modal = Vue.$modal.dialog({ closable: false, showMask: true, escClose: true, @@ -332,9 +332,9 @@ JSP.prototype.tasksContextmenu = function (event) { }) }) } - if (!isTwo) { + if (!isTwo) { // edit node - $(`#editNodes`).click(ev => { + $('#editNodes').click(ev => { findComponentDownward(this.dag.$root, 'dag-chart')._createNodes({ id: $id, type: $(`#${$id}`).attr('data-tasks-type') @@ -359,7 +359,7 @@ JSP.prototype.tasksContextmenu = function (event) { JSP.prototype.tasksDblclick = function (e) { // Untie event if (this.config.isDblclick) { - let id = $(e.currentTarget.offsetParent).attr('id') + const id = $(e.currentTarget.offsetParent).attr('id') findComponentDownward(this.dag.$root, 'dag-chart')._createNodes({ id: id, @@ -373,10 +373,10 @@ JSP.prototype.tasksDblclick = function (e) { */ JSP.prototype.tasksClick = function (e) { let $id - let self = this - let $body = $(`body`) + const self = this + const $body = $('body') if (this.config.isClick) { - let $connect = this.selectedElement.connect + const $connect = this.selectedElement.connect $('.w').removeClass('jtk-tasks-active') $(e.currentTarget).addClass('jtk-tasks-active') if ($connect) { @@ -406,7 +406,7 @@ JSP.prototype.tasksClick = function (e) { * paste */ JSP.prototype.removePaste = function () { - let $body = $(`body`) + const $body = $('body') // Unbind copy and paste events $body.unbind('copy').unbind('paste') // Remove selected node parameters @@ -421,7 +421,7 @@ JSP.prototype.removePaste = function () { JSP.prototype.connectClick = function (e) { // Set svg color setSvgColor(e, '#0097e0') - let $id = this.selectedElement.id + const $id = this.selectedElement.id if ($id) { $(`#${$id}`).removeClass('jtk-tasks-active') this.selectedElement.id = null @@ -434,24 +434,10 @@ JSP.prototype.connectClick = function (e) { * @param {Pointer} */ JSP.prototype.handleEventPointer = function (is) { - let wDom = $('.w') this.setConfig({ isClick: is, isAttachment: false }) - // wDom.removeClass('jtk-ep') - // if (!is) { - // wDom.removeClass('jtk-tasks-active') - // this.selectedElement = {} - // _.map($('#canvas svg'), v => { - // if ($(v).attr('class')) { - // _.map($(v).find('path'), v1 => { - // $(v1).attr('fill', '#555') - // $(v1).attr('stroke', '#555') - // }) - // } - // }) - // } } /** @@ -459,7 +445,7 @@ JSP.prototype.handleEventPointer = function (is) { * @param {Line} */ JSP.prototype.handleEventLine = function (is) { - let wDom = $('.w') + const wDom = $('.w') this.setConfig({ isAttachment: is }) @@ -471,8 +457,8 @@ JSP.prototype.handleEventLine = function (is) { * @param {Remove} */ JSP.prototype.handleEventRemove = function () { - let $id = this.selectedElement.id || null - let $connect = this.selectedElement.connect || null + const $id = this.selectedElement.id || null + const $connect = this.selectedElement.connect || null if ($id) { this.removeNodes(this.selectedElement.id) } else { @@ -489,9 +475,9 @@ JSP.prototype.handleEventRemove = function () { JSP.prototype.removeNodes = function ($id) { // Delete node processing(data-targetarr) _.map(tasksAll(), v => { - let targetarr = v.targetarr.split(',') + const targetarr = v.targetarr.split(',') if (targetarr.length) { - let newArr = _.filter(targetarr, v1 => v1 !== $id) + const newArr = _.filter(targetarr, v1 => v1 !== $id) $(`#${v.id}`).attr('data-targetarr', newArr.toString()) } }) @@ -502,7 +488,7 @@ JSP.prototype.removeNodes = function ($id) { $(`#${$id}`).remove() // callback onRemoveNodes event - this.options&&this.options.onRemoveNodes&&this.options.onRemoveNodes($id) + this.options && this.options.onRemoveNodes && this.options.onRemoveNodes($id) } /** @@ -513,15 +499,15 @@ JSP.prototype.removeConnect = function ($connect) { return } // Remove connections and remove node and node dependencies - let targetId = $connect.targetId - let sourceId = $connect.sourceId + const targetId = $connect.targetId + const sourceId = $connect.sourceId let targetarr = rtTargetarrArr(targetId) if (targetarr.length) { targetarr = _.filter(targetarr, v => v !== sourceId) $(`#${targetId}`).attr('data-targetarr', targetarr.toString()) } - if ($(`#${sourceId}`).attr('data-tasks-type')=='CONDITIONS') { - $(`#${sourceId}`).attr('data-nodenumber',Number($(`#${sourceId}`).attr('data-nodenumber'))-1) + if ($(`#${sourceId}`).attr('data-tasks-type') === 'CONDITIONS') { + $(`#${sourceId}`).attr('data-nodenumber', Number($(`#${sourceId}`).attr('data-nodenumber')) - 1) } this.JspInstance.deleteConnection($connect) @@ -533,24 +519,24 @@ JSP.prototype.removeConnect = function ($connect) { */ JSP.prototype.copyNodes = function ($id) { let newNodeInfo = _.cloneDeep(_.find(store.state.dag.tasks, v => v.id === $id)) - let newNodePors = store.state.dag.locations[$id] + const newNodePors = store.state.dag.locations[$id] // Unstored nodes do not allow replication if (!newNodePors) { return } // Generate random id - let newUuId = `${uuid() + uuid()}` - let id = newNodeInfo.id.length > 8 ? newNodeInfo.id.substr(0, 7) : newNodeInfo.id - let name = newNodeInfo.name.length > 8 ? newNodeInfo.name.substr(0, 7) : newNodeInfo.name + const newUuId = `${uuid() + uuid()}` + const id = newNodeInfo.id.length > 8 ? newNodeInfo.id.substr(0, 7) : newNodeInfo.id + const name = newNodeInfo.name.length > 8 ? newNodeInfo.name.substr(0, 7) : newNodeInfo.name // new id - let newId = `${id || ''}-${newUuId}` + const newId = `${id || ''}-${newUuId}` // new name - let newName = `${name || ''}-${newUuId}` + const newName = `${name || ''}-${newUuId}` // coordinate x - let newX = newNodePors.x + 100 + const newX = newNodePors.x + 100 // coordinate y - let newY = newNodePors.y + 40 + const newY = newNodePors.y + 40 // Generate template node $('#canvas').append(rtTasksTpl({ @@ -563,7 +549,7 @@ JSP.prototype.copyNodes = function ($id) { })) // Get the generated node - let thisDom = jsPlumb.getSelector('.statemachine-demo .w') + const thisDom = jsPlumb.getSelector('.statemachine-demo .w') // Copy node information newNodeInfo = Object.assign(newNodeInfo, { @@ -604,7 +590,7 @@ JSP.prototype.handleEventScreen = function ({ item, is }) { item.icon = 'ans-icon-max' screenOpen = false } - let $mainLayoutModel = $('.main-layout-model') + const $mainLayoutModel = $('.main-layout-model') if (screenOpen) { $mainLayoutModel.addClass('dag-screen') } else { @@ -619,21 +605,21 @@ JSP.prototype.handleEventScreen = function ({ item, is }) { */ JSP.prototype.saveStore = function () { return new Promise((resolve, reject) => { - let connects = [] - let locations = {} - let tasks = [] + const connects = [] + const locations = {} + const tasks = [] - let is = (id) => { + const is = (id) => { return !!_.filter(tasksAll(), v => v.id === id).length } // task _.map(_.cloneDeep(store.state.dag.tasks), v => { if (is(v.id)) { - let preTasks = [] - let id = $(`#${v.id}`) - let tar = id.attr('data-targetarr') - let idDep = tar ? id.attr('data-targetarr').split(',') : [] + const preTasks = [] + const id = $(`#${v.id}`) + const tar = id.attr('data-targetarr') + const idDep = tar ? id.attr('data-targetarr').split(',') : [] if (idDep.length) { _.map(idDep, v1 => { preTasks.push($(`#${v1}`).find('.name-p').text()) @@ -655,12 +641,11 @@ JSP.prototype.saveStore = function () { _.map(this.JspInstance.getConnections(), v => { connects.push({ - 'endPointSourceId': v.sourceId, - 'endPointTargetId': v.targetId + endPointSourceId: v.sourceId, + endPointTargetId: v.targetId }) }) - _.map(tasksAll(), v => { locations[v.id] = { name: v.name, @@ -671,7 +656,6 @@ JSP.prototype.saveStore = function () { } }) - // Storage node store.commit('dag/setTasks', tasks) // Store coordinate information @@ -692,14 +676,14 @@ JSP.prototype.saveStore = function () { JSP.prototype.handleEvent = function () { this.JspInstance.bind('beforeDrop', function (info) { - let sourceId = info['sourceId']// 出 - let targetId = info['targetId']// 入 + const sourceId = info.sourceId// 出 + const targetId = info.targetId// 入 /** * Recursive search for nodes */ let recursiveVal const recursiveTargetarr = (arr, targetId) => { - for (let i in arr) { + for (const i in arr) { if (arr[i] === targetId) { recursiveVal = targetId } else { @@ -719,10 +703,10 @@ JSP.prototype.handleEvent = function () { return false } - if ($(`#${sourceId}`).attr('data-tasks-type')=='CONDITIONS' && $(`#${sourceId}`).attr('data-nodenumber')==2) { + if ($(`#${sourceId}`).attr('data-tasks-type') === 'CONDITIONS' && $(`#${sourceId}`).attr('data-nodenumber') === 2) { return false } else { - $(`#${sourceId}`).attr('data-nodenumber',Number($(`#${sourceId}`).attr('data-nodenumber'))+1) + $(`#${sourceId}`).attr('data-nodenumber', Number($(`#${sourceId}`).attr('data-nodenumber')) + 1) } // Storage node dependency information @@ -744,7 +728,7 @@ JSP.prototype.jspBackfill = function ({ connects, locations, largeJson }) { locations: locations }) - let wNodes = jsPlumb.getSelector('.statemachine-demo .w') + const wNodes = jsPlumb.getSelector('.statemachine-demo .w') // Backfill line this.JspInstance.batch(() => { diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/util.js b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/util.js index 17e7faf477..e44363911b 100755 --- a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/util.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/plugIn/util.js @@ -23,7 +23,7 @@ import store from '@/conf/home/store' * Node, to array */ const rtTargetarrArr = (id) => { - let ids = $(`#${id}`).attr('data-targetarr') + const ids = $(`#${id}`).attr('data-targetarr') return ids ? ids.split(',') : [] } @@ -31,8 +31,8 @@ const rtTargetarrArr = (id) => { * Store node id to targetarr */ const saveTargetarr = (valId, domId) => { - let $target = $(`#${domId}`) - let targetStr = $target.attr('data-targetarr') ? $target.attr('data-targetarr') + `,${valId}` : `${valId}` + const $target = $(`#${domId}`) + const targetStr = $target.attr('data-targetarr') ? $target.attr('data-targetarr') + `,${valId}` : `${valId}` $target.attr('data-targetarr', targetStr) } @@ -44,20 +44,20 @@ const rtBantpl = () => { * return node html */ const rtTasksTpl = ({ id, name, x, y, targetarr, isAttachment, taskType, runFlag, nodenumber }) => { - let tpl = `` + let tpl = '' tpl += `
` - tpl += `
` - tpl += `
` + tpl += '
' + tpl += '
' tpl += `
` tpl += `${name}` - tpl += `
` - tpl += `
` - tpl += `
` + tpl += '
' + tpl += '
' + tpl += '
' if (runFlag === 'FORBIDDEN') { tpl += rtBantpl() } - tpl += `
` - tpl += `
` + tpl += '
' + tpl += '' return tpl } @@ -66,9 +66,9 @@ const rtTasksTpl = ({ id, name, x, y, targetarr, isAttachment, taskType, runFlag * Get all tasks nodes */ const tasksAll = () => { - let a = [] + const a = [] $('#canvas .w').each(function (idx, elem) { - let e = $(elem) + const e = $(elem) a.push({ id: e.attr('id'), name: e.find('.name-p').text(), @@ -117,10 +117,10 @@ const setSvgColor = (e, color) => { * Get all node ids */ const allNodesId = () => { - let idArr = [] + const idArr = [] $('.w').each((i, o) => { - let $obj = $(o) - let $span = $obj.find('.name-p').text() + const $obj = $(o) + const $span = $obj.find('.name-p').text() if ($span) { idArr.push({ id: $obj.attr('id'), diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/_source/gaugeOption.js b/dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/_source/gaugeOption.js index 6d64db5e02..a61f80f530 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/_source/gaugeOption.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/_source/gaugeOption.js @@ -30,21 +30,21 @@ export default function (value) { color: [ [ 0.5, new echarts.graphic.LinearGradient(0, 0, 1, 0, [{ // eslint-disable-line offset: 1, - color: '#1CAD52'// 50% Color in place + color: '#1CAD52'// 50% Color in place }, { offset: 0.8, - color: '#1CAD52'// 40% Color in place - }], false) ], // 100% Color in place + color: '#1CAD52'// 40% Color in place + }], false)], // 100% Color in place [ 0.7, new echarts.graphic.LinearGradient(0, 0, 1, 0, [{ // eslint-disable-line offset: 1, - color: '#FFC539'// 70% Color in place + color: '#FFC539'// 70% Color in place }, { offset: 0.8, - color: '#FEEC49'// 66% Color in place + color: '#FEEC49'// 66% Color in place }, { offset: 0, - color: '#C7DD6B'// 50% Color in place - }], false) ], + color: '#C7DD6B'// 50% Color in place + }], false)], [ 0.9, new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ // eslint-disable-line offset: 1, color: '#E75F25' // 90% Color in place @@ -54,14 +54,14 @@ export default function (value) { }, { offset: 0, color: '#FFC539' // 70% Color in place - }], false) ], + }], false)], [1, new echarts.graphic.LinearGradient(0, 0, 0, 1, [ { // eslint-disable-line offset: 0.2, color: '#E75F25' // 92% Color in place }, { offset: 0, color: '#D9452C' // 90% Color in place - }], false) ] + }], false)] ], width: 10 } @@ -92,10 +92,10 @@ export default function (value) { show: true, lineStyle: { // Property linestyle controls line style color: [ // Dial Color - [ 0.5, '#20AE51' ], // 0-50%Color in place - [ 0.7, '#FFED44' ], // 51%-70%Color in place - [ 0.9, '#FF9618' ], // 70%-90%Color in place - [ 1, '#DA462C']// 90%-100%Color in place + [0.5, '#20AE51'], // 0-50%Color in place + [0.7, '#FFED44'], // 51%-70%Color in place + [0.9, '#FF9618'], // 70%-90%Color in place + [1, '#DA462C']// 90%-100%Color in place ], width: 30// Dial width } diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/_source/instanceConditions/common.js b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/_source/instanceConditions/common.js index 091b8178f9..254098a65b 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/_source/instanceConditions/common.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/_source/instanceConditions/common.js @@ -20,7 +20,7 @@ import i18n from '@/module/i18n' /** * State code table */ -let stateType = [ +const stateType = [ { code: '', label: `${i18n.$t('none')}` diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/list.vue b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/list.vue index efb7ea31ce..1a07fae037 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/list.vue +++ b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/list.vue @@ -92,7 +92,7 @@ - + v.code === code)[0].desc }, @@ -176,6 +177,7 @@ * Start */ _start (item) { + this.getWorkerGroupsAll() this.getStartCheck({ processDefinitionId: item.id }).then(res => { let self = this let modal = this.$modal.dialog({ diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/util.js b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/util.js index 2259dea9cd..308af45a48 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/util.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/util.js @@ -17,7 +17,7 @@ import i18n from '@/module/i18n' -let warningTypeList = [ +const warningTypeList = [ { id: 'NONE', code: `${i18n.$t('none_1')}` @@ -42,9 +42,9 @@ const isEmial = (val) => { } const fuzzyQuery = (list, keyWord) => { - let len = list.length - let arr = [] - let reg = new RegExp(keyWord) + const len = list.length + const arr = [] + const reg = new RegExp(keyWord) for (let i = 0; i < len; i++) { if (list[i].match(reg)) { arr.push(list[i]) diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/tree/_source/tree.js b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/tree/_source/tree.js index 5ff02e869f..af2d26831b 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/tree/_source/tree.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/tree/_source/tree.js @@ -21,7 +21,7 @@ import { tasksType, tasksState } from '@/conf/home/pages/dag/_source/config' let self = this -let Tree = function () { +const Tree = function () { self = this this.selfTree = {} this.tree = function () {} @@ -57,7 +57,7 @@ Tree.prototype.init = function ({ data, limit, selfTree }) { this.duration = 400 this.i = 0 this.tree = d3.layout.tree().nodeSize([0, 46]) - let tasks = this.tree.nodes(data) + const tasks = this.tree.nodes(data) this.diagonal = d3.svg .diagonal() @@ -142,9 +142,9 @@ Tree.prototype.treeToggles = function (clicked_d) { // eslint-disable-line */ Tree.prototype.treeUpdate = function (source) { return new Promise((resolve, reject) => { - let tasks = this.tree.nodes(this.root) - let height = Math.max(500, tasks.length * this.config.barHeight + this.config.margin.top + this.config.margin.bottom) - let width = (this.config.nodesMax * 70) + (this.squareNum * (this.config.squareSize + this.config.squarePading)) + this.config.margin.left + this.config.margin.right + 50 + const tasks = this.tree.nodes(this.root) + const height = Math.max(500, tasks.length * this.config.barHeight + this.config.margin.top + this.config.margin.bottom) + const width = (this.config.nodesMax * 70) + (this.squareNum * (this.config.squareSize + this.config.squarePading)) + this.config.margin.left + this.config.margin.right + 50 d3.select('svg') .transition() @@ -156,12 +156,12 @@ Tree.prototype.treeUpdate = function (source) { n.x = i * this.config.barHeight }) - let task = this.svg.selectAll('g.node') + const task = this.svg.selectAll('g.node') .data(tasks, (d) => { return d.id || (d.id = ++this.i) }) - let nodeEnter = task.enter() + const nodeEnter = task.enter() .append('g') .attr('class', this.nodesClass) .attr('transform', () => 'translate(' + source.y0 + ',' + source.x0 + ')') @@ -201,7 +201,7 @@ Tree.prototype.treeUpdate = function (source) { } }) .attr('class', 'state') - .style('fill', d => d.state && tasksState[d.state].color || '#ffffff') + .style('fill', d => (d.state && tasksState[d.state].color) || '#ffffff') .attr('data-toggle', 'tooltip') .attr('rx', d => d.type ? 0 : 12) .attr('ry', d => d.type ? 0 : 12) @@ -231,7 +231,6 @@ Tree.prototype.treeUpdate = function (source) { .attr('transform', d => 'translate(' + d.y + ',' + d.x + ')') .style('opacity', 1) - // Convert the exit node to the new location of the parent node。 task.exit().transition() .duration(this.duration) @@ -240,14 +239,14 @@ Tree.prototype.treeUpdate = function (source) { .remove() // Update link - let link = this.svg.selectAll('path.link') + const link = this.svg.selectAll('path.link') .data(this.tree.links(tasks), d => d.target.id) // Enter any new links in the previous location of the parent node。 link.enter().insert('path', 'g') .attr('class', 'link') .attr('d', (d) => { - let o = { x: source.x0, y: source.y0 } + const o = { x: source.x0, y: source.y0 } return this.diagonal({ source: o, target: o }) }) .transition() @@ -263,7 +262,7 @@ Tree.prototype.treeUpdate = function (source) { link.exit().transition() .duration(this.duration) .attr('d', (d) => { - let o = { x: source.x, y: source.y } + const o = { x: source.x, y: source.y } return this.diagonal({ source: o, target: o }) }) .remove() diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/tree/_source/util.js b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/tree/_source/util.js index eb37e82a6c..2df1783593 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/tree/_source/util.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/tree/_source/util.js @@ -22,7 +22,7 @@ import { tasksState } from '@/conf/home/pages/dag/_source/config' * Node prompt dom */ const rtInstancesTooltip = (data) => { - let str = `
` + let str = '
' str += `id : ${data.id}
` str += `host : ${data.host}
` str += `name : ${data.name}
` @@ -33,7 +33,7 @@ const rtInstancesTooltip = (data) => { str += `startTime : ${data.startTime ? formatDate(data.startTime) : '-'}
` str += `endTime : ${data.endTime ? formatDate(data.endTime) : '-'}
` str += `duration : ${data.duration}
` - str += `
` + str += '
' return str } @@ -42,7 +42,7 @@ const rtInstancesTooltip = (data) => { * Easy to calculate the width dynamically */ const rtCountMethod = list => { - let arr = [] + const arr = [] function count (list, t) { let toggle = false list.forEach(v => { diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/index/_source/chartConfig.js b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/index/_source/chartConfig.js index b8601a69c9..9fb18eaa91 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/index/_source/chartConfig.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/index/_source/chartConfig.js @@ -18,7 +18,7 @@ import _ from 'lodash' import { tasksState } from '@/conf/home/pages/dag/_source/config' -let pie = { +const pie = { series: [ { type: 'pie', @@ -37,7 +37,7 @@ let pie = { ] } -let bar = { +const bar = { title: { text: '' }, @@ -56,7 +56,7 @@ let bar = { }, tooltip: { formatter (v) { - let val = v[0].name.split(',') + const val = v[0].name.split(',') return `${val[0]} (${v[0].value})` } }, @@ -66,7 +66,7 @@ let bar = { }] } -let simple = { +const simple = { xAxis: { splitLine: { show: false @@ -93,7 +93,6 @@ let simple = { }, color: ['#D5050B', '#0398E1'] - } export { pie, bar, simple } diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/gantt/_source/gantt.js b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/gantt/_source/gantt.js index e808c94627..5a4366b06f 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/gantt/_source/gantt.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/gantt/_source/gantt.js @@ -19,13 +19,13 @@ import * as d3 from 'd3' import { formatDate } from '@/module/filter/filter' import { tasksState } from '@/conf/home/pages/dag/_source/config' -let Gantt = function () { +const Gantt = function () { this.el = '' this.tasks = [] this.width = null this.height = null this.taskNames = [] - this.tickFormat = `%H:%M:%S` + this.tickFormat = '%H:%M:%S' this.margin = { top: 10, right: 40, @@ -41,20 +41,20 @@ Gantt.prototype.init = function ({ el, tasks }) { this.tasks = tasks this.taskNames = _.map(_.cloneDeep(tasks), v => v.taskName) this.taskNames = this.taskNames.reduce(function (prev, cur) { - prev.indexOf(cur) === -1 && prev.push(cur); - return prev; - },[]) + prev.indexOf(cur) === -1 && prev.push(cur) + return prev + }, []) this.height = parseInt(this.taskNames.length * 30) this.width = $(this.el).width() - this.margin.right - this.margin.left - 5 this.x = d3.time.scale() - .domain([ this.startTimeXAxis, this.endTimeXAxis ]) - .range([ 0, this.width ]) + .domain([this.startTimeXAxis, this.endTimeXAxis]) + .range([0, this.width]) .clamp(true) this.y = d3.scale.ordinal() .domain(this.taskNames) - .rangeRoundBands([ 0, this.height - this.margin.top - this.margin.bottom ], 0.1) + .rangeRoundBands([0, this.height - this.margin.top - this.margin.bottom], 0.1) this.xAxis = d3.svg.axis() .scale(this.x) @@ -97,13 +97,13 @@ Gantt.prototype.compXAxisTimes = function () { */ Gantt.prototype.initializeXAxis = function () { this.x = d3.time.scale() - .domain([ this.startTimeXAxis, this.endTimeXAxis ]) - .range([ 0, this.width ]) + .domain([this.startTimeXAxis, this.endTimeXAxis]) + .range([0, this.width]) .clamp(true) this.y = d3.scale.ordinal() .domain(this.taskNames) - .rangeRoundBands([ 0, this.height - this.margin.top - this.margin.bottom ], 0.1) + .rangeRoundBands([0, this.height - this.margin.top - this.margin.bottom], 0.1) this.xAxis = d3.svg.axis() .scale(this.x) @@ -151,9 +151,9 @@ Gantt.prototype.drawChart = function () { .attr('transform', 'translate(0, ' + (this.height - this.margin.top - this.margin.bottom) + ')') .transition() .call(this.xAxis) - .selectAll("text") - .attr("transform", `rotate(-${this.width / ($('.tick').length - 1) > 50 ? 0 : Math.acos(this.width / ($('.tick').length - 1) / 50) * 57 })`) - .style("text-anchor", `${this.width / ($('.tick').length - 1) > 50 ? 'middle' : 'end'}`) + .selectAll('text') + .attr('transform', `rotate(-${this.width / ($('.tick').length - 1) > 50 ? 0 : Math.acos(this.width / ($('.tick').length - 1) / 50) * 57})`) + .style('text-anchor', `${this.width / ($('.tick').length - 1) > 50 ? 'middle' : 'end'}`) svg.append('g') .attr('class', 'y axis') @@ -169,15 +169,14 @@ Gantt.prototype.drawChart = function () { * Tip prompt */ Gantt.prototype.tip = function (d) { - let str = `
` + let str = '
' str += `taskName : ${d.taskName}
` str += `status : ${tasksState[d.status].desc} (${d.status})
` str += `startTime : ${formatDate(d.isoStart)}
` str += `endTime : ${formatDate(d.isoEnd)}
` str += `duration : ${d.duration}
` - str += `
` + str += '
' return str } - export default new Gantt() diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/_source/common.js b/dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/_source/common.js index 8e534f9237..595217397e 100755 --- a/dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/_source/common.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/_source/common.js @@ -18,6 +18,6 @@ /** * Create file type */ -let filtTypeArr = ['txt', 'log', 'sh', 'conf', 'cfg', 'py', 'java', 'sql', 'xml', 'hql', 'properties'] +const filtTypeArr = ['txt', 'log', 'sh', 'conf', 'cfg', 'py', 'java', 'sql', 'xml', 'hql', 'properties'] export { filtTypeArr } diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/details/_source/utils.js b/dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/details/_source/utils.js index bf20a8c5ff..283931edc3 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/details/_source/utils.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/details/_source/utils.js @@ -32,7 +32,6 @@ const handlerSuffix = { '.properties': 'textile' } - export { handlerSuffix } diff --git a/dolphinscheduler-ui/src/js/conf/home/router/index.js b/dolphinscheduler-ui/src/js/conf/home/router/index.js index 93815e72ea..91e015b2fa 100644 --- a/dolphinscheduler-ui/src/js/conf/home/router/index.js +++ b/dolphinscheduler-ui/src/js/conf/home/router/index.js @@ -426,7 +426,7 @@ const router = new Router({ name: 'monitor', component: resolve => require(['../pages/monitor/index'], resolve), meta: { - title: `monitor` + title: 'monitor' }, redirect: { name: 'servers-master' @@ -453,7 +453,7 @@ const router = new Router({ name: 'servers-alert', component: resolve => require(['../pages/monitor/pages/servers/alert'], resolve), meta: { - title: `Alert` + title: 'Alert' } }, { @@ -461,7 +461,7 @@ const router = new Router({ name: 'servers-rpcserver', component: resolve => require(['../pages/monitor/pages/servers/rpcserver'], resolve), meta: { - title: `Rpcserver` + title: 'Rpcserver' } }, { @@ -469,7 +469,7 @@ const router = new Router({ name: 'servers-zookeeper', component: resolve => require(['../pages/monitor/pages/servers/zookeeper'], resolve), meta: { - title: `Zookeeper` + title: 'Zookeeper' } }, { @@ -477,7 +477,7 @@ const router = new Router({ name: 'servers-apiserver', component: resolve => require(['../pages/monitor/pages/servers/apiserver'], resolve), meta: { - title: `Apiserver` + title: 'Apiserver' } }, { @@ -485,7 +485,7 @@ const router = new Router({ name: 'servers-db', component: resolve => require(['../pages/monitor/pages/servers/db'], resolve), meta: { - title: `DB` + title: 'DB' } }, { @@ -493,7 +493,7 @@ const router = new Router({ name: 'statistics', component: resolve => require(['../pages/monitor/pages/servers/statistics'], resolve), meta: { - title: `statistics` + title: 'statistics' } } ] @@ -502,7 +502,7 @@ const router = new Router({ }) router.beforeEach((to, from, next) => { - let $body = $('body') + const $body = $('body') $body.find('.tooltip.fade.top.in').remove() if (to.meta.title) { document.title = `${to.meta.title} - DolphinScheduler` diff --git a/dolphinscheduler-ui/src/js/conf/home/store/dag/actions.js b/dolphinscheduler-ui/src/js/conf/home/store/dag/actions.js index 5a11d15dc6..09d51b91dd 100644 --- a/dolphinscheduler-ui/src/js/conf/home/store/dag/actions.js +++ b/dolphinscheduler-ui/src/js/conf/home/store/dag/actions.js @@ -28,7 +28,7 @@ export default { io.get(`projects/${state.projectName}/instance/task-list-by-process-id`, { processInstanceId: payload }, res => { - let arr = _.map(res.data.taskList, v => { + const arr = _.map(res.data.taskList, v => { return _.cloneDeep(_.assign(tasksState[v.state], { name: v.name, stateId: v.id, @@ -108,7 +108,7 @@ export default { // locations state.locations = JSON.parse(res.data.locations) // Process definition - let processDefinitionJson = JSON.parse(res.data.processDefinitionJson) + const processDefinitionJson = JSON.parse(res.data.processDefinitionJson) // tasks info state.tasks = processDefinitionJson.tasks // tasks cache @@ -129,7 +129,7 @@ export default { }) }, -/** + /** * Get process definition DAG diagram details */ copyProcess ({ state }, payload) { @@ -161,7 +161,7 @@ export default { // locations state.locations = JSON.parse(res.data.locations) // process instance - let processInstanceJson = JSON.parse(res.data.processInstanceJson) + const processInstanceJson = JSON.parse(res.data.processInstanceJson) // tasks info state.tasks = processInstanceJson.tasks // tasks cache @@ -176,7 +176,7 @@ export default { state.tenantId = processInstanceJson.tenantId - //startup parameters + // startup parameters state.startup = _.assign(state.startup, _.pick(res.data, ['commandType', 'failureStrategy', 'processInstancePriority', 'workerGroup', 'warningType', 'warningGroupId', 'receivers', 'receiversCc'])) state.startup.commandParam = JSON.parse(res.data.commandParam) @@ -191,7 +191,7 @@ export default { */ saveDAGchart ({ state }, payload) { return new Promise((resolve, reject) => { - let data = { + const data = { globalParams: state.globalParams, tasks: state.tasks, tenantId: state.tenantId, @@ -215,7 +215,7 @@ export default { */ updateDefinition ({ state }, payload) { return new Promise((resolve, reject) => { - let data = { + const data = { globalParams: state.globalParams, tasks: state.tasks, tenantId: state.tenantId, @@ -240,7 +240,7 @@ export default { */ updateInstance ({ state }, payload) { return new Promise((resolve, reject) => { - let data = { + const data = { globalParams: state.globalParams, tasks: state.tasks, tenantId: state.tenantId, @@ -294,16 +294,16 @@ export default { getProjectList ({ state }, payload) { return new Promise((resolve, reject) => { if (state.projectListS.length) { - resolve() - return - } - io.get(`projects/query-project-list`, payload, res => { - state.projectListS = res.data - resolve(res.data) - }).catch(res => { - reject(res) + resolve() + return + } + io.get('projects/query-project-list', payload, res => { + state.projectListS = res.data + resolve(res.data) + }).catch(res => { + reject(res) + }) }) - }) }, /** * Get a list of process definitions by project id @@ -312,17 +312,17 @@ export default { return new Promise((resolve, reject) => { io.get(`projects/${state.projectName}/process/queryProcessDefinitionAllByProjectId`, payload, res => { resolve(res.data) - }).catch(res => { - reject(res) + }).catch(res => { + reject(res) + }) }) - }) }, /** * get datasource */ getDatasourceList ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`datasources/list`, { + io.get('datasources/list', { type: payload }, res => { resolve(res) @@ -340,7 +340,7 @@ export default { resolve() return } - io.get(`resources/list`, { + io.get('resources/list', { type: 'FILE' }, res => { state.resourcesListS = res.data @@ -359,7 +359,7 @@ export default { resolve() return } - io.get(`resources/list/jar`, { + io.get('resources/list/jar', { type: 'FILE' }, res => { state.resourcesListJar = res.data @@ -387,7 +387,7 @@ export default { */ getNotifyGroupList ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`alert-group/list`, res => { + io.get('alert-group/list', res => { state.notifyGroupListS = _.map(res.data, v => { return { id: v.id, @@ -469,7 +469,7 @@ export default { return new Promise((resolve, reject) => { io.post(`projects/${state.projectName}/schedule/preview`, payload, res => { resolve(res.data) - //alert(res.data) + // alert(res.data) }).catch(e => { reject(e) }) @@ -579,11 +579,11 @@ export default { if (!data) { return } - let blob = new Blob([data]) - let fileName = `${fileNameS}.json` + const blob = new Blob([data]) + const fileName = `${fileNameS}.json` if ('download' in document.createElement('a')) { // 不是IE浏览器 - let url = window.URL.createObjectURL(blob) - let link = document.createElement('a') + const url = window.URL.createObjectURL(blob) + const link = document.createElement('a') link.style.display = 'none' link.href = url link.setAttribute('download', fileName) @@ -596,7 +596,7 @@ export default { } } - io.get(`projects/${state.projectName}/process/export`,{processDefinitionIds: payload.processDefinitionIds}, res => { + io.get(`projects/${state.projectName}/process/export`, {processDefinitionIds: payload.processDefinitionIds}, res => { downloadBlob(res, payload.fileName) }, e => { @@ -622,7 +622,7 @@ export default { */ getUdfList ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`resources/udf-func/list`, payload, res => { + io.get('resources/udf-func/list', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -646,7 +646,7 @@ export default { */ getTaskRecordList ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`projects/task-record/list-paging`, payload, res => { + io.get('projects/task-record/list-paging', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -658,7 +658,7 @@ export default { */ getHistoryTaskRecordList ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`projects/task-record/history-list-paging`, payload, res => { + io.get('projects/task-record/history-list-paging', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -725,7 +725,7 @@ export default { /** * remove timing */ - deleteTiming({ state }, payload){ + deleteTiming ({ state }, payload) { return new Promise((resolve, reject) => { io.get(`projects/${state.projectName}/schedule/delete`, payload, res => { resolve(res) @@ -736,11 +736,11 @@ export default { }, getResourceId ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`resources/queryResource`, payload, res => { + io.get('resources/queryResource', payload, res => { resolve(res.data) }).catch(e => { reject(e) }) }) - }, + } } diff --git a/dolphinscheduler-ui/src/js/conf/home/store/dag/mutations.js b/dolphinscheduler-ui/src/js/conf/home/store/dag/mutations.js index b6142bb762..509ae3c103 100755 --- a/dolphinscheduler-ui/src/js/conf/home/store/dag/mutations.js +++ b/dolphinscheduler-ui/src/js/conf/home/store/dag/mutations.js @@ -100,27 +100,27 @@ export default { */ resetParams (state, payload) { $('#canvas').html('') - state.globalParams = payload && payload.globalParams || [] - state.tasks = payload && payload.tasks || [] - state.name = payload && payload.name || '' - state.description = payload && payload.description || '' - state.timeout = payload && payload.timeout || 0 - state.tenantId = payload && payload.tenantId || -1 - state.processListS = payload && payload.processListS || [] - state.resourcesListS = payload && payload.resourcesListS || [] - state.resourcesListJar = payload && payload.resourcesListJar || [] - state.projectListS = payload && payload.projectListS || [] - state.isDetails = payload && payload.isDetails || false - state.runFlag = payload && payload.runFlag || '' - state.locations = payload && payload.locations || {} - state.connects = payload && payload.connects || [] + state.globalParams = (payload && payload.globalParams) || [] + state.tasks = (payload && payload.tasks) || [] + state.name = (payload && payload.name) || '' + state.description = (payload && payload.description) || '' + state.timeout = (payload && payload.timeout) || 0 + state.tenantId = (payload && payload.tenantId) || -1 + state.processListS = (payload && payload.processListS) || [] + state.resourcesListS = (payload && payload.resourcesListS) || [] + state.resourcesListJar = (payload && payload.resourcesListJar) || [] + state.projectListS = (payload && payload.projectListS) || [] + state.isDetails = (payload && payload.isDetails) || false + state.runFlag = (payload && payload.runFlag) || '' + state.locations = (payload && payload.locations) || {} + state.connects = (payload && payload.connects) || [] }, /** * add task * object {} */ addTasks (state, payload) { - let i = _.findIndex(state.tasks, v => v.id === payload.id) + const i = _.findIndex(state.tasks, v => v.id === payload.id) if (i !== -1) { state.tasks[i] = Object.assign(state.tasks[i], {}, payload) } else { @@ -129,9 +129,9 @@ export default { if (state.cacheTasks[payload.id]) { state.cacheTasks[payload.id] = Object.assign(state.cacheTasks[payload.id], {}, payload) } else { - state.cacheTasks[payload.id] = payload; + state.cacheTasks[payload.id] = payload } - let dom = $(`#${payload.id}`) + const dom = $(`#${payload.id}`) state.locations[payload.id] = _.assign(state.locations[payload.id], { name: dom.find('.name-p').text(), targetarr: dom.attr('data-targetarr'), @@ -149,7 +149,7 @@ export default { if (state.cacheTasks[payload.id]) { state.cacheTasks[payload.id] = Object.assign(state.cacheTasks[payload.id], {}, payload) } else { - state.cacheTasks[payload.id] = payload; + state.cacheTasks[payload.id] = payload } } } diff --git a/dolphinscheduler-ui/src/js/conf/home/store/dag/state.js b/dolphinscheduler-ui/src/js/conf/home/store/dag/state.js index 0605a26666..05dfa77161 100644 --- a/dolphinscheduler-ui/src/js/conf/home/store/dag/state.js +++ b/dolphinscheduler-ui/src/js/conf/home/store/dag/state.js @@ -18,7 +18,7 @@ import localStore from '@/module/util/localStorage' // Get the name of the item currently clicked -let projectName = localStore.getItem('projectName') +const projectName = localStore.getItem('projectName') export default { // name @@ -34,7 +34,7 @@ export default { // Timeout alarm timeout: 0, // tenant id - tenantId:-1, + tenantId: -1, // Node location information locations: {}, // Node-to-node connection diff --git a/dolphinscheduler-ui/src/js/conf/home/store/datasource/actions.js b/dolphinscheduler-ui/src/js/conf/home/store/datasource/actions.js index c54a37f706..f8166d610c 100644 --- a/dolphinscheduler-ui/src/js/conf/home/store/datasource/actions.js +++ b/dolphinscheduler-ui/src/js/conf/home/store/datasource/actions.js @@ -27,7 +27,7 @@ export default { */ createDatasources ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`datasources/create`, payload, res => { + io.post('datasources/create', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -40,7 +40,7 @@ export default { */ connectDatasources ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`datasources/connect`, payload, res => { + io.post('datasources/connect', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -53,7 +53,7 @@ export default { */ getDatasourcesList ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`datasources/list`, payload, res => { + io.get('datasources/list', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -68,7 +68,7 @@ export default { */ getDatasourcesListP ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`datasources/list-paging`, payload, res => { + io.get('datasources/list-paging', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -80,7 +80,7 @@ export default { */ deleteDatasource ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`datasources/delete`, payload, res => { + io.get('datasources/delete', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -92,7 +92,7 @@ export default { */ updateDatasource ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`datasources/update`, payload, res => { + io.post('datasources/update', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -101,7 +101,7 @@ export default { }, getEditDatasource ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`datasources/update-ui`, payload, res => { + io.post('datasources/update-ui', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -110,7 +110,7 @@ export default { }, verifyName ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`datasources/verify-name`, payload, res => { + io.get('datasources/verify-name', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -119,7 +119,7 @@ export default { }, getKerberosStartupState ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`datasources/kerberos-startup-state`, payload, res => { + io.get('datasources/kerberos-startup-state', payload, res => { resolve(res.data) }).catch(e => { reject(e) diff --git a/dolphinscheduler-ui/src/js/conf/home/store/monitor/actions.js b/dolphinscheduler-ui/src/js/conf/home/store/monitor/actions.js index 1b2e2b8471..8380d12712 100644 --- a/dolphinscheduler-ui/src/js/conf/home/store/monitor/actions.js +++ b/dolphinscheduler-ui/src/js/conf/home/store/monitor/actions.js @@ -20,7 +20,7 @@ import io from '@/module/io' export default { getMasterData ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`monitor/master/list`, payload, res => { + io.get('monitor/master/list', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -29,7 +29,7 @@ export default { }, getWorkerData ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`monitor/worker/list`, payload, res => { + io.get('monitor/worker/list', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -38,7 +38,7 @@ export default { }, getDatabaseData ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`monitor/database`, payload, res => { + io.get('monitor/database', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -47,7 +47,7 @@ export default { }, getZookeeperData ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`monitor/zookeeper/list`, payload, res => { + io.get('monitor/zookeeper/list', payload, res => { resolve(res.data) }).catch(e => { reject(e) diff --git a/dolphinscheduler-ui/src/js/conf/home/store/projects/actions.js b/dolphinscheduler-ui/src/js/conf/home/store/projects/actions.js index cae76b2016..43273de9e2 100644 --- a/dolphinscheduler-ui/src/js/conf/home/store/projects/actions.js +++ b/dolphinscheduler-ui/src/js/conf/home/store/projects/actions.js @@ -23,7 +23,7 @@ export default { */ getProjectsList ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`projects/list-paging`, payload, res => { + io.get('projects/list-paging', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -35,7 +35,7 @@ export default { */ createProjects ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`projects/create`, payload, res => { + io.post('projects/create', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -47,7 +47,7 @@ export default { */ deleteProjects ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`projects/delete`, payload, res => { + io.get('projects/delete', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -59,7 +59,7 @@ export default { */ updateProjects ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`projects/update`, payload, res => { + io.post('projects/update', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -71,7 +71,7 @@ export default { */ getTaskCtatusCount ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`projects/analysis/task-state-count`, payload, res => { + io.get('projects/analysis/task-state-count', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -83,7 +83,7 @@ export default { */ getCommandStateCount ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`projects/analysis/command-state-count`, payload, res => { + io.get('projects/analysis/command-state-count', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -95,7 +95,7 @@ export default { */ getQueueCount ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`projects/analysis/queue-count`, payload, res => { + io.get('projects/analysis/queue-count', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -107,7 +107,7 @@ export default { */ getProcessStateCount ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`projects/analysis/process-state-count`, payload, res => { + io.get('projects/analysis/process-state-count', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -119,7 +119,7 @@ export default { */ getDefineUserCount ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`projects/analysis/define-user-count`, payload, res => { + io.get('projects/analysis/define-user-count', payload, res => { resolve(res) }).catch(e => { reject(e) diff --git a/dolphinscheduler-ui/src/js/conf/home/store/resource/actions.js b/dolphinscheduler-ui/src/js/conf/home/store/resource/actions.js index c27c6d0ceb..b3b80a65ef 100755 --- a/dolphinscheduler-ui/src/js/conf/home/store/resource/actions.js +++ b/dolphinscheduler-ui/src/js/conf/home/store/resource/actions.js @@ -23,7 +23,7 @@ export default { */ getResourcesListP ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`resources/list-paging`, payload, res => { + io.get('resources/list-paging', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -32,7 +32,7 @@ export default { }, getResourceId ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`resources/queryResource`, payload, res => { + io.get('resources/queryResource', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -41,7 +41,7 @@ export default { }, getResourcesList ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`resources/list`, payload, res => { + io.get('resources/list', payload, res => { resolve(res) }).catch(res => { reject(res) @@ -53,7 +53,7 @@ export default { */ deleteResource ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`resources/delete`, payload, res => { + io.get('resources/delete', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -65,7 +65,7 @@ export default { */ resourceVerifyName ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`resources/verify-name`, payload, res => { + io.get('resources/verify-name', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -77,7 +77,7 @@ export default { */ getViewResources ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`resources/view`, payload, res => { + io.get('resources/view', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -89,7 +89,7 @@ export default { */ createUdfFunc ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`resources/udf-func/create`, payload, res => { + io.post('resources/udf-func/create', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -101,7 +101,7 @@ export default { */ updateUdfFunc ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`resources/udf-func/update`, payload, res => { + io.post('resources/udf-func/update', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -113,7 +113,7 @@ export default { */ verifyUdfFuncName ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`resources/udf-func/verify-name`, payload, res => { + io.get('resources/udf-func/verify-name', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -126,7 +126,7 @@ export default { */ deleteUdf ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`resources/udf-func/delete`, payload, res => { + io.get('resources/udf-func/delete', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -138,7 +138,7 @@ export default { */ getUdfFuncListP ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`resources/udf-func/list-paging`, payload, res => { + io.get('resources/udf-func/list-paging', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -150,7 +150,7 @@ export default { */ updateContent ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`resources/update-content`, payload, res => { + io.post('resources/update-content', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -162,7 +162,7 @@ export default { */ createResourceFile ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`resources/online-create`, payload, res => { + io.post('resources/online-create', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -174,7 +174,7 @@ export default { */ createResourceFolder ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`resources/directory/create`, payload, res => { + io.post('resources/directory/create', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -186,7 +186,7 @@ export default { */ resourceRename ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`resources/update`, payload, res => { + io.post('resources/update', payload, res => { resolve(res) }).catch(e => { reject(e) diff --git a/dolphinscheduler-ui/src/js/conf/home/store/security/actions.js b/dolphinscheduler-ui/src/js/conf/home/store/security/actions.js index bba7f975b2..94e8a69605 100644 --- a/dolphinscheduler-ui/src/js/conf/home/store/security/actions.js +++ b/dolphinscheduler-ui/src/js/conf/home/store/security/actions.js @@ -25,7 +25,7 @@ export default { * @param tenant/verifyTenantCode */ verifyName ({ state }, payload) { - let o = { + const o = { user: { param: { userName: payload.userName @@ -47,7 +47,7 @@ export default { } return new Promise((resolve, reject) => { - io.get(o[payload.type]['api'], o[payload.type]['param'], res => { + io.get(o[payload.type].api, o[payload.type].param, res => { resolve(res) }).catch(e => { reject(e) @@ -64,7 +64,7 @@ export default { */ createUser ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`users/create`, payload, res => { + io.post('users/create', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -77,7 +77,7 @@ export default { */ verifyUserName ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`users/verify-user-name`, payload, res => { + io.post('users/verify-user-name', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -92,7 +92,7 @@ export default { */ getUsersListP ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`users/list-paging`, payload, res => { + io.get('users/list-paging', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -104,7 +104,7 @@ export default { */ getUsersList ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`users/list`, payload, res => { + io.get('users/list', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -116,7 +116,7 @@ export default { */ getUsersAll ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`users/list-all`, payload, res => { + io.get('users/list-all', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -134,7 +134,7 @@ export default { */ updateUser ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`users/update`, payload, res => { + io.post('users/update', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -147,7 +147,7 @@ export default { */ deleteUser ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`users/delete`, payload, res => { + io.post('users/delete', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -158,12 +158,12 @@ export default { * Obtain authorized and unauthorized items */ getAuthList ({ state }, payload) { - let o = { + const o = { type: payload.type, category: payload.category } - let param = {} + const param = {} // Manage user if (o.type === 'user') { param.alertgroupId = payload.id @@ -197,12 +197,12 @@ export default { }, getResourceList ({ state }, payload) { - let o = { + const o = { type: payload.type, category: payload.category } - let param = {} + const param = {} // Manage user if (o.type === 'user') { param.alertgroupId = payload.id @@ -254,7 +254,7 @@ export default { */ getUsersDetails ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`users/select-by-id`, payload, res => { + io.post('users/select-by-id', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -266,7 +266,7 @@ export default { */ getTenantListP ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`tenant/list-paging`, payload, res => { + io.get('tenant/list-paging', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -278,8 +278,8 @@ export default { */ getTenantList ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`tenant/list`, payload, res => { - let list=res.data + io.get('tenant/list', payload, res => { + const list = res.data list.unshift({ id: -1, tenantName: 'Default' @@ -296,7 +296,7 @@ export default { */ getQueueList ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`queue/list`, payload, res => { + io.get('queue/list', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -308,7 +308,7 @@ export default { */ createQueue ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`tenant/create`, payload, res => { + io.post('tenant/create', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -320,7 +320,7 @@ export default { */ updateQueue ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`tenant/update`, payload, res => { + io.post('tenant/update', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -332,7 +332,7 @@ export default { */ deleteQueue ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`tenant/delete`, payload, res => { + io.post('tenant/delete', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -344,7 +344,7 @@ export default { */ getAlertgroupP ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`alert-group/list-paging`, payload, res => { + io.get('alert-group/list-paging', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -356,7 +356,7 @@ export default { */ getAlertgroup ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`alert-group/list`, payload, res => { + io.get('alert-group/list', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -368,7 +368,7 @@ export default { */ createAlertgrou ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`alert-group/create`, payload, res => { + io.post('alert-group/create', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -380,7 +380,7 @@ export default { */ updateAlertgrou ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`alert-group/update`, payload, res => { + io.post('alert-group/update', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -392,7 +392,7 @@ export default { */ deleteAlertgrou ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`alert-group/delete`, payload, res => { + io.post('alert-group/delete', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -404,7 +404,7 @@ export default { */ getProcessMasterList ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`process/master/list`, payload, res => { + io.get('process/master/list', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -416,7 +416,7 @@ export default { */ getProcessWorkerList ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`process/worker/list`, payload, res => { + io.get('process/worker/list', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -428,7 +428,7 @@ export default { */ getQueueListP ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`queue/list-paging`, payload, res => { + io.get('queue/list-paging', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -440,7 +440,7 @@ export default { */ createQueueQ ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`queue/create`, payload, res => { + io.post('queue/create', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -452,7 +452,7 @@ export default { */ updateQueueQ ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`queue/update`, payload, res => { + io.post('queue/update', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -464,7 +464,7 @@ export default { */ verifyQueueQ ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`queue/verify-queue`, payload, res => { + io.post('queue/verify-queue', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -476,7 +476,7 @@ export default { */ getWorkerGroups ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`worker-group/list-paging`, payload, res => { + io.get('worker-group/list-paging', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -488,10 +488,10 @@ export default { */ getWorkerGroupsAll ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`worker-group/all-groups`, payload, res => { + io.get('worker-group/all-groups', payload, res => { let list = res.data - if(list.length>0) { - list = list.map(item=>{ + if (list.length > 0) { + list = list.map(item => { return { id: item, name: item @@ -512,7 +512,7 @@ export default { }, saveWorkerGroups ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`worker-group/save`, payload, res => { + io.post('worker-group/save', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -521,7 +521,7 @@ export default { }, deleteWorkerGroups ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`worker-group/delete-by-id`, payload, res => { + io.get('worker-group/delete-by-id', payload, res => { resolve(res) }).catch(e => { reject(e) diff --git a/dolphinscheduler-ui/src/js/conf/home/store/security/state.js b/dolphinscheduler-ui/src/js/conf/home/store/security/state.js index cbb67a1823..f3533265a9 100644 --- a/dolphinscheduler-ui/src/js/conf/home/store/security/state.js +++ b/dolphinscheduler-ui/src/js/conf/home/store/security/state.js @@ -16,5 +16,5 @@ */ export default { workerGroupsListAll: [], - tenantAllList : [] + tenantAllList: [] } diff --git a/dolphinscheduler-ui/src/js/conf/home/store/user/actions.js b/dolphinscheduler-ui/src/js/conf/home/store/user/actions.js index 951d9a0814..57b4641e1d 100644 --- a/dolphinscheduler-ui/src/js/conf/home/store/user/actions.js +++ b/dolphinscheduler-ui/src/js/conf/home/store/user/actions.js @@ -23,7 +23,7 @@ export default { */ getUserInfo ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`users/get-user-info`, payload, res => { + io.get('users/get-user-info', payload, res => { state.userInfo = res.data resolve(res.data) }).catch(e => { @@ -35,7 +35,7 @@ export default { * sign out */ signOut () { - io.post(`signOut`, res => { + io.post('signOut', res => { setTimeout(() => { window.location.href = `${PUBLIC_PATH}/view/login/index.html` }, 100) @@ -52,7 +52,7 @@ export default { */ getTokenListP ({ state }, payload) { return new Promise((resolve, reject) => { - io.get(`access-token/list-paging`, payload, res => { + io.get('access-token/list-paging', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -68,7 +68,7 @@ export default { */ createToken ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`access-token/create`, payload, res => { + io.post('access-token/create', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -84,7 +84,7 @@ export default { */ updateToken ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`access-token/update`, payload, res => { + io.post('access-token/update', payload, res => { resolve(res) }).catch(e => { reject(e) @@ -99,7 +99,7 @@ export default { */ generateToken ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`access-token/generate`, payload, res => { + io.post('access-token/generate', payload, res => { resolve(res.data) }).catch(e => { reject(e) @@ -113,7 +113,7 @@ export default { */ deleteToken ({ state }, payload) { return new Promise((resolve, reject) => { - io.post(`access-token/delete`, payload, res => { + io.post('access-token/delete', payload, res => { resolve(res) }).catch(e => { reject(e) diff --git a/dolphinscheduler-ui/src/js/conf/login/index.js b/dolphinscheduler-ui/src/js/conf/login/index.js index d8f938d926..d9b93539bb 100644 --- a/dolphinscheduler-ui/src/js/conf/login/index.js +++ b/dolphinscheduler-ui/src/js/conf/login/index.js @@ -25,7 +25,7 @@ import 'ans-ui/lib/ans-ui.min.css' import ans from 'ans-ui/lib/ans-ui.min' import 'sass/conf/login/index.scss' -import'bootstrap/dist/js/bootstrap.min.js' +import 'bootstrap/dist/js/bootstrap.min.js' Vue.use(ans) @@ -41,7 +41,7 @@ new Vue({ }, methods: { initApp () { - let bootstrapTooltip = $.fn.tooltip.noConflict() + const bootstrapTooltip = $.fn.tooltip.noConflict() $.fn.tooltip = bootstrapTooltip $('body').tooltip({ selector: '[data-toggle="tooltip"]', diff --git a/dolphinscheduler-ui/src/js/module/ana-charts/common.js b/dolphinscheduler-ui/src/js/module/ana-charts/common.js index d02aa03f1c..018f63849e 100755 --- a/dolphinscheduler-ui/src/js/module/ana-charts/common.js +++ b/dolphinscheduler-ui/src/js/module/ana-charts/common.js @@ -52,7 +52,7 @@ function getChartContainers (el) { throw new Error('No corresponding DOM object found!') } let list - if (HTMLElement.prototype.isPrototypeOf(el)) { + if (Object.prototype.isPrototypeOf.call(HTMLElement.prototype, el)) { list = new Array(el) } else { list = Array.from(el) @@ -70,7 +70,7 @@ function getChartContainers (el) { */ export const checkKeyInModel = (model, ...params) => { for (const key of params) { - if (!model.hasOwnProperty(key)) { + if (!Object.prototype.hasOwnProperty.call(model, key)) { throw new Error('Data format error! The specified property was not found:' + key) } } diff --git a/dolphinscheduler-ui/src/js/module/ana-charts/index.js b/dolphinscheduler-ui/src/js/module/ana-charts/index.js index 2781d16389..8189cca762 100755 --- a/dolphinscheduler-ui/src/js/module/ana-charts/index.js +++ b/dolphinscheduler-ui/src/js/module/ana-charts/index.js @@ -55,7 +55,7 @@ const Chart = { // Corresponding methods for injection of different components for (const key in components) { - if (components.hasOwnProperty(key)) { + if (Object.prototype.hasOwnProperty.call(components, key)) { Chart[key.toLowerCase()] = (el, data, options) => { return init(components[key], el, data, options) } diff --git a/dolphinscheduler-ui/src/js/module/ana-charts/packages/bar/index.js b/dolphinscheduler-ui/src/js/module/ana-charts/packages/bar/index.js index 26107cc3b2..42639fd561 100755 --- a/dolphinscheduler-ui/src/js/module/ana-charts/packages/bar/index.js +++ b/dolphinscheduler-ui/src/js/module/ana-charts/packages/bar/index.js @@ -242,7 +242,7 @@ export default class Bar extends Base { } = this.settings const valueAxis = { type: 'value' } let yAxisModel = reverseAxis ? xAxis : valueAxis - let xAxisModel = reverseAxis ? valueAxis : xAxis + const xAxisModel = reverseAxis ? valueAxis : xAxis // Use custom Y-axis overlay if (yAxis) { yAxisModel = yAxis @@ -267,7 +267,7 @@ export default class Bar extends Base { // time axis if (timelineOptions) { - let opts = { + const opts = { baseOption: { timeline: timelineOptions.timeline, tooltip: { @@ -296,7 +296,7 @@ export default class Bar extends Base { // When the simple chart title is empty, the chart is vertically centered const top = !title && this.simple ? '3%' : 60 - let opts = { + const opts = { title: { text: title }, diff --git a/dolphinscheduler-ui/src/js/module/ana-charts/packages/funnel/index.js b/dolphinscheduler-ui/src/js/module/ana-charts/packages/funnel/index.js index 3bf1741a47..5a5e243ad9 100755 --- a/dolphinscheduler-ui/src/js/module/ana-charts/packages/funnel/index.js +++ b/dolphinscheduler-ui/src/js/module/ana-charts/packages/funnel/index.js @@ -118,10 +118,10 @@ export default class Funnel extends Base { * Drawing charts */ apply () { - let { title, series, legendData } = this.options + const { title, series, legendData } = this.options // Injection configuration to series - let { insertSeries } = this.settings + const { insertSeries } = this.settings let _series = series if (insertSeries && insertSeries.length && series.length) { _series = this.injectDataIntoSeries(insertSeries, _series) diff --git a/dolphinscheduler-ui/src/js/module/ana-charts/packages/line/index.js b/dolphinscheduler-ui/src/js/module/ana-charts/packages/line/index.js index 2c1140efbf..94ebc84412 100755 --- a/dolphinscheduler-ui/src/js/module/ana-charts/packages/line/index.js +++ b/dolphinscheduler-ui/src/js/module/ana-charts/packages/line/index.js @@ -162,7 +162,7 @@ export default class Line extends Base { } = this.settings const valueAxis = { type: 'value' } let yAxisModel = reverseAxis ? xAxis : valueAxis - let xAxisModel = reverseAxis ? valueAxis : xAxis + const xAxisModel = reverseAxis ? valueAxis : xAxis // Use custom Y-axis overlay if (yAxis) { yAxisModel = yAxis @@ -175,7 +175,7 @@ export default class Line extends Base { _series = this.injectDataIntoSeries(insertSeries, _series) } - let opts = { + const opts = { title: { text: title }, diff --git a/dolphinscheduler-ui/src/js/module/ana-charts/packages/pie/index.js b/dolphinscheduler-ui/src/js/module/ana-charts/packages/pie/index.js index be4d351622..f39f90b70f 100755 --- a/dolphinscheduler-ui/src/js/module/ana-charts/packages/pie/index.js +++ b/dolphinscheduler-ui/src/js/module/ana-charts/packages/pie/index.js @@ -60,8 +60,8 @@ export default class Pie extends Base { checkKeyInModel(data[0], textKey, dataKey) const legendData = [] - let radius = ring ? ['50%', '70%'] : '60%' - let center = title ? ['50%', '60%'] : ['50%', '50%'] + const radius = ring ? ['50%', '70%'] : '60%' + const center = title ? ['50%', '60%'] : ['50%', '50%'] const series = [{ radius: radius, center: center, @@ -88,16 +88,16 @@ export default class Pie extends Base { * Drawing charts */ apply () { - let { title, series, legendData } = this.options + const { title, series, legendData } = this.options // Injection configuration to series - let { insertSeries } = this.settings + const { insertSeries } = this.settings let _series = series if (insertSeries && insertSeries.length && series.length) { _series = this.injectDataIntoSeries(insertSeries, _series) } - let opts = { + const opts = { title: { text: title, x: 'center' diff --git a/dolphinscheduler-ui/src/js/module/ana-charts/packages/radar/index.js b/dolphinscheduler-ui/src/js/module/ana-charts/packages/radar/index.js index b7f1fb7189..375dd1caf9 100755 --- a/dolphinscheduler-ui/src/js/module/ana-charts/packages/radar/index.js +++ b/dolphinscheduler-ui/src/js/module/ana-charts/packages/radar/index.js @@ -87,7 +87,7 @@ export default class Radar extends Base { targetSeries._raw.push(data[i]) // index - let targetIndicator = indicator.find(i => i.name === textItem) + const targetIndicator = indicator.find(i => i.name === textItem) if (!targetIndicator) { indicator.push({ name: textItem }) } diff --git a/dolphinscheduler-ui/src/js/module/ana-charts/packages/scatter/index.js b/dolphinscheduler-ui/src/js/module/ana-charts/packages/scatter/index.js index d62dcecd4b..d6c09ee474 100755 --- a/dolphinscheduler-ui/src/js/module/ana-charts/packages/scatter/index.js +++ b/dolphinscheduler-ui/src/js/module/ana-charts/packages/scatter/index.js @@ -120,7 +120,7 @@ export default class Scatter extends Base { apply () { const { title, series, legendData = [] } = this.options - let { + const { // Custom X axis xAxis, // Custom Y axis diff --git a/dolphinscheduler-ui/src/js/module/axios/querystring.js b/dolphinscheduler-ui/src/js/module/axios/querystring.js index 16b0cbc1fb..7ac580c4df 100755 --- a/dolphinscheduler-ui/src/js/module/axios/querystring.js +++ b/dolphinscheduler-ui/src/js/module/axios/querystring.js @@ -16,45 +16,45 @@ */ /* istanbul ignore next */ var param = function (a) { - var s = [], - rbracket = /\[\]$/, - isArray = function (obj) { - return Object.prototype.toString.call(obj) === '[object Array]' - }, - add = function (k, v) { - v = typeof v === 'function' ? v() : v === null ? '' : v === undefined ? '' : v - s[s.length] = encodeURIComponent(k) + '=' + encodeURIComponent(v) - }, - buildParams = function (prefix, obj) { - var i, len, key + var s = [] + var rbracket = /\[\]$/ + var isArray = function (obj) { + return Object.prototype.toString.call(obj) === '[object Array]' + } + var add = function (k, v) { + v = typeof v === 'function' ? v() : v === null ? '' : v === undefined ? '' : v + s[s.length] = encodeURIComponent(k) + '=' + encodeURIComponent(v) + } + var buildParams = function (prefix, obj) { + var i, len, key - if (prefix) { - if (isArray(obj)) { - for (i = 0, len = obj.length; i < len; i++) { - if (rbracket.test(prefix)) { - add(prefix, obj[i]) - } else { - buildParams(prefix + '[' + (typeof obj[i] === 'object' ? i : '') + ']', obj[i]) - } - } - } else if (obj && String(obj) === '[object Object]') { - for (key in obj) { - buildParams(prefix + '[' + key + ']', obj[key]) - } - } else { - add(prefix, obj) - } - } else if (isArray(obj)) { + if (prefix) { + if (isArray(obj)) { for (i = 0, len = obj.length; i < len; i++) { - add(obj[i].name, obj[i].value) + if (rbracket.test(prefix)) { + add(prefix, obj[i]) + } else { + buildParams(prefix + '[' + (typeof obj[i] === 'object' ? i : '') + ']', obj[i]) + } } - } else { + } else if (obj && String(obj) === '[object Object]') { for (key in obj) { - buildParams(key, obj[key]) + buildParams(prefix + '[' + key + ']', obj[key]) } + } else { + add(prefix, obj) + } + } else if (isArray(obj)) { + for (i = 0, len = obj.length; i < len; i++) { + add(obj[i].name, obj[i].value) + } + } else { + for (key in obj) { + buildParams(key, obj[key]) } - return s } + return s + } return buildParams('', a).join('&').replace(/%20/g, '+') } diff --git a/dolphinscheduler-ui/src/js/module/components/crontab/source/_source/i18n/index.js b/dolphinscheduler-ui/src/js/module/components/crontab/source/_source/i18n/index.js index baac1b189b..12bf6a18c7 100755 --- a/dolphinscheduler-ui/src/js/module/components/crontab/source/_source/i18n/index.js +++ b/dolphinscheduler-ui/src/js/module/components/crontab/source/_source/i18n/index.js @@ -25,4 +25,3 @@ export default { } } } - diff --git a/dolphinscheduler-ui/src/js/module/components/crontab/source/_source/i18n/locale/en_US.js b/dolphinscheduler-ui/src/js/module/components/crontab/source/_source/i18n/locale/en_US.js index 1db86ebb08..ce067ffcf6 100755 --- a/dolphinscheduler-ui/src/js/module/components/crontab/source/_source/i18n/locale/en_US.js +++ b/dolphinscheduler-ui/src/js/module/components/crontab/source/_source/i18n/locale/en_US.js @@ -15,62 +15,62 @@ * limitations under the License. */ export default { - '秒': 'second', - '分': 'minute', - '时': 'hour', - '天': 'day', - '月': 'month', - '年': 'year', - '星期一': 'Monday', - '星期二': 'Tuesday', - '星期三': 'Wednesday', - '星期四': 'Thursday', - '星期五': 'Friday', - '星期六': 'Saturday', - '星期天': 'Sunday', - '每一秒钟': 'Every second', - '每隔': 'Every', + 秒: 'second', + 分: 'minute', + 时: 'hour', + 天: 'day', + 月: 'month', + 年: 'year', + 星期一: 'Monday', + 星期二: 'Tuesday', + 星期三: 'Wednesday', + 星期四: 'Thursday', + 星期五: 'Friday', + 星期六: 'Saturday', + 星期天: 'Sunday', + 每一秒钟: 'Every second', + 每隔: 'Every', '秒执行 从': 'second carried out', - '秒开始': 'Start', + 秒开始: 'Start', '具体秒数(可多选)': 'Specific second(multiple)', - '请选择具体秒数': 'Please enter a specific second', - '周期从': 'Cycle from', - '到': 'to', - '每一分钟': 'Every minute', + 请选择具体秒数: 'Please enter a specific second', + 周期从: 'Cycle from', + 到: 'to', + 每一分钟: 'Every minute', '分执行 从': 'minute carried out', - '分开始': 'Start', + 分开始: 'Start', '具体分钟数(可多选)': 'Specific minute(multiple)', - '请选择具体分钟数': 'Please enter a specific minute', - '每一小时': 'Every hour', + 请选择具体分钟数: 'Please enter a specific minute', + 每一小时: 'Every hour', '小时执行 从': 'hour carried out', - '小时开始': 'Start', + 小时开始: 'Start', '具体小时数(可多选)': 'Specific hour(multiple)', - '请选择具体小时数': 'Please enter a hour', - '每一天': 'Every day', + 请选择具体小时数: 'Please enter a hour', + 每一天: 'Every day', '周执行 从': 'week carried out', - '开始': 'Start', + 开始: 'Start', '天执行 从': 'day carried out', - '天开始': 'Start', + 天开始: 'Start', '具体星期几(可多选)': 'Specific day of the week(multiple)', - '请选择具体周几': 'Please enter a week', + 请选择具体周几: 'Please enter a week', '具体天数(可多选)': 'Specific days(multiple)', - '请选择具体天数': 'Please enter a days', - '在这个月的最后一天': 'On the last day of the month', - '在这个月的最后一个工作日': 'On the last working day of the month', - '在这个月的最后一个': 'At the last of this month', - '在本月底前': 'Before the end of this month', + 请选择具体天数: 'Please enter a days', + 在这个月的最后一天: 'On the last day of the month', + 在这个月的最后一个工作日: 'On the last working day of the month', + 在这个月的最后一个: 'At the last of this month', + 在本月底前: 'Before the end of this month', '最近的工作日(周一至周五)至本月': 'The most recent business day (Monday to Friday) to this month', - '在这个月的第': 'In this months', - '每一月': 'Every month', + 在这个月的第: 'In this months', + 每一月: 'Every month', '月执行 从': 'month carried out', - '月开始': 'Start', + 月开始: 'Start', '具体月数(可多选)': 'Specific months(multiple)', - '请选择具体月数': 'Please enter a months', - '每一年': 'Every year', + 请选择具体月数: 'Please enter a months', + 每一年: 'Every year', '年执行 从': 'year carried out', - '年开始': 'Start', + 年开始: 'Start', '具体年数(可多选)': 'Specific year(multiple)', - '请选择具体年数': 'Please enter a year', - '小时': 'hour', - '日': 'day' + 请选择具体年数: 'Please enter a year', + 小时: 'hour', + 日: 'day' } diff --git a/dolphinscheduler-ui/src/js/module/components/crontab/source/_source/i18n/locale/zh_CN.js b/dolphinscheduler-ui/src/js/module/components/crontab/source/_source/i18n/locale/zh_CN.js index a38ab50f52..c84939fc59 100755 --- a/dolphinscheduler-ui/src/js/module/components/crontab/source/_source/i18n/locale/zh_CN.js +++ b/dolphinscheduler-ui/src/js/module/components/crontab/source/_source/i18n/locale/zh_CN.js @@ -15,62 +15,62 @@ * limitations under the License. */ export default { - '秒': '秒', - '分': '分', - '时': '时', - '天': '天', - '月': '月', - '年': '年', - '星期一': '星期一', - '星期二': '星期二', - '星期三': '星期三', - '星期四': '星期四', - '星期五': '星期五', - '星期六': '星期六', - '星期天': '星期天', - '每一秒钟': '每一秒钟', - '每隔': '每隔', + 秒: '秒', + 分: '分', + 时: '时', + 天: '天', + 月: '月', + 年: '年', + 星期一: '星期一', + 星期二: '星期二', + 星期三: '星期三', + 星期四: '星期四', + 星期五: '星期五', + 星期六: '星期六', + 星期天: '星期天', + 每一秒钟: '每一秒钟', + 每隔: '每隔', '秒执行 从': '秒执行 从', - '秒开始': '秒开始', + 秒开始: '秒开始', '具体秒数(可多选)': '具体秒数(可多选)', - '请选择具体秒数': '请选择具体秒数', - '周期从': '周期从', - '到': '到', - '每一分钟': '每一分钟', + 请选择具体秒数: '请选择具体秒数', + 周期从: '周期从', + 到: '到', + 每一分钟: '每一分钟', '分执行 从': '分执行 从', - '分开始': '分开始', + 分开始: '分开始', '具体分钟数(可多选)': '具体分钟数(可多选)', - '请选择具体分钟数': '请选择具体分钟数', - '每一小时': '每一小时', + 请选择具体分钟数: '请选择具体分钟数', + 每一小时: '每一小时', '小时执行 从': '小时执行 从', - '小时开始': '小时开始', + 小时开始: '小时开始', '具体小时数(可多选)': '具体小时数(可多选)', - '请选择具体小时数': '请选择具体小时数', - '每一天': '每一天', + 请选择具体小时数: '请选择具体小时数', + 每一天: '每一天', '周执行 从': '周执行 从', - '开始': '开始', + 开始: '开始', '天执行 从': '天执行 从', - '天开始': '天开始', + 天开始: '天开始', '具体星期几(可多选)': '具体星期几(可多选)', - '请选择具体周几': '请选择具体周几', + 请选择具体周几: '请选择具体周几', '具体天数(可多选)': '具体天数(可多选)', - '请选择具体天数': '请选择具体天数', - '在这个月的最后一天': '在这个月的最后一天', - '在这个月的最后一个工作日': '在这个月的最后一个工作日', - '在这个月的最后一个': '在这个月的最后一个', - '在本月底前': '在本月底前', + 请选择具体天数: '请选择具体天数', + 在这个月的最后一天: '在这个月的最后一天', + 在这个月的最后一个工作日: '在这个月的最后一个工作日', + 在这个月的最后一个: '在这个月的最后一个', + 在本月底前: '在本月底前', '最近的工作日(周一至周五)至本月': '最近的工作日(周一至周五)至本月', - '在这个月的第': '在这个月的第', - '每一月': '每一月', + 在这个月的第: '在这个月的第', + 每一月: '每一月', '月执行 从': '月执行 从', - '月开始': '月开始', + 月开始: '月开始', '具体月数(可多选)': '具体月数(可多选)', - '请选择具体月数': '请选择具体月数', - '每一年': '每一年', + 请选择具体月数: '请选择具体月数', + 每一年: '每一年', '年执行 从': '年执行 从', - '年开始': '年开始', + 年开始: '年开始', '具体年数(可多选)': '具体年数(可多选)', - '请选择具体年数': '请选择具体年数', - '小时': '小时', - '日': '日' + 请选择具体年数: '请选择具体年数', + 小时: '小时', + 日: '日' } diff --git a/dolphinscheduler-ui/src/js/module/components/crontab/source/util/index.js b/dolphinscheduler-ui/src/js/module/components/crontab/source/util/index.js index c4a228c900..47f5e34478 100755 --- a/dolphinscheduler-ui/src/js/module/components/crontab/source/util/index.js +++ b/dolphinscheduler-ui/src/js/module/components/crontab/source/util/index.js @@ -23,37 +23,37 @@ import _ from 'lodash' * @param end End value */ const range = (start, end) => { - let length = end - start + 1 + const length = end - start + 1 let step = start - 1 return Array.apply(null, { length: length }).map(function (v, i) { step++; return step }) } -let selectList = { - '60': _.map(range(0, 59), v => { +const selectList = { + 60: _.map(range(0, 59), v => { return { value: v + '', label: v + '' } }), - '24': _.map(range(0, 23), v => { + 24: _.map(range(0, 23), v => { return { value: v + '', label: v + '' } }), - '12': _.map(range(0, 12), v => { + 12: _.map(range(0, 12), v => { return { value: v + '', label: v + '' } }), - 'year': _.map(range(2018, 2030), v => { + year: _.map(range(2018, 2030), v => { return { value: v + '', label: v + '' } }), - 'week': [ + week: [ { value: 1, label: '星期天' @@ -83,7 +83,7 @@ let selectList = { label: '星期六' } ], - 'specificWeek': [ + specificWeek: [ { value: 'SUN', label: 'SUN' @@ -113,13 +113,13 @@ let selectList = { label: 'SAT' } ], - 'day': _.map(range(1, 31), v => { + day: _.map(range(1, 31), v => { return { value: v + '', label: v + '' } }), - 'lastWeeks': [ + lastWeeks: [ { value: '1L', label: '星期天' @@ -161,8 +161,8 @@ const isStr = (str, v) => { const isWeek = (str) => { let flag = false - let data = str.split(',') - let isSpecificWeek = (key) => { + const data = str.split(',') + const isSpecificWeek = (key) => { return _.findIndex(selectList.specificWeek, v => v.value === key) !== -1 } _.map(data, v => { @@ -173,7 +173,6 @@ const isWeek = (str) => { return flag } - /** * template * @@ -206,7 +205,6 @@ const template = (string, ...args) => { }) } - export { selectList, isStr, diff --git a/dolphinscheduler-ui/src/js/module/components/secondaryMenu/_source/menu.js b/dolphinscheduler-ui/src/js/module/components/secondaryMenu/_source/menu.js index 7d6e31b84a..82c9864d2b 100644 --- a/dolphinscheduler-ui/src/js/module/components/secondaryMenu/_source/menu.js +++ b/dolphinscheduler-ui/src/js/module/components/secondaryMenu/_source/menu.js @@ -19,7 +19,7 @@ import i18n from '@/module/i18n' import config from '~/external/config' import Permissions from '@/module/permissions' -let menu = { +const menu = { projects: [ { name: `${i18n.$t('Project Home')}`, @@ -225,7 +225,7 @@ let menu = { icon: 'ans-icon-menu', children: [ { - name: "Statistics", + name: 'Statistics', path: 'statistics', id: 0, disabled: true diff --git a/dolphinscheduler-ui/src/js/module/download/index.js b/dolphinscheduler-ui/src/js/module/download/index.js index d2b30cc14c..552df62e9e 100644 --- a/dolphinscheduler-ui/src/js/module/download/index.js +++ b/dolphinscheduler-ui/src/js/module/download/index.js @@ -19,8 +19,8 @@ import i18n from '@/module/i18n' /** * download file */ -let downloadFile = ($url, $obj) => { - let param = { +const downloadFile = ($url, $obj) => { + const param = { url: $url, obj: $obj } @@ -30,9 +30,9 @@ let downloadFile = ($url, $obj) => { return } - let generatorInput = function (obj) { + const generatorInput = function (obj) { let result = '' - let keyArr = Object.keys(obj) + const keyArr = Object.keys(obj) keyArr.forEach(function (key) { result += "" }) diff --git a/dolphinscheduler-ui/src/js/module/i18n/locale/en_US.js b/dolphinscheduler-ui/src/js/module/i18n/locale/en_US.js index 0e83689149..c0a7b1acb2 100755 --- a/dolphinscheduler-ui/src/js/module/i18n/locale/en_US.js +++ b/dolphinscheduler-ui/src/js/module/i18n/locale/en_US.js @@ -18,11 +18,11 @@ export default { 'User Name': 'User Name', 'Please enter user name': 'Please enter user name', - 'Password': 'Password', + Password: 'Password', 'Please enter your password': 'Please enter your password', 'Password consists of at least two combinations of numbers, letters, and characters, and the length is between 6-22': 'Password consists of at least two combinations of numbers, letters, and characters, and the length is between 6-22', - 'Login': 'Login', - 'Home': 'Home', + Login: 'Login', + Home: 'Home', 'Failed to create node to save': 'Failed to create node to save', 'Global parameters': 'Global parameters', 'Local parameters': 'Local parameters', @@ -36,14 +36,14 @@ export default { 'Node name': 'Node name', 'Please enter name(required)': 'Please enter name(required)', 'Run flag': 'Run flag', - 'Normal': 'Normal', + Normal: 'Normal', 'Prohibition execution': 'Prohibition execution', 'Please enter description': 'Please enter description', 'Number of failed retries': 'Number of failed retries', - 'Times': 'Times', + Times: 'Times', 'Failed retry interval': 'Failed retry interval', - 'Minute': 'Minute', - 'Cancel': 'Cancel', + Minute: 'Minute', + Cancel: 'Cancel', 'Confirm add': 'Confirm add', 'The newly created sub-Process has not yet been executed and cannot enter the sub-Process': 'The newly created sub-Process has not yet been executed and cannot enter the sub-Process', 'The task has not been executed and cannot enter the sub-Process': 'The task has not been executed and cannot enter the sub-Process', @@ -53,7 +53,7 @@ export default { 'Refresh Log': 'Refresh Log', 'Enter full screen': 'Enter full screen', 'Cancel full screen': 'Cancel full screen', - 'Close': 'Close', + Close: 'Close', 'Update log success': 'Update log success', 'No more logs': 'No more logs', 'No log': 'No log', @@ -62,22 +62,23 @@ export default { 'Please enter description(optional)': 'Please enter description(optional)', 'Set global': 'Set global', 'Whether to update the process definition': 'Whether to update the process definition', - 'Add': 'Add', + Add: 'Add', 'DAG graph name cannot be empty': 'DAG graph name cannot be empty', 'Create Datasource': 'Create Datasource', 'Project Home': 'Project Home', 'Project Manage': 'Project', 'Create Project': 'Create Project', 'Cron Manage': 'Cron Manage', + 'Copy Workflow': 'Copy Workflow', 'Tenant Manage': 'Tenant Manage', 'Create Tenant': 'Create Tenant', 'User Manage': 'User Manage', 'Create User': 'Create User', 'User Information': 'User Information', 'Edit Password': 'Edit Password', - 'success': 'success', - 'failed': 'failed', - 'delete': 'delete', + success: 'success', + failed: 'failed', + delete: 'delete', 'Please choose': 'Please choose', 'Please enter a positive integer': 'Please enter a positive integer', 'Program Type': 'Program Type', @@ -88,13 +89,13 @@ export default { 'Please enter Command-line parameters': 'Please enter Command-line parameters', 'Other parameters': 'Other parameters', 'Please enter other parameters': 'Please enter other parameters', - 'Resources': 'Resources', + Resources: 'Resources', 'Custom Parameters': 'Custom Parameters', 'Custom template': 'Custom template', - 'Datasource': 'Datasource', - 'methods': 'methods', + Datasource: 'Datasource', + methods: 'methods', 'Please enter method(optional)': 'Please enter method(optional)', - 'Script': 'Script', + Script: 'Script', 'Please enter script(required)': 'Please enter script(required)', 'Deploy Mode': 'Deploy Mode', 'Driver core number': 'Driver core number', @@ -112,11 +113,11 @@ export default { 'Please enter ExecutorPlease enter Executor core number': 'Please enter ExecutorPlease enter Executor core number', 'Core number should be positive integer': 'Core number should be positive integer', 'SQL Type': 'SQL Type', - 'Title': 'Title', + Title: 'Title', 'Please enter the title of email': 'Please enter the title of email', - 'Table': 'Table', - 'TableMode': 'Table', - 'Attachment': 'Attachment', + Table: 'Table', + TableMode: 'Table', + Attachment: 'Attachment', 'SQL Parameter': 'SQL Parameter', 'SQL Statement': 'SQL Statement', 'UDF Function': 'UDF Function', @@ -127,12 +128,12 @@ export default { 'Mail subject required': 'Mail subject required', 'Child Node': 'Child Node', 'Please select a sub-Process': 'Please select a sub-Process', - 'Edit': 'Edit', + Edit: 'Edit', 'Datasource Name': 'Datasource Name', 'Please enter datasource name': 'Please enter datasource name', - 'IP': 'IP', + IP: 'IP', 'Please enter IP': 'Please enter IP', - 'Port': 'Port', + Port: 'Port', 'Please enter port': 'Please enter port', 'Database Name': 'Database Name', 'Please enter database name': 'Please enter database name', @@ -151,13 +152,13 @@ export default { 'Datasource Parameter': 'Datasource Parameter', 'Create Time': 'Create Time', 'Update Time': 'Update Time', - 'Operation': 'Operation', + Operation: 'Operation', 'Click to view': 'Click to view', 'Delete?': 'Delete?', - 'Confirm': 'Confirm', + Confirm: 'Confirm', 'Task status statistics': 'Task Status Statistics', - 'Number': 'Number', - 'State': 'State', + Number: 'Number', + State: 'State', 'Process Status Statistics': 'Process Status Statistics', 'Process Definition Statistics': 'Process Definition Statistics', 'Project Name': 'Project Name', @@ -165,42 +166,42 @@ export default { 'Owned Users': 'Owned Users', 'Process Pid': 'Process Pid', 'Zk registration directory': 'Zk registration directory', - 'cpuUsage': 'cpuUsage', - 'memoryUsage': 'memoryUsage', + cpuUsage: 'cpuUsage', + memoryUsage: 'memoryUsage', 'Last heartbeat time': 'Last heartbeat time', 'Edit Tenant': 'Edit Tenant', 'Tenant Code': 'Tenant Code', 'Tenant Name': 'Tenant Name', - 'Queue': 'Queue', + Queue: 'Queue', 'Please select a queue': 'Please select a queue', 'Please enter the tenant code in English': 'Please enter the tenant code in English', 'Please enter tenant code in English': 'Please enter tenant code in English', 'Edit User': 'Edit User', - 'Tenant': 'Tenant', - 'Email': 'Email', - 'Phone': 'Phone', + Tenant: 'Tenant', + Email: 'Email', + Phone: 'Phone', 'Please enter phone number': 'Please enter phone number', 'Please enter main class': 'Please enter main class', 'Please enter email': 'Please enter email', 'Please enter the correct email format': 'Please enter the correct email format', 'Please enter the correct mobile phone format': 'Please enter the correct mobile phone format', - 'Project': 'Project', - 'Authorize': 'Authorize', + Project: 'Project', + Authorize: 'Authorize', 'File resources': 'File resources', 'UDF resources': 'UDF resources', 'Please select UDF resources directory': 'Please select UDF resources directory', - 'UDF resources directory' : 'UDF resources directory', + 'UDF resources directory': 'UDF resources directory', 'Upload File Size': 'Upload File size cannot exceed 1g', 'Edit alarm group': 'Edit alarm group', 'Create alarm group': 'Create alarm group', 'Group Name': 'Group Name', 'Please enter group name': 'Please enter group name', 'Group Type': 'Group Type', - 'Remarks': 'Remarks', - 'SMS': 'SMS', + Remarks: 'Remarks', + SMS: 'SMS', 'Managing Users': 'Managing Users', - 'Permission': 'Permission', - 'Administrator': 'Administrator', + Permission: 'Permission', + Administrator: 'Administrator', 'Confirm Password': 'Confirm Password', 'Please enter confirm password': 'Please enter confirm password', 'Password cannot be in Chinese': 'Password cannot be in Chinese', @@ -210,7 +211,7 @@ export default { 'The password is inconsistent with the confirmation password': 'The password is inconsistent with the confirmation password', 'Please select the datasource': 'Please select the datasource', 'Please select resources': 'Please select resources', - 'Query': 'Query', + Query: 'Query', 'Non Query': 'Non Query', 'prop(required)': 'prop(required)', 'value(optional)': 'value(optional)', @@ -220,18 +221,18 @@ export default { 'prop is repeat': 'prop is repeat', 'Start Time': 'Start Time', 'End Time': 'End Time', - 'crontab': 'crontab', + crontab: 'crontab', 'Failure Strategy': 'Failure Strategy', - 'online': 'online', - 'offline': 'offline', + online: 'online', + offline: 'offline', 'Task Status': 'Task Status', 'Process Instance': 'Process Instance', 'Task Instance': 'Task Instance', 'Select date range': 'Select date range', - 'Date': 'Date', - 'waiting': 'waiting', - 'execution': 'execution', - 'finish': 'finish', + Date: 'Date', + waiting: 'waiting', + execution: 'execution', + finish: 'finish', 'Create File': 'Create File', 'Create folder': 'Create folder', 'File Name': 'File Name', @@ -239,13 +240,13 @@ export default { 'File Format': 'File Format', 'Folder Format': 'Folder Format', 'File Content': 'File Content', - 'Create': 'Create', + Create: 'Create', 'Please enter the resource content': 'Please enter the resource content', 'Resource content cannot exceed 3000 lines': 'Resource content cannot exceed 3000 lines', 'File Details': 'File Details', 'Download Details': 'Download Details', - 'Return': 'Return', - 'Save': 'Save', + Return: 'Return', + Save: 'Save', 'File Manage': 'File Manage', 'Upload Files': 'Upload Files', 'Create UDF Function': 'Create UDF Function', @@ -253,22 +254,22 @@ export default { 'Service-Master': 'Service-Master', 'Service-Worker': 'Service-Worker', 'Process Name': 'Process Name', - 'Executor': 'Executor', + Executor: 'Executor', 'Run Type': 'Run Type', 'Scheduling Time': 'Scheduling Time', 'Run Times': 'Run Times', - 'host': 'host', + host: 'host', 'fault-tolerant sign': 'fault-tolerant sign', - 'Rerun': 'Rerun', + Rerun: 'Rerun', 'Recovery Failed': 'Recovery Failed', - 'Stop': 'Stop', - 'Pause': 'Pause', + Stop: 'Stop', + Pause: 'Pause', 'Recovery Suspend': 'Recovery Suspend', - 'Gantt': 'Gantt', - 'Name': 'Name', + Gantt: 'Gantt', + Name: 'Name', 'Node Type': 'Node Type', 'Submit Time': 'Submit Time', - 'Duration': 'Duration', + Duration: 'Duration', 'Retry Count': 'Retry Count', 'Task Name': 'Task Name', 'Task Date': 'Task Date', @@ -276,25 +277,25 @@ export default { 'Record Number': 'Record Number', 'Target Table': 'Target Table', 'Online viewing type is not supported': 'Online viewing type is not supported', - 'Size': 'Size', - 'Rename': 'Rename', - 'Download': 'Download', - 'Export': 'Export', - 'Submit': 'Submit', + Size: 'Size', + Rename: 'Rename', + Download: 'Download', + Export: 'Export', + Submit: 'Submit', 'Edit UDF Function': 'Edit UDF Function', - 'type': 'type', + type: 'type', 'UDF Function Name': 'UDF Function Name', - 'FILE': 'FILE', - 'UDF': 'UDF', + FILE: 'FILE', + UDF: 'UDF', 'File Subdirectory': 'File Subdirectory', 'Please enter a function name': 'Please enter a function name', 'Package Name': 'Package Name', 'Please enter a Package name': 'Please enter a Package name', - 'Parameter': 'Parameter', + Parameter: 'Parameter', 'Please enter a parameter': 'Please enter a parameter', 'UDF Resources': 'UDF Resources', 'Upload Resources': 'Upload Resources', - 'Instructions': 'Instructions', + Instructions: 'Instructions', 'Please enter a instructions': 'Please enter a instructions', 'Please enter a UDF function name': 'Please enter a UDF function name', 'Select UDF Resources': 'Select UDF Resources', @@ -303,52 +304,52 @@ export default { 'Library Name': 'Library Name', 'UDF Resource Name': 'UDF Resource Name', 'File Size': 'File Size', - 'Description': 'Description', + Description: 'Description', 'Drag Nodes and Selected Items': 'Drag Nodes and Selected Items', 'Select Line Connection': 'Select Line Connection', 'Delete selected lines or nodes': 'Delete selected lines or nodes', 'Full Screen': 'Full Screen', - 'Unpublished': 'Unpublished', + Unpublished: 'Unpublished', 'Start Process': 'Start Process', 'Execute from the current node': 'Execute from the current node', 'Recover tolerance fault process': 'Recover tolerance fault process', 'Resume the suspension process': 'Resume the suspension process', 'Execute from the failed nodes': 'Execute from the failed nodes', 'Complement Data': 'Complement Data', - 'slot':'slot', - 'taskManager':'taskManager', - 'jobManagerMemory':'jobManagerMemory', - 'taskManagerMemory':'taskManagerMemory', + slot: 'slot', + taskManager: 'taskManager', + jobManagerMemory: 'jobManagerMemory', + taskManagerMemory: 'taskManagerMemory', 'Scheduling execution': 'Scheduling execution', 'Recovery waiting thread': 'Recovery waiting thread', 'Submitted successfully': 'Submitted successfully', - 'Executing': 'Executing', + Executing: 'Executing', 'Ready to pause': 'Ready to pause', 'Ready to stop': 'Ready to stop', 'Need fault tolerance': 'Need fault tolerance', - 'kill': 'kill', + kill: 'kill', 'Waiting for thread': 'Waiting for thread', 'Waiting for dependence': 'Waiting for dependence', - 'Start': 'Start', - 'Copy': 'Copy', + Start: 'Start', + Copy: 'Copy', 'Copy name': 'Copy name', - 'Delete': 'Delete', + Delete: 'Delete', 'Please enter keyword': 'Please enter keyword', 'File Upload': 'File Upload', 'Drag the file into the current upload window': 'Drag the file into the current upload window', 'Drag area upload': 'Drag area upload', - 'Upload': 'Upload', + Upload: 'Upload', 'Please enter file name': 'Please enter file name', 'Please select the file to upload': 'Please select the file to upload', 'Resources manage': 'Resources', - 'Security': 'Security', - 'Logout': 'Logout', + Security: 'Security', + Logout: 'Logout', 'No data': 'No data', 'Uploading...': 'Uploading...', 'Loading...': 'Loading...', - 'List': 'List', + List: 'List', 'Unable to download without proper url': 'Unable to download without proper url', - 'Process': 'Process', + Process: 'Process', 'Process definition': 'Process definition', 'Task record': 'Task record', 'Warning group manage': 'Warning group manage', @@ -361,13 +362,13 @@ export default { 'Create process': 'Create process', 'Import process': 'Import process', 'Timing state': 'Timing state', - 'Timing': 'Timing', - 'TreeView': 'TreeView', + Timing: 'Timing', + TreeView: 'TreeView', 'Mailbox already exists! Recipients and copyers cannot repeat': 'Mailbox already exists! Recipients and copyers cannot repeat', 'Mailbox input is illegal': 'Mailbox input is illegal', 'Please set the parameters before starting': 'Please set the parameters before starting', - 'Continue': 'Continue', - 'End': 'End', + Continue: 'Continue', + End: 'End', 'Node execution': 'Node execution', 'Backward execution': 'Backward execution', 'Forward execution': 'Forward execution', @@ -375,8 +376,8 @@ export default { 'Notification strategy': 'Notification strategy', 'Notification group': 'Notification group', 'Please select a notification group': 'Please select a notification group', - 'Recipient': 'Recipient', - 'Cc': 'Cc', + Recipient: 'Recipient', + Cc: 'Cc', 'Whether it is a complement process?': 'Whether it is a complement process?', 'Schedule date': 'Schedule date', 'Mode of execution': 'Mode of execution', @@ -386,15 +387,15 @@ export default { 'Start and stop time': 'Start and stop time', 'Please select time': 'Please select time', 'Please enter crontab': 'Please enter crontab', - 'none_1': 'none', - 'success_1': 'success', - 'failure_1': 'failure', - 'All_1': 'All', - 'Toolbar': 'Toolbar', + none_1: 'none', + success_1: 'success', + failure_1: 'failure', + All_1: 'All', + Toolbar: 'Toolbar', 'View variables': 'View variables', 'Format DAG': 'Format DAG', 'Refresh DAG status': 'Refresh DAG status', - 'Return_1': 'Return', + Return_1: 'Return', 'Please enter format': 'Please enter format', 'connection parameter': 'connection parameter', 'Process definition details': 'Process definition details', @@ -404,8 +405,8 @@ export default { 'Create Resource': 'Create Resource', 'User Center': 'User Center', 'Please enter method': 'Please enter method', - 'none': 'none', - 'name': 'name', + none: 'none', + name: 'name', 'Process priority': 'Process priority', 'Task priority': 'Task priority', 'Task timeout alarm': 'Task timeout alarm', @@ -416,36 +417,36 @@ export default { 'Timeout strategy must be selected': 'Timeout strategy must be selected', 'Timeout must be a positive integer': 'Timeout must be a positive integer', 'Add dependency': 'Add dependency', - 'and': 'and', - 'or': 'or', - 'month': 'month', - 'week': 'week', - 'day': 'day', - 'hour': 'hour', - 'Running': 'Running', + and: 'and', + or: 'or', + month: 'month', + week: 'week', + day: 'day', + hour: 'hour', + Running: 'Running', 'Waiting for dependency to complete': 'Waiting for dependency to complete', - 'Selected': 'Selected', - 'Last1Hour': 'Last1Hour', - 'Last2Hours': 'Last2Hours', - 'Last3Hours': 'Last3Hours', - 'today': 'today', - 'Last1Days': 'Last1Days', - 'Last2Days': 'Last2Days', - 'Last3Days': 'Last3Days', - 'Last7Days': 'Last7Days', - 'ThisWeek': 'ThisWeek', - 'LastWeek': 'LastWeek', - 'LastMonday': 'LastMonday', - 'LastTuesday': 'LastTuesday', - 'LastWednesday': 'LastWednesday', - 'LastThursday': 'LastThursday', - 'LastFriday': 'LastFriday', - 'LastSaturday': 'LastSaturday', - 'LastSunday': 'LastSunday', - 'ThisMonth': 'ThisMonth', - 'LastMonth': 'LastMonth', - 'LastMonthBegin': 'LastMonthBegin', - 'LastMonthEnd': 'LastMonthEnd', + Selected: 'Selected', + Last1Hour: 'Last1Hour', + Last2Hours: 'Last2Hours', + Last3Hours: 'Last3Hours', + today: 'today', + Last1Days: 'Last1Days', + Last2Days: 'Last2Days', + Last3Days: 'Last3Days', + Last7Days: 'Last7Days', + ThisWeek: 'ThisWeek', + LastWeek: 'LastWeek', + LastMonday: 'LastMonday', + LastTuesday: 'LastTuesday', + LastWednesday: 'LastWednesday', + LastThursday: 'LastThursday', + LastFriday: 'LastFriday', + LastSaturday: 'LastSaturday', + LastSunday: 'LastSunday', + ThisMonth: 'ThisMonth', + LastMonth: 'LastMonth', + LastMonthBegin: 'LastMonthBegin', + LastMonthEnd: 'LastMonthEnd', 'Refresh status succeeded': 'Refresh status succeeded', 'Queue manage': 'Queue manage', 'Create queue': 'Create queue', @@ -464,21 +465,21 @@ export default { 'Please enter the IP address separated by commas': 'Please enter the IP address separated by commas', 'Note: Multiple IP addresses have been comma separated': 'Note: Multiple IP addresses have been comma separated', 'Failure time': 'Failure time', - 'User': 'User', + User: 'User', 'Please enter token': 'Please enter token', 'Generate token': 'Generate token', - 'Monitor': 'Monitor', - 'Group': 'Group', + Monitor: 'Monitor', + Group: 'Group', 'Queue statistics': 'Queue statistics', 'Command status statistics': 'Command status statistics', 'Task kill': 'Task Kill', 'Task queue': 'Task queue', 'Error command count': 'Error command count', 'Normal command count': 'Normal command count', - 'Manage': ' Manage', + Manage: ' Manage', 'Number of connections': 'Number of connections', - 'Sent': 'Sent', - 'Received': 'Received', + Sent: 'Sent', + Received: 'Received', 'Min latency': 'Min latency', 'Avg latency': 'Avg latency', 'Max latency': 'Max latency', @@ -502,9 +503,9 @@ export default { 'tasks number of waiting running': 'tasks number of waiting running', 'task number of ready to kill': 'task number of ready to kill', 'Statistics manage': 'Statistics Manage', - 'statistics': 'Statistics', - 'select tenant':'select tenant', - 'Please enter Principal':'Please enter Principal', + statistics: 'Statistics', + 'select tenant': 'select tenant', + 'Please enter Principal': 'Please enter Principal', 'The start time must not be the same as the end': 'The start time must not be the same as the end', 'Startup parameter': 'Startup parameter', 'Startup type': 'Startup type', @@ -512,14 +513,14 @@ export default { 'Next five execution times': 'Next five execution times', 'Execute time': 'Execute time', 'Complement range': 'Complement range', - 'Http Url':'Http Url', - 'Http Method':'Http Method', - 'Http Parameters':'Http Parameters', - 'Http Parameters Key':'Http Parameters Key', - 'Http Parameters Position':'Http Parameters Position', - 'Http Parameters Value':'Http Parameters Value', - 'Http Check Condition':'Http Check Condition', - 'Http Condition':'Http Condition', + 'Http Url': 'Http Url', + 'Http Method': 'Http Method', + 'Http Parameters': 'Http Parameters', + 'Http Parameters Key': 'Http Parameters Key', + 'Http Parameters Position': 'Http Parameters Position', + 'Http Parameters Value': 'Http Parameters Value', + 'Http Check Condition': 'Http Check Condition', + 'Http Condition': 'Http Condition', 'Please Enter Http Url': 'Please Enter Http Url(required)', 'Please Enter Http Condition': 'Please Enter Http Condition', 'There is no data for this period of time': 'There is no data for this period of time', @@ -527,18 +528,18 @@ export default { 'Please enter the correct IP': 'Please enter the correct IP', 'Please generate token': 'Please generate token', 'Spark Version': 'Spark Version', - 'TargetDataBase': 'target database', - 'TargetTable': 'target table', + TargetDataBase: 'target database', + TargetTable: 'target table', 'Please enter the table of target': 'Please enter the table of target', 'Please enter a Target Table(required)': 'Please enter a Target Table(required)', - 'SpeedByte': 'speed(byte count)', - 'SpeedRecord': 'speed(record count)', + SpeedByte: 'speed(byte count)', + SpeedRecord: 'speed(record count)', '0 means unlimited by byte': '0 means unlimited', '0 means unlimited by count': '0 means unlimited', 'Modify User': 'Modify User', 'Whether directory': 'Whether directory', - 'Yes': 'Yes', - 'No': 'No', + Yes: 'Yes', + No: 'No', 'Please enter Mysql Database(required)': 'Please enter Mysql Database(required)', 'Please enter Mysql Table(required)': 'Please enter Mysql Table(required)', 'Please enter Columns (Comma separated)': 'Please enter Columns (Comma separated)', @@ -553,34 +554,34 @@ export default { 'Please enter Lines Terminated': 'Please enter Lines Terminated', 'Please enter Concurrency': 'Please enter Concurrency', 'Please enter Update Key': 'Please enter Update Key', - 'Direct': 'Direct', - 'Type': 'Type', - 'ModelType': 'ModelType', - 'ColumnType': 'ColumnType', - 'Database': 'Database', - 'Column': 'Column', + Direct: 'Direct', + Type: 'Type', + ModelType: 'ModelType', + ColumnType: 'ColumnType', + Database: 'Database', + Column: 'Column', 'Map Column Hive': 'Map Column Hive', 'Map Column Java': 'Map Column Java', 'Export Dir': 'Export Dir', 'Hive partition Keys': 'Hive partition Keys', 'Hive partition Values': 'Hive partition Values', - 'FieldsTerminated': 'FieldsTerminated', - 'LinesTerminated': 'LinesTerminated', - 'IsUpdate': 'IsUpdate', - 'UpdateKey': 'UpdateKey', - 'UpdateMode': 'UpdateMode', + FieldsTerminated: 'FieldsTerminated', + LinesTerminated: 'LinesTerminated', + IsUpdate: 'IsUpdate', + UpdateKey: 'UpdateKey', + UpdateMode: 'UpdateMode', 'Target Dir': 'Target Dir', - 'DeleteTargetDir': 'DeleteTargetDir', - 'FileType': 'FileType', - 'CompressionCodec': 'CompressionCodec', - 'CreateHiveTable': 'CreateHiveTable', - 'DropDelimiter': 'DropDelimiter', - 'OverWriteSrc': 'OverWriteSrc', - 'ReplaceDelimiter': 'ReplaceDelimiter', - 'Concurrency': 'Concurrency', - 'Form': 'Form', - 'OnlyUpdate': 'OnlyUpdate', - 'AllowInsert': 'AllowInsert', + DeleteTargetDir: 'DeleteTargetDir', + FileType: 'FileType', + CompressionCodec: 'CompressionCodec', + CreateHiveTable: 'CreateHiveTable', + DropDelimiter: 'DropDelimiter', + OverWriteSrc: 'OverWriteSrc', + ReplaceDelimiter: 'ReplaceDelimiter', + Concurrency: 'Concurrency', + Form: 'Form', + OnlyUpdate: 'OnlyUpdate', + AllowInsert: 'AllowInsert', 'Data Source': 'Data Source', 'Data Target': 'Data Target', 'All Columns': 'All Columns', @@ -589,5 +590,5 @@ export default { 'Cannot select the same node for successful branch flow and failed branch flow': 'Cannot select the same node for successful branch flow and failed branch flow', 'Successful branch flow and failed branch flow are required': 'Successful branch flow and failed branch flow are required', 'Unauthorized or deleted resources': 'Unauthorized or deleted resources', - 'Please delete all non-existent resources': 'Please delete all non-existent resources', + 'Please delete all non-existent resources': 'Please delete all non-existent resources' } diff --git a/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js b/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js index 134ca84a58..0f888e413c 100755 --- a/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js +++ b/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js @@ -18,11 +18,11 @@ export default { 'User Name': '用户名', 'Please enter user name': '请输入用户名', - 'Password': '密码', + Password: '密码', 'Please enter your password': '请输入密码', 'Password consists of at least two combinations of numbers, letters, and characters, and the length is between 6-22': '密码至少包含数字,字母和字符的两种组合,长度在6-22之间', - 'Login': '登录', - 'Home': '首页', + Login: '登录', + Home: '首页', 'Failed to create node to save': '未创建节点保存失败', 'Global parameters': '全局参数', 'Local parameters': '局部参数', @@ -36,14 +36,14 @@ export default { 'Node name': '节点名称', 'Please enter name(required)': '请输入名称(必填)', 'Run flag': '运行标志', - 'Normal': '正常', + Normal: '正常', 'Prohibition execution': '禁止执行', 'Please enter description': '请输入描述', 'Number of failed retries': '失败重试次数', - 'Times': '次', + Times: '次', 'Failed retry interval': '失败重试间隔', - 'Minute': '分', - 'Cancel': '取消', + Minute: '分', + Cancel: '取消', 'Confirm add': '确认添加', 'The newly created sub-Process has not yet been executed and cannot enter the sub-Process': '新创建子工作流还未执行,不能进入子工作流', 'The task has not been executed and cannot enter the sub-Process': '该任务还未执行,不能进入子工作流', @@ -53,7 +53,7 @@ export default { 'Refresh Log': '刷新日志', 'Enter full screen': '进入全屏', 'Cancel full screen': '取消全屏', - 'Close': '关闭', + Close: '关闭', 'Update log success': '更新日志成功', 'No more logs': '暂无更多日志', 'No log': '暂无日志', @@ -62,22 +62,23 @@ export default { 'Please enter description(optional)': '请输入描述(选填)', 'Set global': '设置全局', 'Whether to update the process definition': '是否更新流程定义', - 'Add': '添加', + Add: '添加', 'DAG graph name cannot be empty': 'DAG图名称不能为空', 'Create Datasource': '创建数据源', 'Project Home': '项目首页', 'Project Manage': '项目管理', 'Create Project': '创建项目', 'Cron Manage': '定时管理', + 'Copy Workflow': '复制工作流', 'Tenant Manage': '租户管理', 'Create Tenant': '创建租户', 'User Manage': '用户管理', 'Create User': '创建用户', 'User Information': '用户信息', 'Edit Password': '密码修改', - 'success': '成功', - 'failed': '失败', - 'delete': '删除', + success: '成功', + failed: '失败', + delete: '删除', 'Please choose': '请选择', 'Please enter a positive integer': '请输入正整数', 'Program Type': '程序类型', @@ -88,14 +89,14 @@ export default { 'Please enter Command-line parameters': '请输入命令行参数', 'Other parameters': '其他参数', 'Please enter other parameters': '请输入其他参数', - 'Resources': '资源', + Resources: '资源', 'Custom Parameters': '自定义参数', 'Custom template': '自定义模版', 'Please enter main class': '请填写主函数的class', - 'Datasource': '数据源', - 'methods': '方法', + Datasource: '数据源', + methods: '方法', 'Please enter method(optional)': '请输入方法(选填)', - 'Script': '脚本', + Script: '脚本', 'Please enter script(required)': '请输入脚本(必填)', 'Deploy Mode': '部署方式', 'Driver core number': 'Driver内核数', @@ -113,16 +114,16 @@ export default { 'Please enter ExecutorPlease enter Executor core number': '请填写Executor内核数', 'Core number should be positive integer': '内核数为正整数', 'SQL Type': 'sql类型', - 'Title': '主题', + Title: '主题', 'Please enter the title of email': '请输入邮件主题', - 'Table': '表名', - 'TableMode': '表格', - 'Attachment': '附件', + Table: '表名', + TableMode: '表格', + Attachment: '附件', 'SQL Parameter': 'sql参数', 'SQL Statement': 'sql语句', 'UDF Function': 'UDF函数', - 'FILE': '文件', - 'UDF': 'UDF', + FILE: '文件', + UDF: 'UDF', 'File Subdirectory': '文件子目录', 'Please enter a SQL Statement(required)': '请输入sql语句(必填)', 'Please enter a JSON Statement(required)': '请输入json语句(必填)', @@ -131,12 +132,12 @@ export default { 'Mail subject required': '邮件主题必填', 'Child Node': '子节点', 'Please select a sub-Process': '请选择子工作流', - 'Edit': '编辑', + Edit: '编辑', 'Datasource Name': '数据源名称', 'Please enter datasource name': '请输入数据源名称', - 'IP': 'IP主机名', + IP: 'IP主机名', 'Please enter IP': '请输入IP主机名', - 'Port': '端口', + Port: '端口', 'Please enter port': '请输入端口', 'Database Name': '数据库名', 'Please enter database name': '请输入数据库名', @@ -155,13 +156,13 @@ export default { 'Datasource Parameter': '数据源参数', 'Create Time': '创建时间', 'Update Time': '更新时间', - 'Operation': '操作', + Operation: '操作', 'Click to view': '点击查看', 'Delete?': '确定删除吗?', - 'Confirm': '确定', + Confirm: '确定', 'Task status statistics': '任务状态统计', - 'Number': '数量', - 'State': '状态', + Number: '数量', + State: '状态', 'Process Status Statistics': '流程状态统计', 'Process Definition Statistics': '流程定义统计', 'Project Name': '项目名称', @@ -169,25 +170,25 @@ export default { 'Owned Users': '所属用户', 'Process Pid': '进程pid', 'Zk registration directory': 'zk注册目录', - 'cpuUsage': 'cpuUsage', - 'memoryUsage': 'memoryUsage', + cpuUsage: 'cpuUsage', + memoryUsage: 'memoryUsage', 'Last heartbeat time': '最后心跳时间', 'Edit Tenant': '编辑租户', 'Tenant Code': '租户编码', 'Tenant Name': '租户名称', - 'Queue': '队列', + Queue: '队列', 'Please enter the tenant code in English': '请输入租户编码只允许英文', 'Please enter tenant code in English': '请输入英文租户编码', 'Edit User': '编辑用户', - 'Tenant': '租户', - 'Email': '邮件', - 'Phone': '手机', + Tenant: '租户', + Email: '邮件', + Phone: '手机', 'Please enter phone number': '请输入手机', 'Please enter email': '请输入邮箱', 'Please enter the correct email format': '请输入正确的邮箱格式', 'Please enter the correct mobile phone format': '请输入正确的手机格式', - 'Project': '项目', - 'Authorize': '授权', + Project: '项目', + Authorize: '授权', 'File resources': '文件资源', 'UDF resources': 'UDF资源', 'UDF resources directory': 'UDF资源目录', @@ -197,11 +198,11 @@ export default { 'Group Name': '组名称', 'Please enter group name': '请输入组名称', 'Group Type': '组类型', - 'Remarks': '备注', - 'SMS': '短信', + Remarks: '备注', + SMS: '短信', 'Managing Users': '管理用户', - 'Permission': '权限', - 'Administrator': '管理员', + Permission: '权限', + Administrator: '管理员', 'Confirm Password': '确认密码', 'Please enter confirm password': '请输入确认密码', 'Password cannot be in Chinese': '密码不能为中文', @@ -211,7 +212,7 @@ export default { 'The password is inconsistent with the confirmation password': '密码与确认密码不一致,请重新确认', 'Please select the datasource': '请选择数据源', 'Please select resources': '请选择资源', - 'Query': '查询', + Query: '查询', 'Non Query': '非查询', 'prop(required)': 'prop(必填)', 'value(optional)': 'value(选填)', @@ -221,18 +222,18 @@ export default { 'prop is repeat': 'prop中有重复', 'Start Time': '开始时间', 'End Time': '结束时间', - 'crontab': 'crontab', + crontab: 'crontab', 'Failure Strategy': '失败策略', - 'online': '上线', - 'offline': '下线', + online: '上线', + offline: '下线', 'Task Status': '任务状态', 'Process Instance': '工作流实例', 'Task Instance': '任务实例', 'Select date range': '选择日期区间', - 'Date': '日期', - 'waiting': '等待', - 'execution': '执行中', - 'finish': '完成', + Date: '日期', + waiting: '等待', + execution: '执行中', + finish: '完成', 'Create File': '创建文件', 'Create folder': '创建文件夹', 'File Name': '文件名称', @@ -241,13 +242,13 @@ export default { 'Folder Format': '文件夹格式', 'File Content': '文件内容', 'Upload File Size': '文件大小不能超过1G', - 'Create': '创建', + Create: '创建', 'Please enter the resource content': '请输入资源内容', 'Resource content cannot exceed 3000 lines': '资源内容不能超过3000行', 'File Details': '文件详情', 'Download Details': '下载详情', - 'Return': '返回', - 'Save': '保存', + Return: '返回', + Save: '保存', 'File Manage': '文件管理', 'Upload Files': '上传文件', 'Create UDF Function': '创建UDF函数', @@ -255,22 +256,22 @@ export default { 'Service-Master': '服务管理-Master', 'Service-Worker': '服务管理-Worker', 'Process Name': '工作流名称', - 'Executor': '执行用户', + Executor: '执行用户', 'Run Type': '运行类型', 'Scheduling Time': '调度时间', 'Run Times': '运行次数', - 'host': 'host', + host: 'host', 'fault-tolerant sign': '容错标识', - 'Rerun': '重跑', + Rerun: '重跑', 'Recovery Failed': '恢复失败', - 'Stop': '停止', - 'Pause': '暂停', + Stop: '停止', + Pause: '暂停', 'Recovery Suspend': '恢复运行', - 'Gantt': '甘特图', - 'Name': '名称', + Gantt: '甘特图', + Name: '名称', 'Node Type': '节点类型', 'Submit Time': '提交时间', - 'Duration': '运行时长', + Duration: '运行时长', 'Retry Count': '重试次数', 'Task Name': '任务名称', 'Task Date': '任务日期', @@ -278,22 +279,22 @@ export default { 'Record Number': '记录数', 'Target Table': '目标表', 'Online viewing type is not supported': '不支持在线查看类型', - 'Size': '大小', - 'Rename': '重命名', - 'Download': '下载', - 'Export': '导出', - 'Submit': '提交', + Size: '大小', + Rename: '重命名', + Download: '下载', + Export: '导出', + Submit: '提交', 'Edit UDF Function': '编辑UDF函数', - 'type': '类型', + type: '类型', 'UDF Function Name': 'UDF函数名称', 'Please enter a function name': '请输入函数名', 'Package Name': '包名类名', 'Please enter a Package name': '请输入包名类名', - 'Parameter': '参数', + Parameter: '参数', 'Please enter a parameter': '请输入参数', 'UDF Resources': 'UDF资源', 'Upload Resources': '上传资源', - 'Instructions': '使用说明', + Instructions: '使用说明', 'Please enter a instructions': '请输入使用说明', 'Please enter a UDF function name': '请输入UDF函数名称', 'Select UDF Resources': '请选择UDF资源', @@ -302,12 +303,12 @@ export default { 'Library Name': '库名', 'UDF Resource Name': 'UDF资源名称', 'File Size': '文件大小', - 'Description': '描述', + Description: '描述', 'Drag Nodes and Selected Items': '拖动节点和选中项', 'Select Line Connection': '选择线条连接', 'Delete selected lines or nodes': '删除选中的线或节点', 'Full Screen': '全屏', - 'Unpublished': '未发布', + Unpublished: '未发布', 'Start Process': '启动工作流', 'Execute from the current node': '从当前节点开始执行', 'Recover tolerance fault process': '恢复被容错的工作流', @@ -317,33 +318,33 @@ export default { 'Scheduling execution': '调度执行', 'Recovery waiting thread': '恢复等待线程', 'Submitted successfully': '提交成功', - 'Executing': '正在执行', + Executing: '正在执行', 'Ready to pause': '准备暂停', 'Ready to stop': '准备停止', 'Need fault tolerance': '需要容错', - 'kill': 'kill', + kill: 'kill', 'Waiting for thread': '等待线程', 'Waiting for dependence': '等待依赖', - 'Start': '运行', - 'Copy': '复制节点', + Start: '运行', + Copy: '复制节点', 'Copy name': '复制名称', - 'Delete': '删除', + Delete: '删除', 'Please enter keyword': '请输入关键词', 'File Upload': '文件上传', 'Drag the file into the current upload window': '请将文件拖拽到当前上传窗口内!', 'Drag area upload': '拖动区域上传', - 'Upload': '上传', + Upload: '上传', 'Please enter file name': '请输入文件名', 'Please select the file to upload': '请选择要上传的文件', 'Resources manage': '资源中心', - 'Security': '安全中心', - 'Logout': '退出', + Security: '安全中心', + Logout: '退出', 'No data': '查询无数据', 'Uploading...': '文件上传中', 'Loading...': '正在努力加载中...', - 'List': '列表', + List: '列表', 'Unable to download without proper url': '无下载url无法下载', - 'Process': '工作流', + Process: '工作流', 'Process definition': '工作流定义', 'Task record': '任务记录', 'Warning group manage': '告警组管理', @@ -356,13 +357,13 @@ export default { 'Create process': '创建工作流', 'Import process': '导入工作流', 'Timing state': '定时状态', - 'Timing': '定时', - 'TreeView': '树形图', + Timing: '定时', + TreeView: '树形图', 'Mailbox already exists! Recipients and copyers cannot repeat': '邮箱已存在!收件人和抄送人不能重复', 'Mailbox input is illegal': '邮箱输入不合法', 'Please set the parameters before starting': '启动前请先设置参数', - 'Continue': '继续', - 'End': '结束', + Continue: '继续', + End: '结束', 'Node execution': '节点执行', 'Backward execution': '向后执行', 'Forward execution': '向前执行', @@ -370,8 +371,8 @@ export default { 'Notification strategy': '通知策略', 'Notification group': '通知组', 'Please select a notification group': '请选择通知组', - 'Recipient': '收件人', - 'Cc': '抄送人', + Recipient: '收件人', + Cc: '抄送人', 'Whether it is a complement process?': '是否补数', 'Schedule date': '调度日期', 'Mode of execution': '执行方式', @@ -381,15 +382,15 @@ export default { 'Start and stop time': '起止时间', 'Please select time': '请选择时间', 'Please enter crontab': '请输入crontab', - 'none_1': '都不发', - 'success_1': '成功发', - 'failure_1': '失败发', - 'All_1': '成功或失败都发', - 'Toolbar': '工具栏', + none_1: '都不发', + success_1: '成功发', + failure_1: '失败发', + All_1: '成功或失败都发', + Toolbar: '工具栏', 'View variables': '查看变量', 'Format DAG': '格式化DAG', 'Refresh DAG status': '刷新DAG状态', - 'Return_1': '返回上一节点', + Return_1: '返回上一节点', 'Please enter format': '请输入格式为', 'connection parameter': '连接参数', 'Process definition details': '流程定义详情', @@ -399,8 +400,8 @@ export default { 'Create Resource': '创建资源', 'User Center': '用户中心', 'Please enter method': '请输入方法', - 'none': '无', - 'name': '名称', + none: '无', + name: '名称', 'Process priority': '流程优先级', 'Task priority': '任务优先级', 'Task timeout alarm': '任务超时告警', @@ -411,36 +412,36 @@ export default { 'Timeout strategy must be selected': '超时策略必须选一个', 'Timeout must be a positive integer': '超时时长必须为正整数', 'Add dependency': '添加依赖', - 'and': '且', - 'or': '或', - 'month': '月', - 'week': '周', - 'day': '日', - 'hour': '时', - 'Running': '正在运行', + and: '且', + or: '或', + month: '月', + week: '周', + day: '日', + hour: '时', + Running: '正在运行', 'Waiting for dependency to complete': '等待依赖完成', - 'Selected': '已选', - 'Last1Hour': '前1小时', - 'Last2Hours': '前2小时', - 'Last3Hours': '前3小时', - 'today': '今天', - 'Last1Days': '昨天', - 'Last2Days': '前两天', - 'Last3Days': '前三天', - 'Last7Days': '前七天', - 'ThisWeek': '本周', - 'LastWeek': '上周', - 'LastMonday': '上周一', - 'LastTuesday': '上周二', - 'LastWednesday': '上周三', - 'LastThursday': '上周四', - 'LastFriday': '上周五', - 'LastSaturday': '上周六', - 'LastSunday': '上周日', - 'ThisMonth': '本月', - 'LastMonth': '上月', - 'LastMonthBegin': '上月初', - 'LastMonthEnd': '上月末', + Selected: '已选', + Last1Hour: '前1小时', + Last2Hours: '前2小时', + Last3Hours: '前3小时', + today: '今天', + Last1Days: '昨天', + Last2Days: '前两天', + Last3Days: '前三天', + Last7Days: '前七天', + ThisWeek: '本周', + LastWeek: '上周', + LastMonday: '上周一', + LastTuesday: '上周二', + LastWednesday: '上周三', + LastThursday: '上周四', + LastFriday: '上周五', + LastSaturday: '上周六', + LastSunday: '上周日', + ThisMonth: '本月', + LastMonth: '上月', + LastMonthBegin: '上月初', + LastMonthEnd: '上月末', 'Refresh status succeeded': '刷新状态成功', 'Queue manage': '队列管理', 'Create queue': '创建队列', @@ -459,21 +460,21 @@ export default { 'Please enter the IP address separated by commas': '请输入IP地址多个用英文逗号隔开', 'Note: Multiple IP addresses have been comma separated': '注意:多个IP地址以英文逗号分割', 'Failure time': '失效时间', - 'User': '用户', + User: '用户', 'Please enter token': '请输入令牌', 'Generate token': '生成令牌', - 'Monitor': '监控中心', - 'Group': '分组', + Monitor: '监控中心', + Group: '分组', 'Queue statistics': '队列统计', 'Command status statistics': '命令状态统计', 'Task kill': '等待kill任务', 'Task queue': '等待执行任务', 'Error command count': '错误指令数', 'Normal command count': '正确指令数', - 'Manage': '管理', + Manage: '管理', 'Number of connections': '连接数', - 'Sent': '发送量', - 'Received': '接收量', + Sent: '发送量', + Received: '接收量', 'Min latency': '最低延时', 'Avg latency': '平均延时', 'Max latency': '最大延时', @@ -498,9 +499,9 @@ export default { 'tasks number of waiting running': '待运行任务数', 'task number of ready to kill': '待杀死任务数', 'Statistics manage': '统计管理', - 'statistics': '统计', - 'select tenant':'选择租户', - 'Please enter Principal':'请输入Principal', + statistics: '统计', + 'select tenant': '选择租户', + 'Please enter Principal': '请输入Principal', 'The start time must not be the same as the end': '开始时间和结束时间不能相同', 'Startup parameter': '启动参数', 'Startup type': '启动类型', @@ -508,18 +509,18 @@ export default { 'Next five execution times': '接下来五次执行时间', 'Execute time': '执行时间', 'Complement range': '补数范围', - 'slot':'slot数量', - 'taskManager':'taskManage数量', - 'jobManagerMemory':'jobManager内存数', - 'taskManagerMemory':'taskManager内存数', - 'Http Url':'请求地址', - 'Http Method':'请求类型', - 'Http Parameters':'请求参数', - 'Http Parameters Key':'参数名', - 'Http Parameters Position':'参数位置', - 'Http Parameters Value':'参数值', - 'Http Check Condition':'校验条件', - 'Http Condition':'校验内容', + slot: 'slot数量', + taskManager: 'taskManage数量', + jobManagerMemory: 'jobManager内存数', + taskManagerMemory: 'taskManager内存数', + 'Http Url': '请求地址', + 'Http Method': '请求类型', + 'Http Parameters': '请求参数', + 'Http Parameters Key': '参数名', + 'Http Parameters Position': '参数位置', + 'Http Parameters Value': '参数值', + 'Http Check Condition': '校验条件', + 'Http Condition': '校验内容', 'Please Enter Http Url': '请填写请求地址(必填)', 'Please Enter Http Condition': '请填写校验内容', 'There is no data for this period of time': '该时间段无数据', @@ -527,18 +528,18 @@ export default { 'Please enter the correct IP': '请输入正确的IP', 'Please generate token': '请生成Token', 'Spark Version': 'Spark版本', - 'TargetDataBase': '目标库', - 'TargetTable': '目标表', + TargetDataBase: '目标库', + TargetTable: '目标表', 'Please enter the table of target': '请输入目标表名', 'Please enter a Target Table(required)': '请输入目标表(必填)', - 'SpeedByte': '限流(字节数)', - 'SpeedRecord': '限流(记录数)', + SpeedByte: '限流(字节数)', + SpeedRecord: '限流(记录数)', '0 means unlimited by byte': 'KB,0代表不限制', '0 means unlimited by count': '0代表不限制', 'Modify User': '修改用户', - 'Whether directory' : '是否文件夹', - 'Yes': '是', - 'No': '否', + 'Whether directory': '是否文件夹', + Yes: '是', + No: '否', 'Please enter Mysql Database(required)': '请输入Mysql数据库(必填)', 'Please enter Mysql Table(required)': '请输入Mysql表名(必填)', 'Please enter Columns (Comma separated)': '请输入列名,用 , 隔开', @@ -553,34 +554,34 @@ export default { 'Please enter Lines Terminated': '请输入行分隔符', 'Please enter Concurrency': '请输入并发度', 'Please enter Update Key': '请输入更新列', - 'Direct': '流向', - 'Type': '类型', - 'ModelType': '模式', - 'ColumnType': '列类型', - 'Database': '数据库', - 'Column': '列', + Direct: '流向', + Type: '类型', + ModelType: '模式', + ColumnType: '列类型', + Database: '数据库', + Column: '列', 'Map Column Hive': 'Hive类型映射', 'Map Column Java': 'Java类型映射', 'Export Dir': '数据源路径', 'Hive partition Keys': 'Hive 分区键', 'Hive partition Values': 'Hive 分区值', - 'FieldsTerminated': '列分隔符', - 'LinesTerminated': '行分隔符', - 'IsUpdate': '是否更新', - 'UpdateKey': '更新列', - 'UpdateMode': '更新类型', + FieldsTerminated: '列分隔符', + LinesTerminated: '行分隔符', + IsUpdate: '是否更新', + UpdateKey: '更新列', + UpdateMode: '更新类型', 'Target Dir': '目标路径', - 'DeleteTargetDir': '是否删除目录', - 'FileType': '保存格式', - 'CompressionCodec': '压缩类型', - 'CreateHiveTable': '是否创建新表', - 'DropDelimiter': '是否删除分隔符', - 'OverWriteSrc': '是否覆盖数据源', - 'ReplaceDelimiter': '替换分隔符', - 'Concurrency': '并发度', - 'Form': '表单', - 'OnlyUpdate': '只更新', - 'AllowInsert': '无更新便插入', + DeleteTargetDir: '是否删除目录', + FileType: '保存格式', + CompressionCodec: '压缩类型', + CreateHiveTable: '是否创建新表', + DropDelimiter: '是否删除分隔符', + OverWriteSrc: '是否覆盖数据源', + ReplaceDelimiter: '替换分隔符', + Concurrency: '并发度', + Form: '表单', + OnlyUpdate: '只更新', + AllowInsert: '无更新便插入', 'Data Source': '数据来源', 'Data Target': '数据目的', 'All Columns': '全表导入', @@ -589,5 +590,5 @@ export default { 'Cannot select the same node for successful branch flow and failed branch flow': '成功分支流转和失败分支流转不能选择同一个节点', 'Successful branch flow and failed branch flow are required': '成功分支流转和失败分支流转必填', 'Unauthorized or deleted resources': '未授权或已删除资源', - 'Please delete all non-existent resources': '请删除所有未授权或已删除资源', + 'Please delete all non-existent resources': '请删除所有未授权或已删除资源' } diff --git a/dolphinscheduler-ui/src/js/module/io/index.js b/dolphinscheduler-ui/src/js/module/io/index.js index eedb40e00b..9b806ab59d 100644 --- a/dolphinscheduler-ui/src/js/module/io/index.js +++ b/dolphinscheduler-ui/src/js/module/io/index.js @@ -18,7 +18,6 @@ import io from '@/module/axios/index' import cookies from 'js-cookie' - const apiPrefix = '/dolphinscheduler' const reSlashPrefix = /^\/+/ @@ -73,13 +72,13 @@ io.interceptors.response.use( // Global request interceptor registion io.interceptors.request.use( config => { - let sIdCookie = cookies.get('sessionId') - let sessionId = sessionStorage.getItem("sessionId") - let requstUrl = config.url.substring(config.url.lastIndexOf("/")+1) - if(sIdCookie !== null && requstUrl!=='login' && sIdCookie!=sessionId) { + const sIdCookie = cookies.get('sessionId') + const sessionId = sessionStorage.getItem('sessionId') + const requstUrl = config.url.substring(config.url.lastIndexOf('/') + 1) + if (sIdCookie !== null && requstUrl !== 'login' && sIdCookie !== sessionId) { window.location.href = `${PUBLIC_PATH}/view/login/index.html` } else { - let { method } = config + const { method } = config if (method === 'get') { config.params = Object.assign({}, config.params, { _t: Math.random() diff --git a/dolphinscheduler-ui/src/js/module/mixin/disabledState.js b/dolphinscheduler-ui/src/js/module/mixin/disabledState.js index 4b814a1908..3a2b954232 100644 --- a/dolphinscheduler-ui/src/js/module/mixin/disabledState.js +++ b/dolphinscheduler-ui/src/js/module/mixin/disabledState.js @@ -17,7 +17,6 @@ import store from '@/conf/home/store' import router from '@/conf/home/router' -import Permissions from '@/module/permissions' export default { data () { @@ -28,7 +27,7 @@ export default { } }, created () { - this.isDetails =this.store.state.dag.isDetails// Permissions.getAuth() ? this.store.state.dag.isDetails : true + this.isDetails = this.store.state.dag.isDetails// Permissions.getAuth() ? this.store.state.dag.isDetails : true }, computed: { _isDetails () { diff --git a/dolphinscheduler-ui/src/js/module/mixin/listUrlParamHandle.js b/dolphinscheduler-ui/src/js/module/mixin/listUrlParamHandle.js index 13c54071b3..1e1a7b8bbe 100644 --- a/dolphinscheduler-ui/src/js/module/mixin/listUrlParamHandle.js +++ b/dolphinscheduler-ui/src/js/module/mixin/listUrlParamHandle.js @@ -23,7 +23,7 @@ import { setUrlParams } from '@/module/util/routerUtil' export default { watch: { // watch pageNo - 'searchParams': { + searchParams: { deep: true, handler () { setUrlParams(this.searchParams) @@ -48,8 +48,8 @@ export default { _debounceGET: _.debounce(function (flag) { this._getList(flag) }, 100, { - 'leading': false, - 'trailing': true + leading: false, + trailing: true }) } } diff --git a/dolphinscheduler-ui/src/js/module/permissions/index.js b/dolphinscheduler-ui/src/js/module/permissions/index.js index a604c53d44..21278851ef 100644 --- a/dolphinscheduler-ui/src/js/module/permissions/index.js +++ b/dolphinscheduler-ui/src/js/module/permissions/index.js @@ -19,7 +19,7 @@ import _ from 'lodash' import Vue from 'vue' import store from '@/conf/home/store' -let Permissions = function () { +const Permissions = function () { this.isAuth = true } @@ -44,7 +44,7 @@ Permissions.prototype = { if ($(el).prop('tagName') === 'BUTTON') { $(el).attr('disabled', true) } else { - setTimeout(function(){el.parentNode.removeChild(el)},100) + setTimeout(function () { el.parentNode.removeChild(el) }, 100) } } } diff --git a/dolphinscheduler-ui/src/js/module/util/index.js b/dolphinscheduler-ui/src/js/module/util/index.js index 6b122f9172..5829c80013 100644 --- a/dolphinscheduler-ui/src/js/module/util/index.js +++ b/dolphinscheduler-ui/src/js/module/util/index.js @@ -51,7 +51,7 @@ export function findComponentDownward (context, componentName) { * uuid('v-ani-%{s}-translate') // -> v-ani-xxx */ export function uuid (prefix) { - let id = Math.floor(Math.random() * 10000).toString(36) + const id = Math.floor(Math.random() * 10000).toString(36) return prefix ? ( ~prefix.indexOf('%{s}') ? ( prefix.replace(/%\{s\}/g, id) @@ -59,7 +59,6 @@ export function uuid (prefix) { ) : id } - /** * template * @@ -92,4 +91,3 @@ export function template (string, ...args) { } }) } - diff --git a/dolphinscheduler-ui/src/js/module/util/routerUtil.js b/dolphinscheduler-ui/src/js/module/util/routerUtil.js index c19a8e7609..a4a70520ae 100644 --- a/dolphinscheduler-ui/src/js/module/util/routerUtil.js +++ b/dolphinscheduler-ui/src/js/module/util/routerUtil.js @@ -15,9 +15,6 @@ * limitations under the License. */ -import merge from 'webpack-merge' -import router from '@/conf/home/router' - export function setUrlParams (o) { // router.push({ // query: merge(router.history.current.query, o) diff --git a/dolphinscheduler-ui/src/js/module/util/util.js b/dolphinscheduler-ui/src/js/module/util/util.js index 2cbded3f7b..49e3bb2ee8 100644 --- a/dolphinscheduler-ui/src/js/module/util/util.js +++ b/dolphinscheduler-ui/src/js/module/util/util.js @@ -20,9 +20,9 @@ */ const bytesToSize = (bytes) => { if (bytes === 0) return '0 B' - let k = 1024, // or 1024 - sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'], - i = Math.floor(Math.log(bytes) / Math.log(k)) + const k = 1024 // or 1024 + const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] + const i = Math.floor(Math.log(bytes) / Math.log(k)) return parseInt((bytes / Math.pow(k, i)).toPrecision(3)) + ' ' + sizes[i] } @@ -33,7 +33,7 @@ const bytesToSize = (bytes) => { const isJson = (str) => { if (typeof str === 'string') { try { - let obj = JSON.parse(str) + const obj = JSON.parse(str) if (typeof obj === 'object' && obj) { return true } else { @@ -69,7 +69,6 @@ const syntaxHighlight = (json) => { }) } - export { bytesToSize, isJson, diff --git a/dolphinscheduler-ui/src/lib/external/config.js b/dolphinscheduler-ui/src/lib/external/config.js index 497540be7b..161bbee92e 100644 --- a/dolphinscheduler-ui/src/lib/external/config.js +++ b/dolphinscheduler-ui/src/lib/external/config.js @@ -19,5 +19,5 @@ */ export default { // task record switch - recordSwitch:false + recordSwitch: false } diff --git a/dolphinscheduler-ui/src/lib/external/email.js b/dolphinscheduler-ui/src/lib/external/email.js index 6b10efbf0f..f3f932af6a 100644 --- a/dolphinscheduler-ui/src/lib/external/email.js +++ b/dolphinscheduler-ui/src/lib/external/email.js @@ -14,4 +14,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -export default ["test@analysys.com.cn"] +export default ['test@analysys.com.cn']