first commit
This commit is contained in:
23
.gitignore
vendored
Normal file
23
.gitignore
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
.DS_Store
|
||||
node_modules
|
||||
/dist
|
||||
|
||||
|
||||
# local env files
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# Log files
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
32
dbui/.babelrc
Normal file
32
dbui/.babelrc
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"presets": [
|
||||
["env", {
|
||||
"loose": false,
|
||||
"modules": "commonjs",
|
||||
"spec": true,
|
||||
"targets": {
|
||||
"browsers": [
|
||||
"last 3 Chrome versions",
|
||||
"last 3 Firefox versions",
|
||||
"Safari >= 10",
|
||||
"Explorer >= 11",
|
||||
"Edge >= 12",
|
||||
"iOS >= 10",
|
||||
"Android >= 6"
|
||||
]
|
||||
},
|
||||
"useBuiltIns": "usage",
|
||||
"debug": false
|
||||
}],
|
||||
"stage-3"
|
||||
],
|
||||
"plugins": [
|
||||
"dynamic-import-node",
|
||||
"transform-class-properties",
|
||||
"transform-es5-property-mutators",
|
||||
"transform-object-rest-spread",
|
||||
"transform-runtime",
|
||||
"transform-vue-jsx"
|
||||
],
|
||||
"comments": false
|
||||
}
|
||||
22
dbui/.gitignore
vendored
Normal file
22
dbui/.gitignore
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
*.iml
|
||||
.idea
|
||||
.ipr
|
||||
.iws
|
||||
*.diff
|
||||
*.patch
|
||||
*.bak
|
||||
.DS_Store
|
||||
node_modules/
|
||||
node_modules2/
|
||||
.project
|
||||
.settings
|
||||
npm-debug.log
|
||||
.*proj
|
||||
.svn/
|
||||
*.swp
|
||||
*.swo
|
||||
*.log
|
||||
examples/dist/
|
||||
yarn-error.log
|
||||
.vscode
|
||||
package-lock.json
|
||||
1
dbui/.pydio
Normal file
1
dbui/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
383258f4-e361-4295-b100-171b16311403
|
||||
201
dbui/LICENSE
Normal file
201
dbui/LICENSE
Normal file
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed 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.
|
||||
3
dbui/README.md
Normal file
3
dbui/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## DBui-Vue
|
||||
|
||||
基于Vue3 + Typescript 写的Vue UI框架
|
||||
1
dbui/build/.pydio
Normal file
1
dbui/build/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
27cdb2bf-a1ee-4d5e-9e7a-7d1b598078da
|
||||
108
dbui/build/webpack.base.config.js
Normal file
108
dbui/build/webpack.base.config.js
Normal file
@@ -0,0 +1,108 @@
|
||||
/**
|
||||
* 公共配置
|
||||
*/
|
||||
const path = require('path');
|
||||
const webpack = require('webpack');
|
||||
const pkg = require('../package.json');
|
||||
const VueLoaderPlugin = require('vue-loader/lib/plugin')
|
||||
|
||||
function resolve (dir) {
|
||||
return path.join(__dirname, '..', dir);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
// 加载器
|
||||
module: {
|
||||
// https://doc.webpack-china.org/guides/migrating/#module-loaders-module-rules
|
||||
rules: [
|
||||
{
|
||||
// https://vue-loader.vuejs.org/en/configurations/extract-css.html
|
||||
test: /\.vue$/,
|
||||
loader: 'vue-loader',
|
||||
options: {
|
||||
loaders: {
|
||||
css: [
|
||||
'vue-style-loader',
|
||||
{
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
],
|
||||
less: [
|
||||
'vue-style-loader',
|
||||
{
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'less-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
postLoaders: {
|
||||
html: 'babel-loader?sourceMap'
|
||||
},
|
||||
sourceMap: true,
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.js$/,
|
||||
loader: 'babel-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
exclude: /node_modules/,
|
||||
},
|
||||
{
|
||||
test: /\.ts$/,
|
||||
loader: 'ts-loader',
|
||||
options: { appendTsSuffixTo: [/\.vue$/]},
|
||||
exclude: /node_modules/
|
||||
},
|
||||
{
|
||||
test: /\.css$/,
|
||||
use: [
|
||||
'vue-style-loader',
|
||||
'css-loader'
|
||||
]
|
||||
},
|
||||
{
|
||||
test: /\.less$/,
|
||||
use: [
|
||||
'vue-style-loader',
|
||||
'css-loader',
|
||||
'less-loader'
|
||||
]
|
||||
},
|
||||
{
|
||||
test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/,
|
||||
loader: 'url-loader?limit=8192'
|
||||
},
|
||||
{
|
||||
test: /\.(html|tpl)$/,
|
||||
loader: 'html-loader'
|
||||
}
|
||||
]
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.js', '.vue', '.ts'],
|
||||
alias: {
|
||||
'vue': 'vue/dist/vue.esm.js',
|
||||
'@': resolve('src')
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
new VueLoaderPlugin(),
|
||||
new webpack.optimize.ModuleConcatenationPlugin(),
|
||||
new webpack.DefinePlugin({
|
||||
'process.env.VERSION': `'${pkg.version}'`
|
||||
}),
|
||||
]
|
||||
};
|
||||
48
dbui/build/webpack.dev.config.js
Normal file
48
dbui/build/webpack.dev.config.js
Normal file
@@ -0,0 +1,48 @@
|
||||
/**
|
||||
* 本地预览
|
||||
*/
|
||||
|
||||
const path = require('path');
|
||||
const webpack = require('webpack');
|
||||
// const ExtractTextPlugin = require('extract-text-webpack-plugin');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
const merge = require('webpack-merge');
|
||||
const webpackBaseConfig = require('./webpack.base.config.js');
|
||||
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin');
|
||||
|
||||
|
||||
module.exports = merge(webpackBaseConfig, {
|
||||
devtool: 'eval-source-map',
|
||||
|
||||
// 入口
|
||||
entry: {
|
||||
main: './examples/main.ts',
|
||||
vendors: ['vue', 'vue-router']
|
||||
},
|
||||
// 输出
|
||||
output: {
|
||||
path: path.join(__dirname, '../examples/dist'),
|
||||
publicPath: '',
|
||||
filename: '[name].js',
|
||||
chunkFilename: '[name].chunk.js'
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
vue: 'vue/dist/vue.esm.js'
|
||||
}
|
||||
},
|
||||
optimization: {
|
||||
splitChunks: {
|
||||
chunks: 'all',
|
||||
name:'vendor'
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
new HtmlWebpackPlugin({
|
||||
inject: true,
|
||||
filename: path.join(__dirname, '../examples/dist/index.html'),
|
||||
template: path.join(__dirname, '../examples/index.html')
|
||||
}),
|
||||
new FriendlyErrorsPlugin()
|
||||
]
|
||||
});
|
||||
48
dbui/build/webpack.dist.prod.config.js
Normal file
48
dbui/build/webpack.dist.prod.config.js
Normal file
@@ -0,0 +1,48 @@
|
||||
const path = require('path');
|
||||
const webpack = require('webpack');
|
||||
const merge = require('webpack-merge');
|
||||
const webpackBaseConfig = require('./webpack.base.config.js');
|
||||
const CompressionPlugin = require('compression-webpack-plugin');
|
||||
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
|
||||
|
||||
process.env.NODE_ENV = 'production';
|
||||
|
||||
module.exports = merge(webpackBaseConfig, {
|
||||
devtool: 'source-map',
|
||||
entry: {
|
||||
main: './src/index.js'
|
||||
},
|
||||
output: {
|
||||
path: path.resolve(__dirname, '../dist'),
|
||||
publicPath: '/dist/',
|
||||
filename: 'dbui.min.js',
|
||||
library: 'dbui',
|
||||
libraryTarget: 'umd',
|
||||
umdNamedDefine: true
|
||||
},
|
||||
externals: {
|
||||
vue: {
|
||||
root: 'Vue',
|
||||
commonjs: 'vue',
|
||||
commonjs2: 'vue',
|
||||
amd: 'vue'
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
// @todo
|
||||
new webpack.DefinePlugin({
|
||||
'process.env.NODE_ENV': '"production"'
|
||||
}),
|
||||
new UglifyJsPlugin({
|
||||
parallel: true,
|
||||
sourceMap: true
|
||||
}),
|
||||
new CompressionPlugin({
|
||||
filename: '[path].gz[query]',
|
||||
algorithm: 'gzip',
|
||||
test: /\.(js|css)$/,
|
||||
threshold: 10240,
|
||||
minRatio: 0.8
|
||||
})
|
||||
]
|
||||
});
|
||||
1
dbui/dist/.pydio
vendored
Normal file
1
dbui/dist/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
2d94005e-d772-4f7a-8455-999f35be7c87
|
||||
17
dbui/dist/dbui.min.js
vendored
Normal file
17
dbui/dist/dbui.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
dbui/dist/dbui.min.js.gz
vendored
Normal file
BIN
dbui/dist/dbui.min.js.gz
vendored
Normal file
Binary file not shown.
1
dbui/dist/dbui.min.js.map
vendored
Normal file
1
dbui/dist/dbui.min.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dbui/examples/.pydio
Normal file
1
dbui/examples/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
154e13d6-d6bb-4f8a-bd25-10bc67af4e59
|
||||
20
dbui/examples/App.vue
Normal file
20
dbui/examples/App.vue
Normal file
@@ -0,0 +1,20 @@
|
||||
<template>
|
||||
<div id="app">
|
||||
<div id="nav">
|
||||
<h2>App.vue</h2>
|
||||
<router-link to="/">Home</router-link> |
|
||||
<router-link to="/about">About</router-link>
|
||||
</div>
|
||||
<router-view/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
export default {
|
||||
name: 'App'
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
@import "../src/styles/index.less";
|
||||
</style>
|
||||
1
dbui/examples/components/.pydio
Normal file
1
dbui/examples/components/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
7554f392-f21f-47ac-a4e0-eac2b183a954
|
||||
16
dbui/examples/index.html
Normal file
16
dbui/examples/index.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<title>demo案例</title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||
</noscript>
|
||||
<div class="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
</html>
|
||||
20
dbui/examples/main.ts
Normal file
20
dbui/examples/main.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import Vue from 'vue';
|
||||
import App from './App.vue';
|
||||
import router from './router';
|
||||
|
||||
// 导入正在编写的UI框架
|
||||
import Dbui from './../src';
|
||||
|
||||
// Vue3 CompositionApi
|
||||
import VueCompositionApi from '@vue/composition-api';
|
||||
|
||||
Vue.use(Dbui);
|
||||
|
||||
Vue.use(VueCompositionApi);
|
||||
|
||||
Vue.config.productionTip = false;
|
||||
|
||||
new Vue({
|
||||
router,
|
||||
render: h => h(App)
|
||||
}).$mount('.app')
|
||||
1
dbui/examples/page/.pydio
Normal file
1
dbui/examples/page/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
47a9a44f-42ce-4a96-9c9a-a3652874ef9e
|
||||
21
dbui/examples/page/About.vue
Normal file
21
dbui/examples/page/About.vue
Normal file
@@ -0,0 +1,21 @@
|
||||
<template>
|
||||
<div class="home">
|
||||
<h2>{{ title }}</h2>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { onMounted, toRefs, reactive, computed } from '@vue/composition-api'
|
||||
|
||||
export default {
|
||||
setup(props: any) {
|
||||
const state = reactive({
|
||||
title: '关于我'
|
||||
});
|
||||
|
||||
return {
|
||||
...toRefs(state)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
23
dbui/examples/page/Home.vue
Normal file
23
dbui/examples/page/Home.vue
Normal file
@@ -0,0 +1,23 @@
|
||||
<template>
|
||||
<div class="home">
|
||||
<h2>{{ title }}</h2>
|
||||
<db-list :Demos="[1,2,3,4,5,6]"></db-list>
|
||||
<db-buttons></db-buttons>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { onMounted, toRefs, reactive, computed } from '@vue/composition-api'
|
||||
|
||||
export default {
|
||||
setup(props: any) {
|
||||
const state = reactive({
|
||||
title: '首页'
|
||||
});
|
||||
|
||||
return {
|
||||
...toRefs(state)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
1
dbui/examples/router/.pydio
Normal file
1
dbui/examples/router/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
5142dc80-d25e-496c-93a2-7fd1e5ceafca
|
||||
24
dbui/examples/router/index.ts
Normal file
24
dbui/examples/router/index.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import Vue from 'vue'
|
||||
import VueRouter from 'vue-router'
|
||||
|
||||
Vue.use(VueRouter)
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '/',
|
||||
name: 'Home',
|
||||
component: () => import(/* webpackChunkName: "Home" */ '../page/Home.vue')
|
||||
},
|
||||
{
|
||||
path: '/about',
|
||||
name: 'About',
|
||||
component: () => import(/* webpackChunkName: "About" */ '../page/About.vue')
|
||||
}
|
||||
];
|
||||
|
||||
const router = new VueRouter({
|
||||
mode: 'history',
|
||||
routes
|
||||
});
|
||||
|
||||
export default router
|
||||
57
dbui/package.json
Normal file
57
dbui/package.json
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"name": "dbui",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "dist/dbui.min.js",
|
||||
"typings": "types/index.d.ts",
|
||||
"scripts": {
|
||||
"dev": "webpack-dev-server --open --inline --hot --compress --history-api-fallback --port 8081 --config build/webpack.dev.config.js",
|
||||
"prod": "webpack --config build/webpack.dist.prod.config.js --mode production"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@vue/composition-api": "^0.3.4",
|
||||
"vue": "^2.6.11",
|
||||
"vue-class-component": "^7.2.2",
|
||||
"vue-property-decorator": "^8.4.0",
|
||||
"vue-router": "^3.1.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-cli": "^6.26.0",
|
||||
"babel-core": "^6.26.0",
|
||||
"babel-helper-vue-jsx-merge-props": "^2.0.3",
|
||||
"babel-loader": "^7.1.5",
|
||||
"babel-plugin-dynamic-import-node": "^1.2.0",
|
||||
"babel-plugin-syntax-jsx": "^6.18.0",
|
||||
"babel-plugin-transform-class-properties": "^6.24.1",
|
||||
"babel-plugin-transform-es5-property-mutators": "^6.24.1",
|
||||
"babel-plugin-transform-object-rest-spread": "^6.26.0",
|
||||
"babel-plugin-transform-runtime": "^6.23.0",
|
||||
"babel-plugin-transform-vue-jsx": "^3.7.0",
|
||||
"babel-preset-env": "^1.6.1",
|
||||
"babel-preset-stage-3": "^6.24.1",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"compression-webpack-plugin": "^3.1.0",
|
||||
"css-loader": "^3.4.2",
|
||||
"friendly-errors-webpack-plugin": "^1.7.0",
|
||||
"html-loader": "^0.5.5",
|
||||
"html-webpack-plugin": "^3.2.0",
|
||||
"less": "^3.11.0",
|
||||
"less-loader": "^5.0.0",
|
||||
"style-loader": "^1.1.3",
|
||||
"ts-loader": "^6.2.1",
|
||||
"typescript": "^3.7.5",
|
||||
"uglifyjs-webpack-plugin": "^2.2.0",
|
||||
"url-loader": "^3.0.0",
|
||||
"vue-html-loader": "^1.2.4",
|
||||
"vue-loader": "^15.8.3",
|
||||
"vue-style-loader": "^4.1.2",
|
||||
"vue-template-compiler": "^2.6.11",
|
||||
"webpack": "^4.41.5",
|
||||
"webpack-cli": "^3.3.10",
|
||||
"webpack-dev-server": "^3.10.3",
|
||||
"webpack-merge": "^4.2.2"
|
||||
}
|
||||
}
|
||||
4
dbui/shims-vue.d.ts
vendored
Normal file
4
dbui/shims-vue.d.ts
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
declare module '*.vue' {
|
||||
import Vue from 'vue';
|
||||
export default Vue;
|
||||
}
|
||||
1
dbui/src/.pydio
Normal file
1
dbui/src/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
1111167e-d835-4bcb-9d23-9089feeeb73e
|
||||
1
dbui/src/components/.pydio
Normal file
1
dbui/src/components/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
1b4a0a61-b747-47d6-a981-f33346867abd
|
||||
1
dbui/src/components/button/.pydio
Normal file
1
dbui/src/components/button/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
2c931ee0-6442-413d-8ead-85ec0c2ad0ba
|
||||
27
dbui/src/components/button/button.vue
Normal file
27
dbui/src/components/button/button.vue
Normal file
@@ -0,0 +1,27 @@
|
||||
<template>
|
||||
<div class="db-button">
|
||||
<button>button 按钮组件</button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { toRefs, Ref, ref, reactive, PropOptions } from '@vue/composition-api'
|
||||
import { UnwrapRef} from '@vue/composition-api/dist/reactivity'
|
||||
|
||||
export default {
|
||||
name: 'buttons',
|
||||
props: {
|
||||
},
|
||||
setup(props: PropOptions) {
|
||||
const state: UnwrapRef<{
|
||||
title: Ref<string>
|
||||
}> = reactive({
|
||||
title: ref('ui框架组件 - button')
|
||||
});
|
||||
|
||||
return {
|
||||
...toRefs(state)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
2
dbui/src/components/button/index.ts
Normal file
2
dbui/src/components/button/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
import Button from "./button.vue";
|
||||
export default Button;
|
||||
1
dbui/src/components/list/.pydio
Normal file
1
dbui/src/components/list/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
3cf06485-1939-4912-b71f-f9f9a45c8969
|
||||
2
dbui/src/components/list/index.ts
Normal file
2
dbui/src/components/list/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
import List from './list.vue';
|
||||
export default List;
|
||||
34
dbui/src/components/list/list.vue
Normal file
34
dbui/src/components/list/list.vue
Normal file
@@ -0,0 +1,34 @@
|
||||
<template>
|
||||
<div class="home">
|
||||
<h2>{{ title }}</h2>
|
||||
<ul>
|
||||
<li v-for="(item,index) in Demos" :key="index">{{ item }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { toRefs, Ref, ref, reactive, PropOptions } from '@vue/composition-api'
|
||||
import { UnwrapRef} from '@vue/composition-api/dist/reactivity'
|
||||
|
||||
export default {
|
||||
name: 'list',
|
||||
props: {
|
||||
Demos: {
|
||||
type: Array,
|
||||
default: []
|
||||
}
|
||||
},
|
||||
setup(props: PropOptions) {
|
||||
const state: UnwrapRef<{
|
||||
title: Ref<string>
|
||||
}> = reactive({
|
||||
title: ref('ui框架组件 - List : ')
|
||||
});
|
||||
|
||||
return {
|
||||
...toRefs(state)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
1
dbui/src/config/.pydio
Normal file
1
dbui/src/config/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
b5e0166f-3002-466a-95b7-f10cb0889549
|
||||
4
dbui/src/config/index.ts
Normal file
4
dbui/src/config/index.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export class Config {
|
||||
// 所有class前缀
|
||||
public static domPrefix: string = 'db-';
|
||||
}
|
||||
48
dbui/src/index.ts
Normal file
48
dbui/src/index.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
import Vue, { VueConstructor, PluginObject, PluginFunction } from 'vue';
|
||||
import { Config } from './config';
|
||||
|
||||
import List from './components/list';
|
||||
import Button from './components/button';
|
||||
|
||||
export class Init {
|
||||
/**
|
||||
* 框架中所有UI组件
|
||||
*/
|
||||
public DbUiComponents: Array<VueConstructor<Vue>> = [
|
||||
List, Button
|
||||
];
|
||||
|
||||
/**
|
||||
* Vue.use 入口,在install中实现循环注册
|
||||
*/
|
||||
public UIComponents!: PluginObject<Vue>;
|
||||
|
||||
/**
|
||||
* 批量注册Vue组件
|
||||
* @constructor
|
||||
*/
|
||||
public InstallVueConstructor (): PluginObject<Vue> {
|
||||
this.UIComponents = {
|
||||
install: <PluginFunction>(Vue: VueConstructor<Vue>, options: object | undefined) => {
|
||||
this.DbUiComponents.forEach((key: VueConstructor<Vue>, _index: number, _arr: VueConstructor<Vue>[]) => {
|
||||
Vue.component(`${Config.domPrefix}${key.name}`, key);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
this.AutoInstall();
|
||||
return this.UIComponents;
|
||||
}
|
||||
|
||||
/**
|
||||
* 挂载Vue到windows上
|
||||
* @constructor
|
||||
*/
|
||||
public AutoInstall(): void{
|
||||
if (typeof window !== 'undefined' && window.Vue) {
|
||||
this.UIComponents.install(window.Vue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default (new Init).InstallVueConstructor();
|
||||
1
dbui/src/styles/.pydio
Normal file
1
dbui/src/styles/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
e31f46b4-4528-4262-9e14-eee38529996e
|
||||
1
dbui/src/styles/color/.pydio
Normal file
1
dbui/src/styles/color/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
0ee3c174-bee0-42b2-8513-a28274bd0fcb
|
||||
0
dbui/src/styles/color/base.less
Normal file
0
dbui/src/styles/color/base.less
Normal file
1
dbui/src/styles/color/dart.less
Normal file
1
dbui/src/styles/color/dart.less
Normal file
@@ -0,0 +1 @@
|
||||
@import "base";
|
||||
2
dbui/src/styles/color/index.less
Normal file
2
dbui/src/styles/color/index.less
Normal file
@@ -0,0 +1,2 @@
|
||||
@import "light";
|
||||
@import "dart";
|
||||
1
dbui/src/styles/color/light.less
Normal file
1
dbui/src/styles/color/light.less
Normal file
@@ -0,0 +1 @@
|
||||
@import "base";
|
||||
1
dbui/src/styles/common/.pydio
Normal file
1
dbui/src/styles/common/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
10dba2d1-7cd4-4cda-8a9f-e0c051ec86b4
|
||||
1
dbui/src/styles/common/index.less
Normal file
1
dbui/src/styles/common/index.less
Normal file
@@ -0,0 +1 @@
|
||||
@import "normalize";
|
||||
462
dbui/src/styles/common/normalize.less
vendored
Normal file
462
dbui/src/styles/common/normalize.less
vendored
Normal file
@@ -0,0 +1,462 @@
|
||||
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
|
||||
|
||||
/**
|
||||
* 1. Change the default font family in all browsers (opinionated).
|
||||
* 2. Correct the line height in all browsers.
|
||||
* 3. Prevent adjustments of font size after orientation changes in
|
||||
* IE on Windows Phone and in iOS.
|
||||
*/
|
||||
|
||||
/* Document
|
||||
========================================================================== */
|
||||
|
||||
html {
|
||||
font-family: sans-serif; /* 1 */
|
||||
line-height: 1.15; /* 2 */
|
||||
-ms-text-size-adjust: 100%; /* 3 */
|
||||
-webkit-text-size-adjust: 100%; /* 3 */
|
||||
}
|
||||
|
||||
/* Sections
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 9-.
|
||||
*/
|
||||
|
||||
article,
|
||||
aside,
|
||||
footer,
|
||||
header,
|
||||
nav,
|
||||
section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the font size and margin on `h1` elements within `section` and
|
||||
* `article` contexts in Chrome, Firefox, and Safari.
|
||||
*/
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
/* Grouping content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 9-.
|
||||
* 1. Add the correct display in IE.
|
||||
*/
|
||||
|
||||
figcaption,
|
||||
figure,
|
||||
main { /* 1 */
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct margin in IE 8.
|
||||
*/
|
||||
|
||||
figure {
|
||||
margin: 1em 40px;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in Firefox.
|
||||
* 2. Show the overflow in Edge and IE.
|
||||
*/
|
||||
|
||||
hr {
|
||||
box-sizing: content-box; /* 1 */
|
||||
height: 0; /* 1 */
|
||||
overflow: visible; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
pre {
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
|
||||
/* Text-level semantics
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Remove the gray background on active links in IE 10.
|
||||
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
|
||||
*/
|
||||
|
||||
a {
|
||||
background-color: transparent; /* 1 */
|
||||
-webkit-text-decoration-skip: objects; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the outline on focused links when they are also active or hovered
|
||||
* in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline-width: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Remove the bottom border in Firefox 39-.
|
||||
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
||||
*/
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: none; /* 1 */
|
||||
text-decoration: underline; /* 2 */
|
||||
text-decoration: underline dotted; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent the duplicate application of `bolder` by the next rule in Safari 6.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: inherit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font weight in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font style in Android 4.3-.
|
||||
*/
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct background and color in IE 9-.
|
||||
*/
|
||||
|
||||
mark {
|
||||
background-color: #ff0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font size in all browsers.
|
||||
*/
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent `sub` and `sup` elements from affecting the line height in
|
||||
* all browsers.
|
||||
*/
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
/* Embedded content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 9-.
|
||||
*/
|
||||
|
||||
audio,
|
||||
video {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in iOS 4-7.
|
||||
*/
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the border on images inside links in IE 10-.
|
||||
*/
|
||||
|
||||
img {
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide the overflow in IE.
|
||||
*/
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Forms
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Change the font styles in all browsers (opinionated).
|
||||
* 2. Remove the margin in Firefox and Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
font-family: sans-serif; /* 1 */
|
||||
font-size: 100%; /* 1 */
|
||||
line-height: 1.15; /* 1 */
|
||||
margin: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the overflow in IE.
|
||||
* 1. Show the overflow in Edge.
|
||||
*/
|
||||
|
||||
button,
|
||||
input { /* 1 */
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inheritance of text transform in Edge, Firefox, and IE.
|
||||
* 1. Remove the inheritance of text transform in Firefox.
|
||||
*/
|
||||
|
||||
button,
|
||||
select { /* 1 */
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
|
||||
* controls in Android 4.
|
||||
* 2. Correct the inability to style clickable types in iOS and Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
html [type="button"], /* 1 */
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner border and padding in Firefox.
|
||||
*/
|
||||
|
||||
button::-moz-focus-inner,
|
||||
[type="button"]::-moz-focus-inner,
|
||||
[type="reset"]::-moz-focus-inner,
|
||||
[type="submit"]::-moz-focus-inner {
|
||||
border-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore the focus styles unset by the previous rule.
|
||||
*/
|
||||
|
||||
button:-moz-focusring,
|
||||
[type="button"]:-moz-focusring,
|
||||
[type="reset"]:-moz-focusring,
|
||||
[type="submit"]:-moz-focusring {
|
||||
outline: 1px dotted ButtonText;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the border, margin, and padding in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
border: 1px solid #c0c0c0;
|
||||
margin: 0 2px;
|
||||
padding: 0.35em 0.625em 0.75em;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the text wrapping in Edge and IE.
|
||||
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
||||
* 3. Remove the padding so developers are not caught out when they zero out
|
||||
* `fieldset` elements in all browsers.
|
||||
*/
|
||||
|
||||
legend {
|
||||
box-sizing: border-box; /* 1 */
|
||||
color: inherit; /* 2 */
|
||||
display: table; /* 1 */
|
||||
max-width: 100%; /* 1 */
|
||||
padding: 0; /* 3 */
|
||||
white-space: normal; /* 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct display in IE 9-.
|
||||
* 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
||||
*/
|
||||
|
||||
progress {
|
||||
display: inline-block; /* 1 */
|
||||
vertical-align: baseline; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the default vertical scrollbar in IE.
|
||||
*/
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in IE 10-.
|
||||
* 2. Remove the padding in IE 10-.
|
||||
*/
|
||||
|
||||
[type="checkbox"],
|
||||
[type="radio"] {
|
||||
box-sizing: border-box; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the cursor style of increment and decrement buttons in Chrome.
|
||||
*/
|
||||
|
||||
[type="number"]::-webkit-inner-spin-button,
|
||||
[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the odd appearance in Chrome and Safari.
|
||||
* 2. Correct the outline style in Safari.
|
||||
*/
|
||||
|
||||
[type="search"] {
|
||||
-webkit-appearance: textfield; /* 1 */
|
||||
outline-offset: -2px; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
|
||||
*/
|
||||
|
||||
[type="search"]::-webkit-search-cancel-button,
|
||||
[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inability to style clickable types in iOS and Safari.
|
||||
* 2. Change font properties to `inherit` in Safari.
|
||||
*/
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
-webkit-appearance: button; /* 1 */
|
||||
font: inherit; /* 2 */
|
||||
}
|
||||
|
||||
/* Interactive
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Add the correct display in IE 9-.
|
||||
* 1. Add the correct display in Edge, IE, and Firefox.
|
||||
*/
|
||||
|
||||
details, /* 1 */
|
||||
menu {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add the correct display in all browsers.
|
||||
*/
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
/* Scripting
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 9-.
|
||||
*/
|
||||
|
||||
canvas {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in IE.
|
||||
*/
|
||||
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Hidden
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 10-.
|
||||
*/
|
||||
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
||||
1
dbui/src/styles/components/.pydio
Normal file
1
dbui/src/styles/components/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
56f654dd-b50e-444b-ba71-7a8a0c9a816b
|
||||
0
dbui/src/styles/components/button.less
Normal file
0
dbui/src/styles/components/button.less
Normal file
2
dbui/src/styles/components/index.less
Normal file
2
dbui/src/styles/components/index.less
Normal file
@@ -0,0 +1,2 @@
|
||||
@import "list";
|
||||
@import "button";
|
||||
0
dbui/src/styles/components/list.less
Normal file
0
dbui/src/styles/components/list.less
Normal file
8
dbui/src/styles/index.less
Normal file
8
dbui/src/styles/index.less
Normal file
@@ -0,0 +1,8 @@
|
||||
// ui组件样式
|
||||
@import "components/index";
|
||||
|
||||
// 公共函数样式
|
||||
@import "common/index";
|
||||
|
||||
// 基础颜色样式
|
||||
@import "color/index";
|
||||
1
dbui/src/styles/mixins/.pydio
Normal file
1
dbui/src/styles/mixins/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
6c4c88fe-a929-4a87-bc3c-15ef45848bb4
|
||||
1
dbui/test/.pydio
Normal file
1
dbui/test/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
5685b3e4-d0a9-4ebc-9e4b-efb968cd5fba
|
||||
29
dbui/test/index.html
Normal file
29
dbui/test/index.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
|
||||
<script type="text/javascript" src="../dist/dbui.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div id="app">
|
||||
<db-list :Demos="'打包后测试dbui.min.js'"></db-list>
|
||||
{{ message }}
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
var app = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
message: 'Hello Vue!'
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
36
dbui/tsconfig.json
Normal file
36
dbui/tsconfig.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es5",
|
||||
"module": "esnext",
|
||||
"strict": true,
|
||||
"jsx": "preserve",
|
||||
"importHelpers": true,
|
||||
"moduleResolution": "node",
|
||||
"experimentalDecorators": true,
|
||||
"emitDecoratorMetadata": true,
|
||||
"esModuleInterop": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"sourceMap": true,
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["src/*"]
|
||||
},
|
||||
"lib": [
|
||||
"esnext",
|
||||
"dom",
|
||||
"dom.iterable",
|
||||
"scripthost"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
"types/*.ts",
|
||||
"src/**/*.ts",
|
||||
"src/**/*.tsx",
|
||||
"src/**/*.vue",
|
||||
"examples/**/*.vue",
|
||||
"examples/**/*.ts"
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules"
|
||||
]
|
||||
}
|
||||
1
dbui/types/.pydio
Normal file
1
dbui/types/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
64c4fffe-e3df-4ab4-bc17-ab130374231f
|
||||
4
dbui/types/shims-vue.d.ts
vendored
Normal file
4
dbui/types/shims-vue.d.ts
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
declare module "*.vue" {
|
||||
import Vue from "vue";
|
||||
export default Vue;
|
||||
}
|
||||
32
iview/.babelrc
Normal file
32
iview/.babelrc
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"presets": [
|
||||
["env", {
|
||||
"loose": false,
|
||||
"modules": "commonjs",
|
||||
"spec": true,
|
||||
"targets": {
|
||||
"browsers": [
|
||||
"last 3 Chrome versions",
|
||||
"last 3 Firefox versions",
|
||||
"Safari >= 10",
|
||||
"Explorer >= 11",
|
||||
"Edge >= 12",
|
||||
"iOS >= 10",
|
||||
"Android >= 6"
|
||||
]
|
||||
},
|
||||
"useBuiltIns": "usage",
|
||||
"debug": false
|
||||
}],
|
||||
"stage-3"
|
||||
],
|
||||
"plugins": [
|
||||
"dynamic-import-node",
|
||||
"transform-class-properties",
|
||||
"transform-es5-property-mutators",
|
||||
"transform-object-rest-spread",
|
||||
"transform-runtime",
|
||||
"transform-vue-jsx"
|
||||
],
|
||||
"comments": false
|
||||
}
|
||||
25
iview/.editorconfig
Normal file
25
iview/.editorconfig
Normal file
@@ -0,0 +1,25 @@
|
||||
# This file is for unifying the coding style for different editors and IDEs
|
||||
# editorconfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
# every file
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
# 4 space indentation
|
||||
[*.py]
|
||||
indent_size = 4
|
||||
|
||||
# Tab indentation (no size specified)
|
||||
[Makefile]
|
||||
indent_style = tab
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
2
iview/.eslintignore
Normal file
2
iview/.eslintignore
Normal file
@@ -0,0 +1,2 @@
|
||||
src/directives
|
||||
src/utils/throttle.js
|
||||
24
iview/.eslintrc.json
Normal file
24
iview/.eslintrc.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"root": true,
|
||||
"parserOptions": {
|
||||
"ecmaFeatures": {
|
||||
"experimentalObjectRestSpread": true
|
||||
},
|
||||
"ecmaVersion": 6,
|
||||
"sourceType": "module"
|
||||
},
|
||||
"env": {
|
||||
"browser": true,
|
||||
"commonjs": true,
|
||||
"es6": true
|
||||
},
|
||||
"extends": "eslint:recommended",
|
||||
"plugins": ["vue"],
|
||||
"rules": {
|
||||
"indent": ["error", 4, { "SwitchCase": 1 }],
|
||||
"quotes": ["error", "single"],
|
||||
"semi": ["error", "always"],
|
||||
"vue/jsx-uses-vars": 2,
|
||||
"no-console": ["error"]
|
||||
}
|
||||
}
|
||||
1
iview/.gitattributes
vendored
Normal file
1
iview/.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
||||
src/styles/**/* linguist-vendored=false
|
||||
1
iview/.github/.pydio
vendored
Normal file
1
iview/.github/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
cdb5409e-47b4-4dbb-ae93-b7f63e573475
|
||||
14
iview/.github/ISSUE_TEMPLATE.md
vendored
Executable file
14
iview/.github/ISSUE_TEMPLATE.md
vendored
Executable file
@@ -0,0 +1,14 @@
|
||||
<!--
|
||||
Bug 反馈、新功能请求,请到下面提交 issues:
|
||||
|
||||
http://iview.talkingdata.com/#/new-issue
|
||||
|
||||
不是用上面的链接创建的 issue 会被立即关闭。
|
||||
-->
|
||||
<!--
|
||||
IMPORTANT: Please use the following link to create a new issue:
|
||||
|
||||
http://iview.talkingdata.com/#/new-issue
|
||||
|
||||
If your issue was not created using the app above, it will be closed immediately.
|
||||
-->
|
||||
4
iview/.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
4
iview/.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<!-- 目前请提交 PR 到 2.0 分支 | Please send PR to 2.0 branch -->
|
||||
<!-- 请不要提交 dist 的内容 | Please do not commit dist file -->
|
||||
<!-- 请先运行 npm install 和 npm test,通过测试后再提交您的 pr -->
|
||||
<!-- Please run `npm install` and `npm test` to test your changes before submitting a pull request -->
|
||||
23
iview/.gitignore
vendored
Normal file
23
iview/.gitignore
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
*.iml
|
||||
.idea
|
||||
.ipr
|
||||
.iws
|
||||
*.diff
|
||||
*.patch
|
||||
*.bak
|
||||
.DS_Store
|
||||
node_modules/
|
||||
node_modules2/
|
||||
.project
|
||||
.settings
|
||||
npm-debug.log
|
||||
.*proj
|
||||
.svn/
|
||||
*.swp
|
||||
*.swo
|
||||
*.log
|
||||
examples/dist/
|
||||
yarn-error.log
|
||||
test/unit/coverage
|
||||
.vscode
|
||||
package-lock.json
|
||||
7
iview/.npmignore
Normal file
7
iview/.npmignore
Normal file
@@ -0,0 +1,7 @@
|
||||
.*
|
||||
*.md
|
||||
*.yml
|
||||
build/
|
||||
node_modules/
|
||||
test/
|
||||
gulpfile.js
|
||||
1
iview/.pydio
Normal file
1
iview/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
1785a462-5d89-4bb4-b8b8-2d49577b059f
|
||||
9
iview/.travis.yml
Normal file
9
iview/.travis.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
sudo: required
|
||||
language: node_js
|
||||
node_js:
|
||||
- '8'
|
||||
script:
|
||||
- 'npm run test'
|
||||
before_script:
|
||||
- 'sudo chown root /opt/google/chrome/chrome-sandbox'
|
||||
- 'sudo chmod 4755 /opt/google/chrome/chrome-sandbox'
|
||||
60
iview/CHANGE.md
Normal file
60
iview/CHANGE.md
Normal file
@@ -0,0 +1,60 @@
|
||||
### Button
|
||||
可以考虑是否支持 @click,而不用 @click.native
|
||||
### Input
|
||||
使用 v-model,增加 on-input-change // todo 考虑更名
|
||||
### RadioGroup
|
||||
使用 v-model
|
||||
### Radio
|
||||
value 改为了 label,使用 v-model,废弃 checked
|
||||
### Checkbox
|
||||
使用 v-model
|
||||
### CheckboxGroup
|
||||
value 改为了 label,使用 v-model,废弃 checked
|
||||
### Switch
|
||||
废弃checked, 改为了 value,使用 v-model
|
||||
### Badge
|
||||
class 改为了 className
|
||||
### InputNumber
|
||||
使用 v-model
|
||||
### Progress (名称有警告)
|
||||
新增 on-status-change 事件
|
||||
### Upload
|
||||
父级不能 computed Upload 的 fileList 了
|
||||
### Collapse
|
||||
废弃 activeKey,使用 v-model,key 是保留的,更名为 name
|
||||
### Carousel
|
||||
废弃 activeIndex,使用 v-model,v-for="n in slides.length",Vue2的数字循环,是从1开始的
|
||||
### Tree
|
||||
废弃 data,改为 value,使用 v-model,key 更名为 name,不能再 template 的prop 上使用 this
|
||||
### Circle
|
||||
改名为 iCircle
|
||||
### Tabs
|
||||
废弃 activeKey,改用 value,使用 v-model,key 更名为 name
|
||||
### popper.js 将 prop: visible 移至 data 里
|
||||
### Slider
|
||||
支持 v-model
|
||||
### Dropdown
|
||||
DropdownItem key 改为 name, Dropdown 的 visible 要使用 @on-visible-change 捕获,不再 sync
|
||||
DropdownItem 里,this.$parent.$parent 与1.0 有区别
|
||||
### Menu
|
||||
MenuItem 和 Submenu 的 key 改为了 name
|
||||
Menu 的 activeKey 改为 activeName,openKeys 改为 openNames
|
||||
### Cascader
|
||||
Caspanel 的 sublist 从 prop -> data
|
||||
### Select
|
||||
model 改为 value,支持 v-model
|
||||
### Page
|
||||
class 改为 className
|
||||
### DatePicker
|
||||
使用 v-model
|
||||
### LoadingBar
|
||||
部分 prop 移至 data
|
||||
### Modal
|
||||
visible 改为 value,使用 v-model,style 改为 styles,$Modal 的关闭有改动,建议后面在纯 html 模式下测试
|
||||
### Table
|
||||
i-table 改为 Table
|
||||
### Message
|
||||
notice.vue 的 key 改为了 name,style 改为 styles
|
||||
notification.vue 的 key 改为了 name,style 改为 styles
|
||||
## Popper
|
||||
移除了 visible,使用 value 受控,可能涉及到的组件:Poptip、Tooltip
|
||||
176
iview/LICENSE
Normal file
176
iview/LICENSE
Normal file
@@ -0,0 +1,176 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016-present TalkingData
|
||||
|
||||
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.
|
||||
|
||||
MIT LICENSE
|
||||
|
||||
Copyright (c) 2015-present Alipay.com, https://www.alipay.com/
|
||||
|
||||
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.
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 ElemeFE
|
||||
|
||||
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.
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 Koala
|
||||
|
||||
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.
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 vue-beauty
|
||||
|
||||
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.
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2016-present, Airyland
|
||||
|
||||
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.
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 Drifty (http://drifty.com/)
|
||||
|
||||
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.
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 greyby
|
||||
|
||||
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.
|
||||
137
iview/README.md
Normal file
137
iview/README.md
Normal file
@@ -0,0 +1,137 @@
|
||||
<p align="center">
|
||||
<a href="http://iview.talkingdata.com/">
|
||||
<img width="200" src="https://file.iviewui.com/logo-new.svg">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<h1>
|
||||
iView
|
||||
<h3>A high quality UI Toolkit built on Vue.js.</h3>
|
||||
</h1>
|
||||
|
||||
[](https://travis-ci.org/iview/iview)
|
||||
[](https://www.npmjs.org/package/iview)
|
||||
[](https://npmjs.org/package/iview)
|
||||
[](https://npmjs.org/package/iview)
|
||||

|
||||

|
||||
[](https://gitter.im/iview/iview?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
[](#backers)
|
||||
[](#sponers)
|
||||
|
||||
|
||||
## Docs
|
||||
|
||||
**[3.x](http://iview.talkingdata.com/)** | [2.x](http://v2.iviewui.com) | [1.x](http://v1.iviewui.com)
|
||||
|
||||
## Features
|
||||
|
||||
- Dozens of useful and beautiful components.
|
||||
- Friendly API. It's made for people with any skill level.
|
||||
- Extensive documentation and demos.
|
||||
- It is quite beautiful.
|
||||
- Supports both Vue.js 2 and Vue.js 1.
|
||||
|
||||
## Who's using iView
|
||||
|
||||
- [TalkingData 腾云天下](http://www.talkingdata.com/)
|
||||
- [Alibaba 阿里巴巴](http://www.alibaba.com/)
|
||||
- [Baidu 百度](https://www.baidu.com/)
|
||||
- [Tencent 腾讯](https://www.tencent.com/)
|
||||
- [Toutiao 今日头条](https://www.toutiao.com/)
|
||||
- [JD 京东](http://www.jd.com/)
|
||||
- [DiDi 滴滴](http://www.didichuxing.com/)
|
||||
- [Meituan 美团](http://www.meituan.com/)
|
||||
- [Sina 新浪](http://www.sina.com.cn/)
|
||||
- [iFLYTEK 科大讯飞](http://www.iflytek.com/)
|
||||
- [LY 同程艺龙](https://www.ly.com/)
|
||||
|
||||
> If your company or products use iView, welcome to click [here](https://github.com/iview/iview/issues/2143) to leave a message.
|
||||
|
||||
## Install
|
||||
|
||||
We provide an [iView plugin](https://github.com/iview/vue-cli-plugin-iview) for Vue CLI 3, which you can use to quickly build an iView-based project.
|
||||
|
||||
We also provide a starter kit [iview-project](https://github.com/iview/iview-project) for you.
|
||||
|
||||
### Install iView
|
||||
|
||||
Using npm:
|
||||
```
|
||||
npm install iview --save
|
||||
```
|
||||
|
||||
Using a script tag for global use:
|
||||
|
||||
```html
|
||||
<script type="text/javascript" src="iview.min.js"></script>
|
||||
<link rel="stylesheet" href="dist/styles/iview.css">
|
||||
```
|
||||
|
||||
You can find more info [on the website](https://www.iviewui.com/docs/guide/install-en).
|
||||
|
||||
## Usage
|
||||
|
||||
```vue
|
||||
<template>
|
||||
<Slider v-model="value" range />
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
value: [20, 50]
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
```
|
||||
|
||||
Using css via `import`:
|
||||
|
||||
```js
|
||||
import 'iview/dist/styles/iview.css';
|
||||
```
|
||||
|
||||
## Compatibility
|
||||
|
||||
- Supports Vue.js 2.x
|
||||
- Supports Vue.js 1.x - [visit 1.0 docs](http://v1.iviewui.com/)
|
||||
- Supports SSR
|
||||
- Supports [Nuxt.js](https://nuxtjs.org/)
|
||||
- Supports TypeScript
|
||||
- Supports [Electron](http://electron.atom.io/)
|
||||
- Most components and features support IE9 and above browsers, some components and features do not support IE
|
||||
|
||||
## Community
|
||||
|
||||
If you want to contribute or have questions or bugs to report:
|
||||
|
||||
**Questions:** Find other users at the [Gitter chat](https://gitter.im/iview/iview) or post on [StackOverflow using `[iview-ui]` tag](https://stackoverflow.com/questions/tagged/iview-ui)
|
||||
**Bugs:** [File a issue here](https://github.com/iview/iview/issues) - please provide a example so we can help you better
|
||||
**Contribute:** Contact us in [Gitter chat](https://gitter.im/iview/iview), WeChat or via mail to `iview@tendcloud.com`. PRs welcome!
|
||||
|
||||
## Major Contributors
|
||||
|Name|Avatar|Name|Avatar|Name|Avatar|
|
||||
|---|---|---|---|---|---|
|
||||
|[Aresn](https://github.com/icarusion) |  |[jingsam](https://github.com/jingsam) |  | [rijn](https://github.com/rijn) |  |
|
||||
|[lcx960324](https://github.com/lcx960324) |  |[GITleonine1989](https://github.com/GITleonine1989) |  |[huixisheng](https://github.com/huixisheng) |  |
|
||||
|[Sergio Crisostomo](https://github.com/SergioCrisostomo) |  | [lison16](https://github.com/lison16) |  | [Xotic750](https://github.com/Xotic750) |  |
|
||||
[huanghong1125](https://github.com/huanghong1125) |  | [yangdan8](https://github.com/yangdan8) |  |
|
||||
|
||||
|
||||
## Ecosystem Links
|
||||
|
||||
- [iView Developer](https://dev.iviewui.com)
|
||||
- [iView Run](https://run.iviewui.com)
|
||||
- [iView-Admin](https://github.com/iview/iview-admin)
|
||||
- [iView-Loader](https://github.com/iview/iview-loader)
|
||||
- [iView-Plugin](https://github.com/iview/vue-cli-plugin-iview)
|
||||
- [iView-Area](https://github.com/iview/iview-area)
|
||||
- [iView-Editor](https://github.com/iview/iview-editor)
|
||||
|
||||
|
||||
## License
|
||||
[MIT](http://opensource.org/licenses/MIT)
|
||||
|
||||
Copyright (c) 2016-present, TalkingData
|
||||
1
iview/assets/.pydio
Normal file
1
iview/assets/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
73e67365-4ca3-42fb-a1be-0aa5c2d940dc
|
||||
BIN
iview/assets/iview.png
Normal file
BIN
iview/assets/iview.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 160 KiB |
BIN
iview/assets/iview2.png
Normal file
BIN
iview/assets/iview2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 161 KiB |
BIN
iview/assets/logo.png
Normal file
BIN
iview/assets/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
15
iview/assets/logo.svg
Normal file
15
iview/assets/logo.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 72 72" style="enable-background:new 0 0 72 72;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#3399FF;}
|
||||
.st1{fill:#00CC99;}
|
||||
</style>
|
||||
<polygon id="XMLID_85_" class="st0" points="59.1,12.3 19.2,12.3 25.4,21.4 53,21.4 49.5,26.6 39.2,41.9 44.7,50.1 60.6,26.6
|
||||
64.1,21.4 70.3,12.3 "/>
|
||||
<g id="XMLID_36_">
|
||||
<polygon id="XMLID_57_" class="st1" points="41.5,54.9 36,46.6 36,46.6 22.4,26.6 11.3,26.6 30.4,54.9 30.4,54.9 36,63.1 "/>
|
||||
<polygon id="XMLID_44_" class="st1" points="12.8,12.3 1.7,12.3 7.8,21.4 19,21.4 "/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 810 B |
8
iview/build/.eslintrc.json
Normal file
8
iview/build/.eslintrc.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": [
|
||||
"../.eslintrc.json"
|
||||
],
|
||||
"env": {
|
||||
"node": true
|
||||
}
|
||||
}
|
||||
1
iview/build/.pydio
Normal file
1
iview/build/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
c70d76bd-2018-4340-bdcb-0afb4cfb9aac
|
||||
25
iview/build/build-style.js
Normal file
25
iview/build/build-style.js
Normal file
@@ -0,0 +1,25 @@
|
||||
const gulp = require('gulp');
|
||||
const cleanCSS = require('gulp-clean-css');
|
||||
const less = require('gulp-less');
|
||||
const rename = require('gulp-rename');
|
||||
const autoprefixer = require('gulp-autoprefixer');
|
||||
|
||||
// 编译less
|
||||
gulp.task('css', function () {
|
||||
gulp.src('../src/styles/index.less')
|
||||
.pipe(less())
|
||||
.pipe(autoprefixer({
|
||||
browsers: ['last 2 versions', 'ie > 8']
|
||||
}))
|
||||
.pipe(cleanCSS())
|
||||
.pipe(rename('iview.css'))
|
||||
.pipe(gulp.dest('../dist/styles'));
|
||||
});
|
||||
|
||||
// 拷贝字体文件
|
||||
gulp.task('fonts', function () {
|
||||
gulp.src('../src/styles/common/iconfont/fonts/*.*')
|
||||
.pipe(gulp.dest('../dist/styles/fonts'));
|
||||
});
|
||||
|
||||
gulp.task('default', ['css', 'fonts']);
|
||||
8
iview/build/locale.js
Normal file
8
iview/build/locale.js
Normal file
@@ -0,0 +1,8 @@
|
||||
const readDir = require('fs').readdirSync;
|
||||
const files = readDir('./src/locale/lang');
|
||||
const entry = {};
|
||||
files.forEach(file => {
|
||||
const name = file.split('.')[0];
|
||||
entry[name] = './src/locale/lang/' + file;
|
||||
});
|
||||
module.exports = entry;
|
||||
151
iview/build/webpack.base.config.js
Normal file
151
iview/build/webpack.base.config.js
Normal file
@@ -0,0 +1,151 @@
|
||||
/**
|
||||
* 公共配置
|
||||
*/
|
||||
const path = require('path');
|
||||
const webpack = require('webpack');
|
||||
const pkg = require('../package.json');
|
||||
|
||||
function resolve (dir) {
|
||||
return path.join(__dirname, '..', dir);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
// 加载器
|
||||
module: {
|
||||
// https://doc.webpack-china.org/guides/migrating/#module-loaders-module-rules
|
||||
rules: [
|
||||
{
|
||||
// https://vue-loader.vuejs.org/en/configurations/extract-css.html
|
||||
test: /\.vue$/,
|
||||
loader: 'vue-loader',
|
||||
options: {
|
||||
loaders: {
|
||||
css: [
|
||||
'vue-style-loader',
|
||||
{
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
],
|
||||
less: [
|
||||
'vue-style-loader',
|
||||
{
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'less-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
postLoaders: {
|
||||
html: 'babel-loader?sourceMap'
|
||||
},
|
||||
sourceMap: true,
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.js$/,
|
||||
loader: 'babel-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
exclude: /node_modules/,
|
||||
},
|
||||
{
|
||||
test: /\.css$/,
|
||||
loaders: [
|
||||
{
|
||||
loader: 'style-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: '\'autoprefixer-loader\'',
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
test: /\.less$/,
|
||||
loaders: [
|
||||
{
|
||||
loader: 'style-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'less-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
test: /\.scss$/,
|
||||
loaders: [
|
||||
{
|
||||
loader: 'style-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'sass-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/,
|
||||
loader: 'url-loader?limit=8192'
|
||||
},
|
||||
{
|
||||
test: /\.(html|tpl)$/,
|
||||
loader: 'html-loader'
|
||||
}
|
||||
]
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.js', '.vue'],
|
||||
alias: {
|
||||
'vue': 'vue/dist/vue.esm.js',
|
||||
'@': resolve('src')
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
new webpack.optimize.ModuleConcatenationPlugin(),
|
||||
new webpack.DefinePlugin({
|
||||
'process.env.VERSION': `'${pkg.version}'`
|
||||
}),
|
||||
]
|
||||
};
|
||||
45
iview/build/webpack.dev.config.js
Normal file
45
iview/build/webpack.dev.config.js
Normal file
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* 本地预览
|
||||
*/
|
||||
|
||||
const path = require('path');
|
||||
const webpack = require('webpack');
|
||||
// const ExtractTextPlugin = require('extract-text-webpack-plugin');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
const merge = require('webpack-merge');
|
||||
const webpackBaseConfig = require('./webpack.base.config.js');
|
||||
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin');
|
||||
|
||||
|
||||
module.exports = merge(webpackBaseConfig, {
|
||||
devtool: 'eval-source-map',
|
||||
|
||||
// 入口
|
||||
entry: {
|
||||
main: './examples/main',
|
||||
vendors: ['vue', 'vue-router']
|
||||
},
|
||||
// 输出
|
||||
output: {
|
||||
path: path.join(__dirname, '../examples/dist'),
|
||||
publicPath: '',
|
||||
filename: '[name].js',
|
||||
chunkFilename: '[name].chunk.js'
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
iview: '../../src/index',
|
||||
vue: 'vue/dist/vue.esm.js'
|
||||
// vue: 'vue/dist/vue.runtime.js'
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
new webpack.optimize.CommonsChunkPlugin({ name: 'vendors', filename: 'vendor.bundle.js' }),
|
||||
new HtmlWebpackPlugin({
|
||||
inject: true,
|
||||
filename: path.join(__dirname, '../examples/dist/index.html'),
|
||||
template: path.join(__dirname, '../examples/index.html')
|
||||
}),
|
||||
new FriendlyErrorsPlugin()
|
||||
]
|
||||
});
|
||||
38
iview/build/webpack.dist.dev.config.js
Normal file
38
iview/build/webpack.dist.dev.config.js
Normal file
@@ -0,0 +1,38 @@
|
||||
const path = require('path');
|
||||
const webpack = require('webpack');
|
||||
const merge = require('webpack-merge');
|
||||
const webpackBaseConfig = require('./webpack.base.config.js');
|
||||
|
||||
process.env.NODE_ENV = 'production';
|
||||
|
||||
module.exports = merge(webpackBaseConfig, {
|
||||
devtool: 'source-map',
|
||||
|
||||
entry: {
|
||||
main: './src/index.js'
|
||||
},
|
||||
output: {
|
||||
path: path.resolve(__dirname, '../dist'),
|
||||
publicPath: '/dist/',
|
||||
filename: 'iview.js',
|
||||
library: 'iview',
|
||||
libraryTarget: 'umd',
|
||||
umdNamedDefine: true
|
||||
},
|
||||
externals: {
|
||||
vue: {
|
||||
root: 'Vue',
|
||||
commonjs: 'vue',
|
||||
commonjs2: 'vue',
|
||||
amd: 'vue'
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
// @todo
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': {
|
||||
NODE_ENV: '"production"'
|
||||
}
|
||||
})
|
||||
]
|
||||
});
|
||||
50
iview/build/webpack.dist.locale.config.js
Normal file
50
iview/build/webpack.dist.locale.config.js
Normal file
@@ -0,0 +1,50 @@
|
||||
const path = require('path');
|
||||
const webpack = require('webpack');
|
||||
const entry = require('./locale');
|
||||
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
|
||||
|
||||
process.env.NODE_ENV = 'production';
|
||||
|
||||
module.exports = {
|
||||
devtool: 'source-map',
|
||||
entry,
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
loader: 'babel-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
exclude: /node_modules/
|
||||
}
|
||||
]
|
||||
},
|
||||
output: {
|
||||
path: path.resolve(__dirname, '../dist/locale'),
|
||||
publicPath: '/dist/locale/',
|
||||
filename: '[name].js',
|
||||
library: 'iview/locale',
|
||||
libraryTarget: 'umd',
|
||||
umdNamedDefine: true
|
||||
},
|
||||
externals: {
|
||||
vue: {
|
||||
root: 'Vue',
|
||||
commonjs: 'vue',
|
||||
commonjs2: 'vue',
|
||||
amd: 'vue'
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': {
|
||||
NODE_ENV: '"production"'
|
||||
}
|
||||
}),
|
||||
new UglifyJsPlugin({
|
||||
parallel: true,
|
||||
sourceMap: true,
|
||||
})
|
||||
]
|
||||
};
|
||||
48
iview/build/webpack.dist.prod.config.js
Normal file
48
iview/build/webpack.dist.prod.config.js
Normal file
@@ -0,0 +1,48 @@
|
||||
const path = require('path');
|
||||
const webpack = require('webpack');
|
||||
const merge = require('webpack-merge');
|
||||
const webpackBaseConfig = require('./webpack.base.config.js');
|
||||
const CompressionPlugin = require('compression-webpack-plugin');
|
||||
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
|
||||
|
||||
process.env.NODE_ENV = 'production';
|
||||
|
||||
module.exports = merge(webpackBaseConfig, {
|
||||
devtool: 'source-map',
|
||||
entry: {
|
||||
main: './src/index.js'
|
||||
},
|
||||
output: {
|
||||
path: path.resolve(__dirname, '../dist'),
|
||||
publicPath: '/dist/',
|
||||
filename: 'iview.min.js',
|
||||
library: 'iview',
|
||||
libraryTarget: 'umd',
|
||||
umdNamedDefine: true
|
||||
},
|
||||
externals: {
|
||||
vue: {
|
||||
root: 'Vue',
|
||||
commonjs: 'vue',
|
||||
commonjs2: 'vue',
|
||||
amd: 'vue'
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
// @todo
|
||||
new webpack.DefinePlugin({
|
||||
'process.env.NODE_ENV': '"production"'
|
||||
}),
|
||||
new UglifyJsPlugin({
|
||||
parallel: true,
|
||||
sourceMap: true
|
||||
}),
|
||||
new CompressionPlugin({
|
||||
asset: '[path].gz[query]',
|
||||
algorithm: 'gzip',
|
||||
test: /\.(js|css)$/,
|
||||
threshold: 10240,
|
||||
minRatio: 0.8
|
||||
})
|
||||
]
|
||||
});
|
||||
24
iview/build/webpack.test.config.js
Normal file
24
iview/build/webpack.test.config.js
Normal file
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* 用于单元测试
|
||||
*/
|
||||
|
||||
const webpack = require('webpack');
|
||||
const merge = require('webpack-merge');
|
||||
const webpackBaseConfig = require('./webpack.base.config.js');
|
||||
|
||||
|
||||
const webpackConfig = merge(webpackBaseConfig, {
|
||||
devtool: 'eval-source-map',
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': {
|
||||
NODE_ENV: '"testing"'
|
||||
}
|
||||
})
|
||||
]
|
||||
});
|
||||
|
||||
// no need for app entry during tests
|
||||
delete webpackConfig.entry;
|
||||
|
||||
module.exports = webpackConfig;
|
||||
1
iview/dist/.pydio
vendored
Normal file
1
iview/dist/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
13d261cb-7d92-4925-a0ea-ba25a2e7034e
|
||||
43534
iview/dist/iview.js
vendored
Normal file
43534
iview/dist/iview.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
iview/dist/iview.js.map
vendored
Normal file
1
iview/dist/iview.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
27
iview/dist/iview.min.js
vendored
Normal file
27
iview/dist/iview.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
iview/dist/iview.min.js.gz
vendored
Normal file
BIN
iview/dist/iview.min.js.gz
vendored
Normal file
Binary file not shown.
1
iview/dist/iview.min.js.map
vendored
Normal file
1
iview/dist/iview.min.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1
iview/dist/locale/.pydio
vendored
Normal file
1
iview/dist/locale/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
969ea3e7-2833-44bf-84b4-b6af5ad556f9
|
||||
2
iview/dist/locale/ar-EG.js
vendored
Normal file
2
iview/dist/locale/ar-EG.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define("iview/locale",["vue"],t):"object"==typeof exports?exports["iview/locale"]=t(require("vue")):e["iview/locale"]=t(e.Vue)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function o(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}return o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/dist/locale/",o(o.s=2)}([function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){n||void 0!==window.iview&&("langs"in iview||(iview.langs={}),iview.langs[e.i.locale]=e)};var n=function(e){return e&&e.__esModule?e:{default:e}}(o(1)).default.prototype.$isServer},function(t,o){t.exports=e},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={i:{locale:"ar-EG",select:{placeholder:"إختيار",noMatch:"لا يوجد تطابق في البيانات",loading:"تحميل"},table:{noDataText:"لا توجد بيانات",noFilteredDataText:"لا توجد بيانات",confirmFilter:"تأكيد",resetFilter:"إعادة تعيين",clearFilter:"الكل"},datepicker:{selectDate:"إختر التاريخ",selectTime:"إختر الوقت",startTime:"وقت البداية",endTime:"وقت النهاية",clear:"إزالة",ok:"حسنا",datePanelLabel:"[mmmm] [yyyy]",month:"شهر",month1:"يناير",month2:"فبراير",month3:"مارس",month4:"أبريل",month5:"مايو",month6:"يونيو",month7:"يوليو",month8:"أغسطس",month9:"سبتمبر",month10:"اكتوبر",month11:"نوفمبر",month12:"ديسمبر",year:"سنة",weekStartDay:"0",weeks:{sun:"أحد",mon:"إثنين",tue:"ثلاثاء",wed:"أربعاء",thu:"خميس",fri:"جمعة",sat:"سبت"},months:{m1:"يناير",m2:"فبراير",m3:"مارس",m4:"أبريل",m5:"مايو",m6:"يونيو",m7:"يوليو",m8:"أغسطس",m9:"سبتمبر",m10:"اكتوبر",m11:"نوفمبر",m12:"ديسمبر"}},transfer:{titles:{source:"المصدر",target:"الهدف"},filterPlaceholder:"إبحث هنا",notFoundText:"لا يوجد"},modal:{okText:"حسنا",cancelText:"إلغاء"},poptip:{okText:"حسنا",cancelText:"إلغاء"},page:{prev:"الصفحة السابقة",next:"الصفحة التالية",total:"المجموع",item:"عنصر",items:"عناصر",prev5:"الخمس صفحات السابقة",next5:"الخمس صفحات التالية",page:"/صفحة",goto:"الذهاب إلى",p:""},rate:{star:"نجمة",stars:"نجوم"},time:{before:" منذ",after:" بعد",just:"الآن",seconds:" ثواني",minutes:" دقائق",hours:" ساعات",days:" أيام"},tree:{emptyText:"لا توجد بيانات"}}};(0,function(e){return e&&e.__esModule?e:{default:e}}(o(0)).default)(n),t.default=n}])});
|
||||
//# sourceMappingURL=ar-EG.js.map
|
||||
1
iview/dist/locale/ar-EG.js.map
vendored
Normal file
1
iview/dist/locale/ar-EG.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
iview/dist/locale/ar-SA.js
vendored
Normal file
2
iview/dist/locale/ar-SA.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define("iview/locale",["vue"],t):"object"==typeof exports?exports["iview/locale"]=t(require("vue")):e["iview/locale"]=t(e.Vue)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function o(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}return o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/dist/locale/",o(o.s=3)}([function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){n||void 0!==window.iview&&("langs"in iview||(iview.langs={}),iview.langs[e.i.locale]=e)};var n=function(e){return e&&e.__esModule?e:{default:e}}(o(1)).default.prototype.$isServer},function(t,o){t.exports=e},,function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={i:{locale:"ar-SA",select:{placeholder:"إختيار",noMatch:"لا يوجد تطابق في البيانات",loading:"تحميل"},table:{noDataText:"لا توجد بيانات",noFilteredDataText:"لا توجد بيانات",confirmFilter:"تأكيد",resetFilter:"إعادة تعيين",clearFilter:"الكل"},datepicker:{selectDate:"إختر التاريخ",selectTime:"إختر الوقت",startTime:"وقت البداية",endTime:"وقت النهاية",clear:"إزالة",ok:"حسنا",datePanelLabel:"[mmmm] [yyyy]",month:"شهر",month1:"يناير",month2:"فبراير",month3:"مارس",month4:"أبريل",month5:"مايو",month6:"يونيو",month7:"يوليو",month8:"أغسطس",month9:"سبتمبر",month10:"اكتوبر",month11:"نوفمبر",month12:"ديسمبر",year:"سنة",weekStartDay:"0",weeks:{sun:"أحد",mon:"إثنين",tue:"ثلاثاء",wed:"أربعاء",thu:"خميس",fri:"جمعة",sat:"سبت"},months:{m1:"يناير",m2:"فبراير",m3:"مارس",m4:"أبريل",m5:"مايو",m6:"يونيو",m7:"يوليو",m8:"أغسطس",m9:"سبتمبر",m10:"اكتوبر",m11:"نوفمبر",m12:"ديسمبر"}},transfer:{titles:{source:"المصدر",target:"الهدف"},filterPlaceholder:"إبحث هنا",notFoundText:"لا يوجد"},modal:{okText:"حسنا",cancelText:"إلغاء"},poptip:{okText:"حسنا",cancelText:"إلغاء"},page:{prev:"الصفحة السابقة",next:"الصفحة التالية",total:"المجموع",item:"عنصر",items:"عناصر",prev5:"الخمس صفحات السابقة",next5:"الخمس صفحات التالية",page:"/صفحة",goto:"الذهاب إلى",p:""},rate:{star:"نجمة",stars:"نجوم"},time:{before:" منذ",after:" بعد",just:"الآن",seconds:" ثواني",minutes:" دقائق",hours:" ساعات",days:" أيام"},tree:{emptyText:"لا توجد بيانات"}}};(0,function(e){return e&&e.__esModule?e:{default:e}}(o(0)).default)(n),t.default=n}])});
|
||||
//# sourceMappingURL=ar-SA.js.map
|
||||
1
iview/dist/locale/ar-SA.js.map
vendored
Normal file
1
iview/dist/locale/ar-SA.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
iview/dist/locale/cs-CZ.js
vendored
Normal file
2
iview/dist/locale/cs-CZ.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define("iview/locale",["vue"],t):"object"==typeof exports?exports["iview/locale"]=t(require("vue")):e["iview/locale"]=t(e.Vue)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:o})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist/locale/",n(n.s=4)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){o||void 0!==window.iview&&("langs"in iview||(iview.langs={}),iview.langs[e.i.locale]=e)};var o=function(e){return e&&e.__esModule?e:{default:e}}(n(1)).default.prototype.$isServer},function(t,n){t.exports=e},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={i:{locale:"cs-CZ",select:{placeholder:"Vybrat",noMatch:"Nenalezeny žádné položky",loading:"Nahrávám"},table:{noDataText:"Žádná data",noFilteredDataText:"Nenalezeny žádné položky",confirmFilter:"Potvrdit",resetFilter:"Reset",clearFilter:"Vše"},datepicker:{selectDate:"Vybrat datum",selectTime:"Vybrat čas",startTime:"Začátek",endTime:"Konec",clear:"Vymazat",ok:"OK",datePanelLabel:"[mmmm] [yyyy]",month:"Měsíc",month1:"Leden",month2:"Únor",month3:"Březen",month4:"Duben",month5:"Květen",month6:"Červen",month7:"Červenec",month8:"Srpen",month9:"Září",month10:"Říjen",month11:"Listopad",month12:"Prosinec",year:"Rok",weekStartDay:"1",weeks:{sun:"Ne",mon:"Po",tue:"Út",wed:"St",thu:"Čt",fri:"Pá",sat:"So"},months:{m1:"Led",m2:"Úno",m3:"Bře",m4:"Dub",m5:"Kvě",m6:"Čer",m7:"Čnc",m8:"Srp",m9:"Zář",m10:"Říj",m11:"Lis",m12:"Pro"}},transfer:{titles:{source:"Zdroj",target:"Cíl"},filterPlaceholder:"Hledat",notFoundText:"Nenalezeno"},modal:{okText:"OK",cancelText:"Zrušit"},poptip:{okText:"OK",cancelText:"Zrušit"},page:{prev:"Následující",next:"Předchozí",total:"Celkem",item:"položka",items:"položek",prev5:"Předchozích 5 stránek",next5:"Následujících 5 stránek",page:"na stránku",goto:"Jít na",p:""},rate:{star:"hvězda",stars:"hvězdy"},tree:{emptyText:"Žádná data"}}};(0,function(e){return e&&e.__esModule?e:{default:e}}(n(0)).default)(o),t.default=o}])});
|
||||
//# sourceMappingURL=cs-CZ.js.map
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user