diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 13505ff..0000000 --- a/.babelrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "presets": [ - ["env", { "modules": false }], - "es2015" - ], - "plugins": ["transform-vue-jsx"] -} - diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index c361757..0000000 --- a/.gitattributes +++ /dev/null @@ -1,4 +0,0 @@ -**/*.js linguist-language=Vue -**/*.less linguist-language=Vue -**/*.css linguist-language=Vue -**/*.html linguist-language=Vue \ No newline at end of file diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 71df9b4..0000000 --- a/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.DS_Store -node_modules -.idea -example/dist -gh-pages \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 8864d4a..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index a7a3d8e..0000000 --- a/README.md +++ /dev/null @@ -1,43 +0,0 @@ -# pagination - -> Vue-based pagination component - -## Install - -```bash -npm install vue-multiple-pagination -S -``` - -## Quick Start - -```bash -import Vue from 'vue' -import VmPagination from 'vue-multiple-pagination' - -Vue.component(VmPagination.name, VmPagination) -``` - -For more information, please refer to [pagination](http://vue-multiple.github.io/pagination) in our documentation. - -## Build Setup - -``` bash -# install dependencies -npm install - -# serve with hot reload at localhost:8080 -npm run demo:dev - -# build for demo with minification -npm run demo:build - -# build for gh-pages with minification -npm run demo:prepublish - -# build for production with minification -npm run build -``` - -## LICENSE - -[MIT](http://opensource.org/licenses/MIT) \ No newline at end of file diff --git a/build/gh-pages.sh b/build/gh-pages.sh deleted file mode 100644 index 2128e2d..0000000 --- a/build/gh-pages.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -npm run demo:prepublish -cd gh-pages -git init -git add -A -git commit -m 'update gh-pages' -git push -f git@github.com:vue-multiple/pagination.git master:gh-pages \ No newline at end of file diff --git a/build/webpack.config.js b/build/webpack.config.js deleted file mode 100644 index 3cad3f6..0000000 --- a/build/webpack.config.js +++ /dev/null @@ -1,82 +0,0 @@ -var path = require('path') -var webpack = require('webpack') -var ExtractTextPlugin = require('extract-text-webpack-plugin') - -module.exports = { - entry: './src/index.js', - output: { - path: path.resolve(__dirname, '..', './lib'), - filename: 'pagination.js', - library: 'pagination', - libraryTarget: 'umd' - }, - externals: { - vue: { - root: 'Vue', - commonjs: 'vue', - commonjs2: 'vue', - amd: 'vue' - } - }, - module: { - rules: [ - { - test: /\.vue$/, - loader: 'vue-loader', - options: { - loaders: { - css: 'vue-style-loader!css-loader', - less: 'vue-style-loader!css-loader!less-loader', - } - // other vue-loader options go here - } - }, - { - test: /\.css$/, - use: [ - { loader: 'style-loader' }, - { loader: 'css-loader' } - ] - }, - { - test: /\.less$/, - use: [ - { loader: 'style-loader' }, - { loader: 'css-loader' }, - { loader: 'less-loader' } - ] - }, - { - test: /\.js$/, - loader: 'babel-loader', - exclude: /node_modules/ - }, - { - test: /\.(png|jpg|gif|svg)$/, - loader: 'file-loader', - options: { - name: '[name].[ext]?[hash]' - } - }, - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, - loader: 'url-loader', - query: { - limit: 10000, - name: path.posix.join('static', 'fonts/[name].[hash:7].[ext]') - } - } - ] - }, - resolve: { - extensions: ['.js', '.vue', '.json'] - }, - plugins: [ - new webpack.optimize.UglifyJsPlugin({ - sourceMap: true, - compress: { - warnings: false - } - }) - ] -} \ No newline at end of file diff --git a/build/webpack.example.base.conf.js b/build/webpack.example.base.conf.js deleted file mode 100644 index fbf512d..0000000 --- a/build/webpack.example.base.conf.js +++ /dev/null @@ -1,55 +0,0 @@ -var path = require('path') -var ExtractTextPlugin = require('extract-text-webpack-plugin') -var isProduction = process.env.NODE_ENV === 'production' - -module.exports = { - entry: { - app: './example/src/main.js' - }, - output: { - path: '/example', - filename: '[name].js', - publicPath: '/' - }, - module: { - rules: [ - { - test: /\.vue$/, - loader: 'vue-loader', - options: { - // other vue-loader options go here - loaders: { - css: isProduction ? ExtractTextPlugin.extract({ - fallback: 'vue-style-loader', - use: 'css-loader' - }) : 'vue-style-loader!css-loader', - less: isProduction ? ExtractTextPlugin.extract({ - fallback: 'vue-style-loader', - use: ['css-loader', 'less-loader'] - }) : 'vue-style-loader!css-loader!less-loader' - } - } - }, - { - test: /\.js$/, - loader: 'babel-loader', - exclude: /node_modules/ - }, - { - test: /\.(png|jpg|gif|svg)$/, - loader: 'file-loader', - options: { - name: '[name].[ext]?[hash]' - } - }, - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, - loader: 'url-loader', - query: { - limit: 10000, - name: path.posix.join('static', 'fonts/[name].[hash:7].[ext]') - } - } - ] - } -} \ No newline at end of file diff --git a/build/webpack.example.dev.conf.js b/build/webpack.example.dev.conf.js deleted file mode 100644 index 61bc308..0000000 --- a/build/webpack.example.dev.conf.js +++ /dev/null @@ -1,36 +0,0 @@ -var webpack = require('webpack') -var merge = require('webpack-merge') -var baseWebpackConfig = require('./webpack.example.base.conf') -var HtmlWebpackPlugin = require('html-webpack-plugin') -var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') - -module.exports = merge(baseWebpackConfig, { - module: { - rules: [ - { - test: /\.css$/, - loader: 'vue-style-loader!css-loader' - }, - { - test: /\.less$/, - loader: 'vue-style-loader!css-loader!less-loader' - } - ] - }, - // cheap-module-eval-source-map is faster for development - devtool: '#cheap-module-eval-source-map', - plugins: [ - new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: '"development"' - } - }), - new webpack.NoEmitOnErrorsPlugin(), - new HtmlWebpackPlugin({ - filename: 'index.html', - template: 'example/index.html', - inject: true - }), - new FriendlyErrorsPlugin() - ] -}) \ No newline at end of file diff --git a/build/webpack.example.prod.conf.js b/build/webpack.example.prod.conf.js deleted file mode 100644 index 4cc2d6d..0000000 --- a/build/webpack.example.prod.conf.js +++ /dev/null @@ -1,65 +0,0 @@ -var path = require('path') -var webpack = require('webpack') -var merge = require('webpack-merge') -var baseWebpackConfig = require('./webpack.example.base.conf') -var HtmlWebpackPlugin = require('html-webpack-plugin') -var ExtractTextPlugin = require('extract-text-webpack-plugin') -var isProduction = process.env.NODE_ENV === 'production' - -module.exports = merge(baseWebpackConfig, { - module: { - rules: [ - { - test: /\.css$/, - loader: ExtractTextPlugin.extract({ - fallback: "vue-style-loader", - use: "css-loader" - }) - }, - { - test: /\.less/, - loader: ExtractTextPlugin.extract({ - fallback: "vue-style-loader", - use: ["css-loader", "less-loader"] - }) - } - ] - }, - devtool: '#source-map', - output: { - path: path.resolve(__dirname, '..', `${isProduction ? './example/dist' : 'gh-pages'}`), - publicPath: isProduction ? '/' : '/pagination', - filename: 'js/[name].[chunkhash].js' - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: '"production"' - } - }), - new webpack.optimize.UglifyJsPlugin({ - sourceMap: true, - compress: { - warnings: false - } - }), - new ExtractTextPlugin({ - filename: 'css/[name].[contenthash].css', - allChunks: true - }), - new HtmlWebpackPlugin({ - filename: 'index.html', - template: 'example/index.html', - inject: true, - minify: { - removeComments: true, - collapseWhitespace: true, - removeAttributeQuotes: true - // more options: - // https://github.com/kangax/html-minifier#options-quick-reference - }, - // necessary to consistently work with multiple chunks via CommonsChunkPlugin - chunksSortMode: 'dependency' - }) - ] -}) diff --git a/css/app.c55c28433866eb7a28a5818d2a613751.css b/css/app.c55c28433866eb7a28a5818d2a613751.css new file mode 100644 index 0000000..27aab48 --- /dev/null +++ b/css/app.c55c28433866eb7a28a5818d2a613751.css @@ -0,0 +1,210 @@ +/* Pagination +-------------------------- */ +@font-face { + font-family: "vm-page-font"; + src: url(data:application/vnd.ms-fontobject;base64,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); + /* IE9*/ + src: url(data:application/vnd.ms-fontobject;base64,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?#iefix) format('embedded-opentype'), url(data:application/font-woff;base64,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) format('woff'), url(data:application/x-font-ttf;base64,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) format('truetype'), url(/paginationiconfont.svg?e8c4312878f0e914b0bcb4dfa5ec0768#iconfont) format('svg'); + /* iOS 4.1- */ +} +.vm-page-icon-more, +.vm-page-icon-d-arrow-left, +.vm-page-icon-d-arrow-right, +.vm-page-icon-arrow-left, +.vm-page-icon-arrow-right { + display: block; + font-family: "vm-page-font" !important; + font-size: 12px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.vm-page-icon-more:before { + content: "\E602"; +} +.vm-page-icon-d-arrow-left:before { + content: "\E608"; +} +.vm-page-icon-d-arrow-right:before { + content: "\E606"; +} +.vm-page-icon-arrow-left:before { + content: "\E6A2"; +} +.vm-page-icon-arrow-right:before { + content: "\E6A3"; +} +.vm-pagination { + white-space: nowrap; + padding: 2px 5px; + color: #48576a; +} +.vm-pagination span, +.vm-pagination button { + display: inline-block; + font-size: 13px; + min-width: 28px; + height: 28px; + line-height: 28px; + vertical-align: top; + box-sizing: border-box; +} +.vm-pagination .vm-pagination-select-input { + width: 110px; +} +.vm-pagination .vm-select .vm-input { + width: 110px; +} +.vm-pagination .vm-select .vm-input input { + padding-right: 25px; + border-radius: 2px; + height: 28px; +} +.vm-pagination button { + border: none; + padding: 0 6px; + background: transparent; +} +.vm-pagination button:focus { + outline: none; +} +.vm-pagination button:hover { + color: #20a0ff; +} +.vm-pagination button.disabled { + color: #e4e4e4; + background-color: #fff; + cursor: not-allowed; +} +.vm-pagination .btn-prev, +.vm-pagination .btn-next { + background: center center no-repeat; + background-size: 16px; + background-color: #fff; + border: 1px solid #d1dbe5; + cursor: pointer; + margin: 0; + color: #97a8be; +} +.vm-pagination .btn-prev .vm-page-icon, +.vm-pagination .btn-next .vm-page-icon { + display: block; + font-size: 12px; +} +.vm-pagination .btn-prev { + border-radius: 2px 0 0 2px; + border-right: 0; +} +.vm-pagination .btn-next { + border-radius: 0 2px 2px 0; + border-left: 0; +} +.vm-pagination--small .btn-prev, +.vm-pagination--small .btn-next, +.vm-pagination--small .vm-pager li, +.vm-pagination--small .vm-pager li:last-child { + border-color: transparent; + font-size: 12px; + line-height: 22px; + height: 22px; + min-width: 22px; +} +.vm-pagination--small .arrow.disabled { + visibility: hidden; +} +.vm-pagination--small .vm-pager li { + border-radius: 2px; +} +.vm-pagination__sizes { + margin: 0 10px 0 0; +} +.vm-pagination__sizes .vm-input .vm-input__inner { + font-size: 13px; + border-color: #d1dbe5; +} +.vm-pagination__sizes .vm-input .vm-input__inner:hover { + border-color: #20a0ff; +} +.vm-pagination__jump { + margin-left: 10px; +} +.vm-pagination__total { + margin: 0 10px; +} +.vm-pagination__rightwrapper { + float: right; +} +.vm-pagination__editor { + border: 1px solid #d1dbe5; + border-radius: 2px; + line-height: 18px; + padding: 4px 2px; + width: 30px; + text-align: center; + margin: 0 6px; + box-sizing: border-box; + transition: border .3s; +} +.vm-pagination__editor::-webkit-inner-spin-button, +.vm-pagination__editor::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; +} +.vm-pagination__editor:focus { + outline: none; + border-color: #20a0ff; +} +.vm-pager { + user-select: none; + list-style: none; + display: inline-block; + vertical-align: top; + font-size: 0; + padding: 0; + margin: 0; +} +.vm-pager li { + padding: 0 4px; + border: 1px solid #d1dbe5; + border-right: 0; + background: #fff; + vertical-align: top; + display: inline-block; + font-size: 13px; + min-width: 28px; + height: 28px; + line-height: 28px; + cursor: pointer; + box-sizing: border-box; + text-align: center; + margin: 0; +} +.vm-pager li:last-child { + border-right: 1px solid #d1dbe5; +} +.vm-pager li.btn-quicknext, +.vm-pager li.btn-quickprev { + line-height: 28px; + color: #97a8be; +} +.vm-pager li.btn-quickprev:hover { + cursor: pointer; +} +.vm-pager li.btn-quicknext:hover { + cursor: pointer; +} +.vm-pager li.active + li { + border-left: 0; + padding-left: 5px; +} +.vm-pager li:hover { + color: #20a0ff; +} +.vm-pager li.active { + border-color: #20a0ff; + background-color: #20a0ff; + color: #fff; + cursor: default; +} + +/*# sourceMappingURL=app.c55c28433866eb7a28a5818d2a613751.css.map*/ \ No newline at end of file diff --git a/css/app.c55c28433866eb7a28a5818d2a613751.css.map b/css/app.c55c28433866eb7a28a5818d2a613751.css.map new file mode 100644 index 0000000..edb4624 --- /dev/null +++ b/css/app.c55c28433866eb7a28a5818d2a613751.css.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"css/app.c55c28433866eb7a28a5818d2a613751.css","sourceRoot":""} \ No newline at end of file diff --git a/example/index.html b/example/index.html deleted file mode 100644 index b46ea15..0000000 --- a/example/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - -
- - - -layout
,表示需要显示的内容,用逗号分隔,布局元素会依次显示。prev
表示上一页,next
为下一页,pager
表示页码列表,除此以外还提供了jumper
和total
,size
和特殊的布局符号->,->后的元素会靠右显示,jumper
表示跳页元素,total
表示显示页码总数,size
用于设置每页显示的页码数量。
-
- small
属性,它接受一个Boolean
,默认为false
,设为true
即可启用。
-
- size-change
和current-change
事件来处理页码大小和当前页变动时候触发的事件。page-sizes
接受一个整型数组,数组元素为展示的选择每页显示个数的选项,[100, 200, 300, 400]
表示四个选项,每页显示 100 个,200 个,300 个或者 400 个。
-
- 参数 | -说明 | -类型 | -可选值 | -默认值 | - - -
---|---|---|---|---|
small | -是否使用小型分页样式 | -Boolean | -— | -false | -
page-size | -每页显示条目个数 | -Number | -— | -10 | -
total | -总条目数 | -Number | -— | -— | -
page-count | -总页数,total 和 page-count 设置任意一个就可以达到显示页码的功能;如果要支持 page-sizes 的更改,则需要使用 total 属性 | -Number | -— | -— | -
current-page | -当前页数,支持 .sync 修饰符 | -Number | -— | -1 | -
layout | -组件布局,子组件名用逗号分隔 | -String | -sizes, prev, pager, next, jumper, ->, total, slot | -'prev, pager, next, jumper, ->, total' | -
page-sizes | -每页显示个数选择器的选项设置 | -Number[] | -— | -[10, 20, 30, 40, 50, 100] | -
事件名称 | -说明 | -回调参数 | - - -
---|---|---|
size-change | -pageSize 改变时会触发 | -每页条数size | -
current-change | -currentPage 改变时会触发 | -当前页currentPage | -
name | -说明 | - - -
---|---|
— | -自定义内容,需要在 layout 中列出 slot | -
layout
,表示需要显示的内容,用逗号分隔,布局元素会依次显示。prev
表示上一页,next
为下一页,pager
表示页码列表,除此以外还提供了jumper
和total
,size
和特殊的布局符号->,->后的元素会靠右显示,jumper
表示跳页元素,total
表示显示页码总数,size
用于设置每页显示的页码数量。\n \n small
属性,它接受一个Boolean
,默认为false
,设为true
即可启用。\n \n size-change
和current-change
事件来处理页码大小和当前页变动时候触发的事件。page-sizes
接受一个整型数组,数组元素为展示的选择每页显示个数的选项,[100, 200, 300, 400]
表示四个选项,每页显示 100 个,200 个,300 个或者 400 个。\n \n 参数 | \n说明 | \n类型 | \n可选值 | \n默认值 | \n \n \n
---|---|---|---|---|
small | \n是否使用小型分页样式 | \nBoolean | \n— | \nfalse | \n
page-size | \n每页显示条目个数 | \nNumber | \n— | \n10 | \n
total | \n总条目数 | \nNumber | \n— | \n— | \n
page-count | \n总页数,total 和 page-count 设置任意一个就可以达到显示页码的功能;如果要支持 page-sizes 的更改,则需要使用 total 属性 | \nNumber | \n— | \n— | \n
current-page | \n当前页数,支持 .sync 修饰符 | \nNumber | \n— | \n1 | \n
layout | \n组件布局,子组件名用逗号分隔 | \nString | \nsizes, prev, pager, next, jumper, ->, total, slot | \n'prev, pager, next, jumper, ->, total' | \n
page-sizes | \n每页显示个数选择器的选项设置 | \nNumber[] | \n— | \n[10, 20, 30, 40, 50, 100] | \n
事件名称 | \n说明 | \n回调参数 | \n \n \n
---|---|---|
size-change | \npageSize 改变时会触发 | \n每页条数size | \n
current-change | \ncurrentPage 改变时会触发 | \n当前页currentPage | \n
name | \n说明 | \n \n \n
---|---|
— | \n自定义内容,需要在 layout 中列出 slot | \n