Skip to content

Commit cf31327

Browse files
committed
first init
0 parents  commit cf31327

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+7170
-0
lines changed

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.DS_Store
2+
node_modules/
3+
dist/
4+
npm-debug.log
5+
yarn-error.log
6+
.deploy
7+
8+
# Editor directories and files
9+
.idea
10+
*.suo
11+
*.ntvs*
12+
*.njsproj
13+
*.sln

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# vue-issue-helper
2+
3+
> Vue issue helper
4+
5+
## Build Setup
6+
7+
``` bash
8+
# install dependencies
9+
yarn
10+
11+
# serve with hot reload at localhost:8080
12+
yarn run dev
13+
```

package.json

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{
2+
"name": "vue-issue-helper",
3+
"description": "Vue issue helper",
4+
"version": "2.0.0",
5+
"author": "Evan You <[email protected]>",
6+
"private": true,
7+
"scripts": {
8+
"dev": "cross-env NODE_ENV=development webpack-dev-server --hot",
9+
"build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
10+
},
11+
"dependencies": {
12+
"@vue/ui": "^0.1.5",
13+
"babel-polyfill": "^6.26.0",
14+
"babel-runtime": "^6.26.0",
15+
"compare-versions": "^3.3.0",
16+
"copy-to-clipboard": "^3.0.8",
17+
"marked": "^0.3.6",
18+
"qs": "^6.5.1",
19+
"remarkable": "^1.7.1",
20+
"vue": "^2.5.13",
21+
"vue-antd-ui": "^0.6.3",
22+
"vue-resource": "^1.3.4"
23+
},
24+
"devDependencies": {
25+
"babel-core": "^6.26.0",
26+
"babel-helper-vue-jsx-merge-props": "^2.0.3",
27+
"babel-loader": "^7.1.2",
28+
"babel-plugin-syntax-jsx": "^6.18.0",
29+
"babel-plugin-transform-runtime": "^6.23.0",
30+
"babel-plugin-transform-vue-jsx": "^3.7.0",
31+
"babel-preset-env": "^1.7.0",
32+
"babel-preset-stage-2": "^6.24.1",
33+
"cross-env": "^5.0.5",
34+
"css-loader": "^0.28.7",
35+
"file-loader": "^1.1.4",
36+
"html-webpack-plugin": "^2.30.1",
37+
"less": "^3.0.1",
38+
"less-loader": "^4.1.0",
39+
"raw-loader": "^1.0.0-beta.0",
40+
"style-loader": "^0.20.2",
41+
"stylus": "^0.54.5",
42+
"stylus-loader": "^3.0.2",
43+
"vue-loader": "^14.1.1",
44+
"vue-template-compiler": "^2.5.13",
45+
"webpack": "^3.6.0",
46+
"webpack-dev-server": "^2.9.1"
47+
}
48+
}

src/assets/images/logo.png

4.08 KB
Loading

src/components/App.vue

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<template>
2+
<div id="app" class="layout ant-layout">
3+
<AppHeader :lang="$lang" @change-lang="setLang"/>
4+
<div class="content">
5+
<FormIntro />
6+
<BugReport />
7+
</div>
8+
<footer class="ant-layout-footer">
9+
<div class="ant-layout-footer" style="text-align: center;">
10+
Inspired by <a href="https://new-issue.vuejs.org/" target="_blank">Vue Issue Helper</a>
11+
· <a href="https://github.com/vueComponent/vue-antd-issue-helper">Source Code</a>
12+
</div>
13+
</footer>
14+
</div>
15+
</template>
16+
17+
<script lang="babel">
18+
import { getQuery, updateQuery } from '../helpers'
19+
20+
import FormIntro from './FormIntro.vue'
21+
import AppHeader from './AppHeader.vue'
22+
import BugReport from './BugReport.vue'
23+
24+
export default {
25+
name: 'App',
26+
27+
components: {
28+
FormIntro,
29+
AppHeader,
30+
BugReport,
31+
},
32+
methods: {
33+
setLang (lang) {
34+
this.$lang = lang
35+
updateQuery({ lang })
36+
},
37+
},
38+
}
39+
</script>
40+
41+
42+
43+

