@kyvi/kv_ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,49 @@
1
+ const hasOwnProperty = Object.prototype.hasOwnProperty;
2
+
3
+ export function hasOwn (obj, key) {
4
+ return hasOwnProperty.call(obj, key);
5
+ };
6
+ const RE_NARGS = /(%|)\{([0-9a-zA-Z_]+)\}/g;
7
+ /**
8
+ * String format template
9
+ * - Inspired:
10
+ * https://github.com/Matt-Esch/string-template/index.js
11
+ */
12
+ export default function (Vue) {
13
+
14
+ /**
15
+ * template
16
+ *
17
+ * @param {String} string
18
+ * @param {Array} ...args
19
+ * @return {String}
20
+ */
21
+
22
+ function template (string = '', ...args) {
23
+ if (args.length === 1 && typeof args[0] === 'object') {
24
+ args = args[0];
25
+ }
26
+
27
+ if (!args || !args.hasOwnProperty) {
28
+ args = {};
29
+ }
30
+
31
+ return string.replace(RE_NARGS, (match, prefix, i, index) => {
32
+ let result;
33
+
34
+ if (string[index - 1] === '{' &&
35
+ string[index + match.length] === '}') {
36
+ return i;
37
+ } else {
38
+ result = hasOwn(args, i) ? args[i] : null;
39
+ if (result === null || result === undefined) {
40
+ return '';
41
+ }
42
+
43
+ return result;
44
+ }
45
+ });
46
+ }
47
+
48
+ return template;
49
+ }
@@ -0,0 +1,48 @@
1
+
2
+ import Vue from 'vue';
3
+ import Format from './format';
4
+ import defaultLang from './lang/zh'
5
+
6
+ const format = Format(Vue);
7
+ let lang = defaultLang;
8
+ let merged = false;
9
+ let i18nHandler = function () {
10
+ const vuei18n = Object.getPrototypeOf(this || Vue || {}).$t;
11
+ if (typeof vuei18n === 'function' && !!Vue.locale) {
12
+ if (!merged) {
13
+ merged = true;
14
+ Vue.locale(
15
+ Vue.config.lang,
16
+ Object.assign(lang, Vue.locale(Vue.config.lang) || {}, { clone: true })
17
+ );
18
+ }
19
+ return vuei18n.apply(this, arguments);
20
+ }
21
+ };
22
+
23
+ export const t = function (path, options) {
24
+ let value = i18nHandler.apply(this, arguments);
25
+ if (value !== null && value !== undefined) return value;
26
+
27
+ const array = path.split('.');
28
+ let current = lang;
29
+
30
+ for (let i = 0, j = array.length; i < j; i++) {
31
+ const property = array[i];
32
+ value = current[property];
33
+ if (i === j - 1) return format(value, options);
34
+ if (!value) return '';
35
+ current = value;
36
+ }
37
+ return '';
38
+ };
39
+
40
+ export const use = function (l) {
41
+ lang = l || lang;
42
+ };
43
+
44
+ export const i18n = function (fn) {
45
+ i18nHandler = fn || i18nHandler;
46
+ };
47
+
48
+ export default { use, t, i18n };
@@ -0,0 +1,100 @@
1
+ export default {
2
+ common: {
3
+ submitBtn: 'Submit',
4
+ cancelBtn: 'Cancel',
5
+ condition: 'Condition',
6
+ display: 'Display',
7
+ hide: 'Hide'
8
+ },
9
+ tip: {
10
+ select: 'Please select',
11
+ input: 'Please input'
12
+ },
13
+ check: {
14
+ checkAll: 'Select All'
15
+ },
16
+ upload: {
17
+ upload: 'Click to Upload',
18
+ tip: 'Drop files here, or'
19
+ },
20
+ time: {
21
+ start: 'Start',
22
+ end: 'End'
23
+ },
24
+ date: {
25
+ start: 'Start Date',
26
+ end: 'End Date',
27
+ t: 'Today',
28
+ y: 'Yesterday',
29
+ n: 'Last 7 days',
30
+ a: 'All'
31
+ },
32
+ form: {
33
+ printBtn: 'Print',
34
+ mockBtn: 'Mock',
35
+ submitBtn: 'Submit',
36
+ emptyBtn: 'Empty'
37
+ },
38
+ crud: {
39
+ excel: {
40
+ name: 'File Name',
41
+ type: 'Data',
42
+ typeDic: {
43
+ true: 'Data on this page (all of the data on this page)',
44
+ false: 'Selected Data (the selected data on this page)'
45
+ },
46
+ prop: 'Field',
47
+ params: 'Parameters',
48
+ paramsDic: {
49
+ header: 'Table Header',
50
+ data: 'Data Source',
51
+ headers: 'Complex Table Header',
52
+ sum: 'Total'
53
+ }
54
+ },
55
+ filter: {
56
+ addBtn: 'Add',
57
+ clearBtn: 'Clear',
58
+ resetBtn: 'Reset',
59
+ cancelBtn: 'Cancel',
60
+ submitBtn: 'Submit'
61
+ },
62
+ column: {
63
+ name: 'Name',
64
+ hide: 'Hide',
65
+ fixed: 'Fixed',
66
+ filters: 'Filter',
67
+ sortable: 'Sort',
68
+ index: 'Index',
69
+ width: 'Width'
70
+ },
71
+ emptyText: 'No Data',
72
+ tipStartTitle: 'Selected',
73
+ tipEndTitle: 'Items ',
74
+ editTitle: 'Edit',
75
+ copyTitle: 'Copy',
76
+ addTitle: 'Add',
77
+ viewTitle: 'View',
78
+ filterTitle: 'Filter Conditions',
79
+ showTitle: 'Column Display',
80
+ menu: 'Menu',
81
+ addBtn: 'Add',
82
+ show: 'Show',
83
+ hide: 'Hide',
84
+ open: 'Open',
85
+ shrink: 'Shrink',
86
+ printBtn: 'Print',
87
+ mockBtn: 'Mock',
88
+ excelBtn: 'Export',
89
+ updateBtn: 'Update',
90
+ cancelBtn: 'Cancel',
91
+ searchBtn: 'Search',
92
+ emptyBtn: 'Empty',
93
+ menuBtn: 'Menu',
94
+ saveBtn: 'Save',
95
+ viewBtn: 'View',
96
+ editBtn: 'Edit',
97
+ copyBtn: 'Copy',
98
+ delBtn: 'Delete'
99
+ }
100
+ };
@@ -0,0 +1,100 @@
1
+ export default {
2
+ common: {
3
+ submitBtn: '确 定',
4
+ cancelBtn: '取 消',
5
+ condition: '条件',
6
+ display: '显示',
7
+ hide: '隐藏'
8
+ },
9
+ tip: {
10
+ select: '请选择',
11
+ input: '请输入'
12
+ },
13
+ check: {
14
+ checkAll: '全选'
15
+ },
16
+ upload: {
17
+ upload: '点击上传',
18
+ tip: '将文件拖到此处,或'
19
+ },
20
+ time: {
21
+ start: '开始',
22
+ end: '结束'
23
+ },
24
+ date: {
25
+ start: '开始',
26
+ end: '结束',
27
+ t: '今日',
28
+ y: '昨日',
29
+ n: '近7天',
30
+ a: '全部'
31
+ },
32
+ form: {
33
+ printBtn: '打 印',
34
+ mockBtn: '模 拟',
35
+ submitBtn: '提 交',
36
+ emptyBtn: '清 空'
37
+ },
38
+ crud: {
39
+ excel: {
40
+ name: '文件名',
41
+ type: '数据',
42
+ typeDic: {
43
+ true: '当前数据(当前页全部的数据)',
44
+ false: '选中的数据(当前页选中的数据)'
45
+ },
46
+ prop: '字段',
47
+ params: '参数',
48
+ paramsDic: {
49
+ header: '表头',
50
+ data: '数据源',
51
+ headers: '复杂表头',
52
+ sum: '合计统计'
53
+ }
54
+ },
55
+ filter: {
56
+ addBtn: '新增条件',
57
+ clearBtn: '清空数据',
58
+ resetBtn: '清空条件',
59
+ cancelBtn: '取 消',
60
+ submitBtn: '确 定'
61
+ },
62
+ column: {
63
+ name: '列名',
64
+ hide: '隐藏',
65
+ fixed: '冻结',
66
+ filters: '过滤',
67
+ sortable: '排序',
68
+ index: '顺序',
69
+ width: '宽度'
70
+ },
71
+ emptyText: '暂无数据',
72
+ tipStartTitle: '当前表格已选择',
73
+ tipEndTitle: '项',
74
+ editTitle: '编 辑',
75
+ copyTitle: '复 制',
76
+ addTitle: '新 增',
77
+ viewTitle: '查 看',
78
+ filterTitle: '过滤条件',
79
+ showTitle: '列显隐',
80
+ menu: '操作',
81
+ addBtn: '新 增',
82
+ show: '显 示',
83
+ hide: '隐 藏',
84
+ open: '展 开',
85
+ shrink: '收 缩',
86
+ printBtn: '打 印',
87
+ mockBtn: '模 拟',
88
+ excelBtn: '导 出',
89
+ updateBtn: '修 改',
90
+ cancelBtn: '取 消',
91
+ searchBtn: '搜 索',
92
+ emptyBtn: '清 空',
93
+ menuBtn: '功 能',
94
+ saveBtn: '保 存',
95
+ viewBtn: '查 看',
96
+ editBtn: '编 辑',
97
+ copyBtn: '复 制',
98
+ delBtn: '删 除'
99
+ }
100
+ };
package/package.json ADDED
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "@kyvi/kv_ui",
3
+ "version": "1.0.0",
4
+ "description": "CRUD component",
5
+ "main": "lib/kv_ui.min.js",
6
+ "unpkg": "lib/kv_ui.min.js",
7
+ "jsdelivr": "lib/kv_ui.min.js",
8
+ "scripts": {
9
+ "bootstrap": "yarn --registry https://registry.npm.taobao.org || npm install --registry https://registry.npm.taobao.org ",
10
+ "gen:version": "node build/version.js",
11
+ "analyz": "NODE_ENV=production npm_config_report=true npm run build",
12
+ "dev": "yarn gen:version && cross-env TARGET=dev UINAME=element-ui gulp watch",
13
+ "build": "yarn gen:version && cross-env TARGET=prod UINAME=element-ui gulp build",
14
+ "all": "yarn build && yarn dev"
15
+ },
16
+ "keywords": [
17
+ "vue",
18
+ "element-ui",
19
+ "kv_ui"
20
+ ],
21
+ "author": "kyvi",
22
+ "license": "MIT",
23
+ "devDependencies": {
24
+ "@babel/core": "^7.13.14",
25
+ "@babel/preset-env": "^7.13.12",
26
+ "axios": "^0.21.1",
27
+ "babel-loader": "^8.2.2",
28
+ "cross-env": "^3.1.3",
29
+ "css-loader": "^5.2.0",
30
+ "element-ui": "^2.15.10",
31
+ "eslint": "4.14.0",
32
+ "eslint-config-elemefe": "0.1.1",
33
+ "eslint-loader": "^1.9.0",
34
+ "eslint-plugin-html": "^4.0.1",
35
+ "eslint-plugin-json": "^1.2.0",
36
+ "gulp": "^4.0.0",
37
+ "gulp-autoprefixer": "^4.0.0",
38
+ "gulp-cssmin": "^0.1.7",
39
+ "gulp-postcss": "^6.1.1",
40
+ "gulp-sass": "^5.1.0",
41
+ "progress-bar-webpack-plugin": "^1.11.0",
42
+ "sass": "^1.54.5",
43
+ "vue": "2.7.10",
44
+ "vue-loader": "^15.9.6",
45
+ "webpack": "^4.27.0",
46
+ "webpack-bundle-analyzer": "^3.0.3",
47
+ "webpack-merge": "^4.1.4"
48
+ },
49
+ "peerDependencies": {
50
+ "element-ui": ">=2.15.3",
51
+ "vue": ">=2.5.17"
52
+ },
53
+ "dependencies": {
54
+ "countup.js": "^1.9.3",
55
+ "dayjs": "^1.10.4",
56
+ "lodash": "^4.17.21",
57
+ "nprogress": "^0.2.0",
58
+ "vue-cropper": "^0.5.8"
59
+ },
60
+ "publishConfig": {
61
+ "access": "public"
62
+ },
63
+ "files": [
64
+ "lib",
65
+ "README.md"
66
+ ]
67
+ }