Merge branch '2.0' into gh-pages

master
git 9 years ago
commit e2f7e18b6b

@ -8,7 +8,7 @@
## Install ## Install
``` bash ``` bash
npm install vue-upload-component@next --save npm install vue-upload-component --save
``` ```
### CommonJS ### CommonJS
@ -37,6 +37,24 @@
``` ```
### SSR (Server)
```js
import FileUpload from 'vue-upload-component/src'
```
#### webpack.config.js
```js
var nodeExternals = require('webpack-node-externals');
{
//.....
externals: [
nodeExternals({whitelist:[/^vue-upload-component/]})
]
//.....
}
```
## Examples ## Examples
https://lian-yue.github.io/vue-upload-component/ https://lian-yue.github.io/vue-upload-component/

3480
dist/example.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,12 +1,4 @@
<style> <template>
nav {
margin-bottom: 1em
}
</style>
<script>
export default {
render(h) {
return (
<div id="app"> <div id="app">
<header id="header"> <header id="header">
<h1>Upload test</h1> <h1>Upload test</h1>
@ -26,7 +18,13 @@ export default {
<div>Powered by:<a href="//www.lianyue.org">LianYue</a></div> <div>Powered by:<a href="//www.lianyue.org">LianYue</a></div>
</footer> </footer>
</div> </div>
) </template>
<style>
nav {
margin-bottom: 1em
} }
</style>
<script>
export default {
} }
</script> </script>

@ -71,7 +71,5 @@ const router = new VueRouter({
new Vue({ new Vue({
router, router,
store, store,
render(h) { ...App
return h(App)
}
}).$mount('#app') }).$mount('#app')

@ -1,7 +1,7 @@
{ {
"name": "vue-upload-component", "name": "vue-upload-component",
"description": "Vue.js file upload component, Support for multiple file uploads, progress, html5, html4, support ie9", "description": "Vue.js file upload component, Support for multiple file uploads, progress, html5, html4, support ie9",
"version": "2.3.0-beta.2", "version": "2.3.2",
"author": "LianYue", "author": "LianYue",
"scripts": { "scripts": {
"dev": "webpack-dev-server --inline --hot", "dev": "webpack-dev-server --inline --hot",
@ -33,11 +33,8 @@
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"babel-core": "^6.0.0", "babel-core": "^6.0.0",
"babel-helper-vue-jsx-merge-props": "^2.0.2",
"babel-loader": "^6.0.0", "babel-loader": "^6.0.0",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-plugin-transform-runtime": "^6.0.0", "babel-plugin-transform-runtime": "^6.0.0",
"babel-plugin-transform-vue-jsx": "^3.3.0",
"babel-preset-es2015": "^6.0.0", "babel-preset-es2015": "^6.0.0",
"babel-preset-stage-0": "^6.5.0", "babel-preset-stage-0": "^6.5.0",
"babel-runtime": "^6.0.0", "babel-runtime": "^6.0.0",
@ -47,13 +44,12 @@
"file-loader": "^0.8.4", "file-loader": "^0.8.4",
"json-loader": "^0.5.4", "json-loader": "^0.5.4",
"url-loader": "^0.5.7", "url-loader": "^0.5.7",
"vue": "^2.2.1", "vue": "^2.2.6",
"vue-hot-reload-api": "^1.2.0", "vue-hot-reload-api": "^1.3.3",
"vue-html-loader": "^1.0.0", "vue-loader": "^11.1.4",
"vue-loader": "^9.5.0", "vue-router": "^2.4.0",
"vue-router": "^2.3.0", "vue-template-compiler": "^2.2.6",
"vue-style-loader": "^1.0.0", "vuex": "^2.3.1",
"vuex": "^2.2.1",
"webpack": "^1.12.2", "webpack": "^1.12.2",
"webpack-dev-server": "^1.12.0" "webpack-dev-server": "^1.12.0"
} }

@ -1,3 +1,11 @@
<template>
<label class="file-uploads" :class="mode === 'html5' ? 'file-uploads-html5' : 'file-uploads-html4'">
<span class="file-uploads-title" v-html="title"></span>
<slot></slot>
<input-file></input-file>
</label>
</template>
<style> <style>
.file-uploads { .file-uploads {
overflow: hidden; overflow: hidden;
@ -89,10 +97,6 @@ export default {
type: Object, type: Object,
default: () => {}, default: () => {},
}, },
drop: {
type: Boolean,
default: false,
},
files: { files: {
type: Array, type: Array,
default: () => [], default: () => [],
@ -140,22 +144,6 @@ export default {
this.files.splice(0, this.files.length); this.files.splice(0, this.files.length);
}, },
render (h) {
return (
<label class={{
'file-uploads': true,
'file-uploads-html5': this.mode == 'html5',
'file-uploads-html4': this.mode == 'html4'
}} >
<span>{this.title}</span>
<input-file></input-file>
</label>
)
},
watch: { watch: {
drop(value) { drop(value) {
this._drop(value); this._drop(value);
@ -406,7 +394,7 @@ export default {
var inputFile = new Component({ var inputFile = new Component({
parent: this, parent: this,
el: el, el: el.parentNode,
}); });
}, },

@ -1,24 +1,22 @@
<template>
<span class="file-uploads-input">
<input
type="file"
:name="$parent.name"
:id="$parent.id || $parent.name"
:accept="$parent.accept"
@change="change"
:multiple="$parent.multiple && $parent.mode === 'html5'"
/>
</span>
</template>
<script> <script>
export default { export default {
methods: { methods: {
change(e) { change(e) {
this.$destroy(); this.$destroy()
this.$parent._addInputFileElement(e.target); this.$parent._addInputFileElement(e.target)
}, }
},
render(h) {
const parent = this.$parent;
return (
<input
type="file"
name={parent.name}
id={parent.id|| parent.name}
accept={parent.accept}
on-change={this.change}
multiple={parent.multiple && parent.mode == 'html5'}
/>
)
} }
} }
</script> </script>

@ -9,4 +9,4 @@ module.exports.entry = {
} }
module.exports.output.library = 'VueUploadComponent'; module.exports.output.library = 'VueUploadComponent';
module.exports.output.libraryTarget = 'umd'; module.exports.output.libraryTarget = 'commonjs2';

@ -10,13 +10,12 @@ module.exports = {
path: './dist', path: './dist',
publicPath: '/dist/', publicPath: '/dist/',
filename: "[name].js", filename: "[name].js",
// target: 'node',
}, },
resolve: { resolve: {
root: path.join(__dirname, 'node_modules'), root: path.join(__dirname, 'node_modules'),
alias: {
},
extensions: ['', '.js', '.vue', '.json'], extensions: ['', '.js', '.vue', '.json'],
}, },
@ -52,7 +51,7 @@ module.exports = {
babel: { babel: {
presets: ['es2015', 'stage-0'], presets: ['es2015', 'stage-0'],
plugins: ['transform-runtime', 'transform-vue-jsx'], plugins: ['transform-runtime'],
}, },
devServer: { devServer: {

Loading…
Cancel
Save