src/components/AppHeader.vue

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<template>
2+
<nav class="header ant-layout-header">
3+
<div class="headerContainer">
4+
<div class="logo">
5+
<img
6+
alt="logo"
7+
src="https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg"
8+
/>
9+
<h1>
10+
Issue Helper
11+
</h1>
12+
</div>
13+
<div class="locale">
14+
<a-button size="small" @click="handleLocaleChange">
15+
{{lang === 'en' ? '中文' : 'English'}}
16+
</a-button>
17+
</div>
18+
</div>
19+
</nav>
20+
</template>
21+
22+
<script>
23+
24+
export default {
25+
props: ['lang'],
26+
methods: {
27+
handleLocaleChange() {
28+
const lang = this.lang === 'en' ? 'zh' : 'en'
29+
this.$emit('change-lang', lang)
30+
}
31+
},
32+
}
33+
</script>

src/components/BugForm.vue

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<script>
2+
import ReproModal from './ReproModal.vue'
3+
4+
export default {
5+
functional: true,
6+
render(createElement, context) {
7+
const { form: { getFieldDecorator }, versions, similarIssues } = context.props;
8+
const { parent } = context
9+
return (
10+
<div>
11+
<a-form-item>
12+
<a-col span={11}>
13+
<a-form-item
14+
label={parent.i18n('issue.version')}
15+
help={parent.i18n('issue.versionHelp')}
16+
>
17+
{getFieldDecorator('version', {
18+
initialValue: versions[0],
19+
})(
20+
<a-select showSearch={true}>
21+
{versions.map(version =>
22+
<a-select-option key={version}>{version}</a-select-option>,
23+
)}
24+
</a-select>,
25+
)}
26+
</a-form-item>
27+
</a-col>
28+
<a-col span={12} offset={1}>
29+
<a-form-item
30+
label={parent.i18n('issue.reproduction')}
31+
help={<ReproModal />}
32+
>
33+
{getFieldDecorator('reproduction', {
34+
rules: [{ required: true }],
35+
})(<a-input type="url" />)}
36+
</a-form-item>
37+
</a-col>
38+
</a-form-item>
39+
<a-form-item
40+
label={parent.i18n('issue.environment')}
41+
help={parent.i18n('issue.environmentHelp')}
42+
>
43+
{getFieldDecorator('environment', {
44+
rules: [{ required: true }],
45+
})(<a-input />)}
46+
</a-form-item>
47+
<a-form-item
48+
label={parent.i18n('issue.steps')}
49+
help={<i18n id="stepsHelp" />}
50+
>
51+
{getFieldDecorator('steps', {
52+
rules: [{ required: true }],
53+
})(<a-textarea autosize={{ minRows: 2 }} />)}
54+
</a-form-item>
55+
<a-form-item
56+
label={parent.i18n('issue.expected')}
57+
>
58+
{getFieldDecorator('expected', {
59+
rules: [{ required: true }],
60+
})(<a-textarea autosize={{ minRows: 2 }} />)}
61+
</a-form-item>
62+
<a-form-item
63+
label={parent.i18n('issue.actually')}
64+
>
65+
{getFieldDecorator('actual', {
66+
rules: [{ required: true }],
67+
})(<a-textarea autosize={{ minRows: 2 }} />)}
68+
</a-form-item>
69+
<a-form-item
70+
label={parent.i18n('issue.extra')}
71+
help={parent.i18n('issue.extraHelp')}
72+
>
73+
{getFieldDecorator('extra', {})(<a-textarea autosize={{ minRows: 2 }} />)}
74+
</a-form-item>
75+
</div>
76+
)
77+
}
78+
}
79+
</script>

0 commit comments

Comments
 (0)