Browse Source

fix udfs assignment and task instance page jump #1789 (#1792)

* fix udfs assignment and task instance page jump #1789

* jest add coverage display

* Fix data echo, style, popup cannot be closed and license

* Fix data echo, style, popup cannot be closed and license

* fix
pull/2/head
break60 5 years ago committed by qiaozhanwei
parent
commit
24f362de5a
  1. 18
      dolphinscheduler-ui/.editorconfig
  2. 15
      dolphinscheduler-ui/.env
  3. 14
      dolphinscheduler-ui/_test_/package.json
  4. 100
      dolphinscheduler-ui/build/webpack.config.test.js
  5. 3
      dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/dag.scss
  6. 1
      dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue
  7. 5
      dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/udfs.vue
  8. 2
      dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/servers.scss
  9. 4
      dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/_source/instanceConditions/index.vue
  10. 2
      dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/taskInstance/index.vue
  11. 2
      dolphinscheduler-ui/src/js/module/components/crontab/source/_source/input-number.vue
  12. 6
      dolphinscheduler-ui/src/sass/common/index.scss

18
dolphinscheduler-ui/.editorconfig

@ -1,5 +1,19 @@
# editorconfig.org # Licensed to the Apache Software Foundation (ASF) under one or more
# author: axin # 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.
root = true root = true
[*] [*]

15
dolphinscheduler-ui/.env

@ -1,3 +1,18 @@
# 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.
# back end interface address # back end interface address
API_BASE = http://192.168.xx.xx:12345 API_BASE = http://192.168.xx.xx:12345

14
dolphinscheduler-ui/_test_/package.json

@ -19,12 +19,18 @@
"^@/(.*)$": "<rootDir>/src/$1" "^@/(.*)$": "<rootDir>/src/$1"
}, },
"transform": { "transform": {
"^.+\\.js$": "<rootDir>/node_modules/babel-jest", "^.+\\.js$": "<rootDir>/_test_/node_modules/babel-jest",
".*\\.(vue)$": "<rootDir>/node_modules/vue-jest" ".*\\.(vue)$": "<rootDir>/_test_/node_modules/vue-jest"
}, },
"snapshotSerializers": [ "snapshotSerializers": [
"<rootDir>/node_modules/jest-serializer-vue" "<rootDir>/_test_/node_modules/jest-serializer-vue"
] ],
"collectCoverage": true,
"collectCoverageFrom": [
"src/**/*.{js,vue}",
"!**/node_modules/**"
],
"rootDir": "../"
}, },
"devDependencies": { "devDependencies": {
"@vue/test-utils": "^1.0.0-beta.30", "@vue/test-utils": "^1.0.0-beta.30",

100
dolphinscheduler-ui/build/webpack.config.test.js

@ -1,100 +0,0 @@
/*
* 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.
*/
const webpack = require('webpack')
const merge = require('webpack-merge')
const { baseConfig } = require('./config')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const config = merge.smart(baseConfig, {
devtool: 'inline-source-map',
output: {
filename: 'js/[name].js'
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
hotReload: true // Open hot overload
}
},
{
test: /\.css$/,
loader: ExtractTextPlugin.extract({
use: [
'css-loader',
{
loader: 'postcss-loader',
options: {
plugins: (loader) => [
require('autoprefixer')({
overrideBrowserslist: [
"Android 4.1",
"iOS 7.1",
"Chrome > 31",
"ff > 31",
"ie >= 8"
]
}),
require('cssnano')
]
}
}
],
fallback: ['vue-style-loader']
})
},
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract({
use: [
'css-loader',
'sass-loader',
{
loader: 'postcss-loader',
options: {
plugins: (loader) => [
require('autoprefixer')({
overrideBrowserslist: [
"Android 4.1",
"iOS 7.1",
"Chrome > 31",
"ff > 31",
"ie >= 8"
]
}),
require('cssnano')
]
}
}
],
fallback: ['vue-style-loader']
})
}
]
},
externals: '',
plugins: [
new webpack.HotModuleReplacementPlugin(),
new ExtractTextPlugin({ filename: 'css/[name].css', allChunks: true }),
new webpack.optimize.OccurrenceOrderPlugin()
]
})
module.exports = config

3
dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/dag.scss

@ -157,6 +157,9 @@
background: #F2F3F7; background: #F2F3F7;
position: relative; position: relative;
border-radius: 0 3px 0 0; border-radius: 0 3px 0 0;
.ans-btn-text {
color: #337ab7;
}
.assist-btn { .assist-btn {
position: absolute; position: absolute;
left: 10px; left: 10px;

1
dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue

@ -347,7 +347,6 @@
type: this.taskType, type: this.taskType,
id: this.id, id: this.id,
name: this.name, name: this.name,
params: this.params,
description: this.description, description: this.description,
runFlag: this.runFlag, runFlag: this.runFlag,
dependence: this.dependence, dependence: this.dependence,

5
dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/udfs.vue

@ -24,7 +24,7 @@
v-for="city in udfsList" v-for="city in udfsList"
:key="city.id" :key="city.id"
:value="city.id" :value="city.id"
:label="city.code"> :label="city.code">
</x-option> </x-option>
</x-select> </x-select>
</div> </div>
@ -74,11 +74,12 @@
_.map(udfs, v => { _.map(udfs, v => {
_.map(this.udfsList, v1 => { _.map(this.udfsList, v1 => {
if (parseInt(v) === v1.id) { if (parseInt(v) === v1.id) {
arr.push(v1) arr.push(parseInt(v))
} }
}) })
}) })
this.$nextTick(() => { this.$nextTick(() => {
_.map(_.cloneDeep(this.udfsList), v => v.res)
this.udfsStr = arr this.udfsStr = arr
}) })
} }

2
dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/servers.scss

@ -85,7 +85,7 @@
font-size: 72px; font-size: 72px;
} }
>.state { >.state {
>i { >em {
font-size: 50px; font-size: 50px;
} }
.success { .success {

4
dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/_source/instanceConditions/index.vue

@ -52,10 +52,10 @@
</x-select> </x-select>
</div> </div>
<div class="list"> <div class="list">
<x-input v-model="searchParams.host" @on-enterkey="_ckQuery" style="width: 140px;" size="small" :placeholder="$t('host')"></x-input> <x-input v-model.trim="searchParams.host" @on-enterkey="_ckQuery" style="width: 140px;" size="small" :placeholder="$t('host')"></x-input>
</div> </div>
<div class="list"> <div class="list">
<x-input v-model="searchParams.searchVal" @on-enterkey="_ckQuery" style="width: 200px;" size="small" :placeholder="$t('name')"></x-input> <x-input v-model.trim="searchParams.searchVal" @on-enterkey="_ckQuery" style="width: 200px;" size="small" :placeholder="$t('name')"></x-input>
</div> </div>
</template> </template>
</m-conditions> </m-conditions>

2
dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/taskInstance/index.vue

@ -81,6 +81,7 @@
*/ */
_onQuery (o) { _onQuery (o) {
this.searchParams = _.assign(this.searchParams, o) this.searchParams = _.assign(this.searchParams, o)
this.searchParams.processInstanceId = ''
if (this.searchParams.taskName) { if (this.searchParams.taskName) {
this.searchParams.taskName = '' this.searchParams.taskName = ''
} }
@ -134,6 +135,7 @@
created () { created () {
}, },
mounted () { mounted () {
this.$modal.destroy()
// Cycle acquisition status // Cycle acquisition status
this.setIntervalP = setInterval(() => { this.setIntervalP = setInterval(() => {
this._debounceGET('false') this._debounceGET('false')

2
dolphinscheduler-ui/src/js/module/components/crontab/source/_source/input-number.vue

@ -109,7 +109,7 @@
} }
} }
.ans-input { .ans-input {
width: 60px; width: 80px;
margin:0 -2px 0 -1px; margin:0 -2px 0 -1px;
input { input {
text-align: center; text-align: center;

6
dolphinscheduler-ui/src/sass/common/index.scss

@ -26,7 +26,11 @@
font-weight: 400; font-weight: 400;
} }
} }
.ans-radio {
.ans-radio-inner {
border: 1px solid #B3B3B3;
}
}
.ans-poptip { .ans-poptip {
min-width: 158px; min-width: 158px;
} }

Loading…
Cancel
Save