automan-cmd 2.1.5
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +65 -0
- package/README.md +56 -0
- package/bin/automan +3 -0
- package/bin/automan-build +3 -0
- package/bin/automan-config +3 -0
- package/bin/automan-create +3 -0
- package/bin/automan-publish +3 -0
- package/lib/automan-build.js +41 -0
- package/lib/automan-config.js +82 -0
- package/lib/automan-create.js +137 -0
- package/lib/automan-publish.js +331 -0
- package/lib/index.js +13 -0
- package/lib/install.js.tpl +47 -0
- package/lib/util.js +174 -0
- package/package.json +37 -0
- package/tpl/.babelrc +16 -0
- package/tpl/.browserslistrc +3 -0
- package/tpl/.eslintignore +2 -0
- package/tpl/.eslintrc.js +228 -0
- package/tpl/.gitignore.ejs +12 -0
- package/tpl/.postcssrc.js +12 -0
- package/tpl/README.md +1 -0
- package/tpl/changelog.md +1 -0
- package/tpl/editor/index.vue +45 -0
- package/tpl/icon.png +0 -0
- package/tpl/jsconfig.json +7 -0
- package/tpl/package.json.ejs +66 -0
- package/tpl/preview/app.vue +326 -0
- package/tpl/preview/attr/Data.vue +69 -0
- package/tpl/preview/attr/Resource.vue +79 -0
- package/tpl/preview/attr/com.vue +21 -0
- package/tpl/preview/attr/index.js +16 -0
- package/tpl/preview/components/Attribute.vue +365 -0
- package/tpl/preview/components/FitImg.vue +152 -0
- package/tpl/preview/components/ImgViewer.vue +80 -0
- package/tpl/preview/components/Loading.vue +55 -0
- package/tpl/preview/components/Toast.vue +111 -0
- package/tpl/preview/index.js +22 -0
- package/tpl/preview/index.tpl +13 -0
- package/tpl/preview/lib/ESlog.js +46 -0
- package/tpl/preview/lib/Util.js +57 -0
- package/tpl/preview/lib/fetch.js +139 -0
- package/tpl/preview/lib/index.js +15 -0
- package/tpl/preview/lib/vue/filters.js +53 -0
- package/tpl/preview/lib/vue/index.js +9 -0
- package/tpl/preview/lib/vue/mixin.js +166 -0
- package/tpl/preview/mint-ui/message-box/index.js +1503 -0
- package/tpl/preview/mint-ui/message-box/style.css +159 -0
- package/tpl/preview/mint-ui/popup/index.js +1046 -0
- package/tpl/preview/mint-ui/popup/style.css +115 -0
- package/tpl/preview/mint-ui/spinner/index.js +657 -0
- package/tpl/preview/mint-ui/spinner/style.css +227 -0
- package/tpl/preview/mint-ui/swipe/index.js +907 -0
- package/tpl/preview/mint-ui/swipe/style.css +43 -0
- package/tpl/preview/mint-ui/swipe-item/index.js +171 -0
- package/tpl/preview/mint-ui/swipe-item/style.css +1 -0
- package/tpl/preview/style.css +126 -0
- package/tpl/server.config.js +6 -0
- package/tpl/src/assets/css/index.scss +29 -0
- package/tpl/src/example.vue +165 -0
- package/tpl/src/index.vue.ejs +32 -0
- package/tpl/webpack.config.js.ejs +267 -0
- package/tpl/yarn.lock +6037 -0
@@ -0,0 +1,43 @@
|
|
1
|
+
|
2
|
+
.mint-swipe {
|
3
|
+
overflow: hidden;
|
4
|
+
position: relative;
|
5
|
+
height: 100%;
|
6
|
+
}
|
7
|
+
.mint-swipe-items-wrap {
|
8
|
+
position: relative;
|
9
|
+
overflow: hidden;
|
10
|
+
height: 100%;
|
11
|
+
}
|
12
|
+
.mint-swipe-items-wrap > div {
|
13
|
+
position: absolute;
|
14
|
+
-webkit-transform: translateX(-100%);
|
15
|
+
transform: translateX(-100%);
|
16
|
+
width: 100%;
|
17
|
+
height: 100%;
|
18
|
+
display: none
|
19
|
+
}
|
20
|
+
.mint-swipe-items-wrap > div.is-active {
|
21
|
+
display: block;
|
22
|
+
-webkit-transform: none;
|
23
|
+
transform: none;
|
24
|
+
}
|
25
|
+
.mint-swipe-indicators {
|
26
|
+
position: absolute;
|
27
|
+
bottom: 10px;
|
28
|
+
left: 50%;
|
29
|
+
-webkit-transform: translateX(-50%);
|
30
|
+
transform: translateX(-50%);
|
31
|
+
}
|
32
|
+
.mint-swipe-indicator {
|
33
|
+
width: 8px;
|
34
|
+
height: 8px;
|
35
|
+
display: inline-block;
|
36
|
+
border-radius: 100%;
|
37
|
+
background: #000;
|
38
|
+
opacity: 0.2;
|
39
|
+
margin: 0 3px;
|
40
|
+
}
|
41
|
+
.mint-swipe-indicator.is-active {
|
42
|
+
background: #fff;
|
43
|
+
}
|
@@ -0,0 +1,171 @@
|
|
1
|
+
module.exports =
|
2
|
+
/******/ (function(modules) { // webpackBootstrap
|
3
|
+
/******/ // The module cache
|
4
|
+
/******/ var installedModules = {};
|
5
|
+
|
6
|
+
/******/ // The require function
|
7
|
+
/******/ function __webpack_require__(moduleId) {
|
8
|
+
|
9
|
+
/******/ // Check if module is in cache
|
10
|
+
/******/ if(installedModules[moduleId])
|
11
|
+
/******/ return installedModules[moduleId].exports;
|
12
|
+
|
13
|
+
/******/ // Create a new module (and put it into the cache)
|
14
|
+
/******/ var module = installedModules[moduleId] = {
|
15
|
+
/******/ i: moduleId,
|
16
|
+
/******/ l: false,
|
17
|
+
/******/ exports: {}
|
18
|
+
/******/ };
|
19
|
+
|
20
|
+
/******/ // Execute the module function
|
21
|
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
22
|
+
|
23
|
+
/******/ // Flag the module as loaded
|
24
|
+
/******/ module.l = true;
|
25
|
+
|
26
|
+
/******/ // Return the exports of the module
|
27
|
+
/******/ return module.exports;
|
28
|
+
/******/ }
|
29
|
+
|
30
|
+
|
31
|
+
/******/ // expose the modules object (__webpack_modules__)
|
32
|
+
/******/ __webpack_require__.m = modules;
|
33
|
+
|
34
|
+
/******/ // expose the module cache
|
35
|
+
/******/ __webpack_require__.c = installedModules;
|
36
|
+
|
37
|
+
/******/ // identity function for calling harmony imports with the correct context
|
38
|
+
/******/ __webpack_require__.i = function(value) { return value; };
|
39
|
+
|
40
|
+
/******/ // define getter function for harmony exports
|
41
|
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
42
|
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
43
|
+
/******/ Object.defineProperty(exports, name, {
|
44
|
+
/******/ configurable: false,
|
45
|
+
/******/ enumerable: true,
|
46
|
+
/******/ get: getter
|
47
|
+
/******/ });
|
48
|
+
/******/ }
|
49
|
+
/******/ };
|
50
|
+
|
51
|
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
52
|
+
/******/ __webpack_require__.n = function(module) {
|
53
|
+
/******/ var getter = module && module.__esModule ?
|
54
|
+
/******/ function getDefault() { return module['default']; } :
|
55
|
+
/******/ function getModuleExports() { return module; };
|
56
|
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
57
|
+
/******/ return getter;
|
58
|
+
/******/ };
|
59
|
+
|
60
|
+
/******/ // Object.prototype.hasOwnProperty.call
|
61
|
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
62
|
+
|
63
|
+
/******/ // __webpack_public_path__
|
64
|
+
/******/ __webpack_require__.p = "";
|
65
|
+
|
66
|
+
/******/ // Load entry module and return exports
|
67
|
+
/******/ return __webpack_require__(__webpack_require__.s = 248);
|
68
|
+
/******/ })
|
69
|
+
/************************************************************************/
|
70
|
+
/******/ ({
|
71
|
+
|
72
|
+
/***/ 167:
|
73
|
+
/***/ function(module, exports, __webpack_require__) {
|
74
|
+
|
75
|
+
var __vue_exports__, __vue_options__
|
76
|
+
var __vue_styles__ = {}
|
77
|
+
|
78
|
+
/* script */
|
79
|
+
__vue_exports__ = __webpack_require__(85)
|
80
|
+
|
81
|
+
/* template */
|
82
|
+
var __vue_template__ = __webpack_require__(211)
|
83
|
+
__vue_options__ = __vue_exports__ = __vue_exports__ || {}
|
84
|
+
if (
|
85
|
+
typeof __vue_exports__.default === "object" ||
|
86
|
+
typeof __vue_exports__.default === "function"
|
87
|
+
) {
|
88
|
+
__vue_options__ = __vue_exports__ = __vue_exports__.default
|
89
|
+
}
|
90
|
+
if (typeof __vue_options__ === "function") {
|
91
|
+
__vue_options__ = __vue_options__.options
|
92
|
+
}
|
93
|
+
|
94
|
+
__vue_options__.render = __vue_template__.render
|
95
|
+
__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
|
96
|
+
|
97
|
+
module.exports = __vue_exports__
|
98
|
+
|
99
|
+
|
100
|
+
/***/ },
|
101
|
+
|
102
|
+
/***/ 211:
|
103
|
+
/***/ function(module, exports) {
|
104
|
+
|
105
|
+
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
|
106
|
+
return _c('div', {
|
107
|
+
staticClass: "mint-swipe-item"
|
108
|
+
}, [_vm._t("default")], 2)
|
109
|
+
},staticRenderFns: []}
|
110
|
+
|
111
|
+
/***/ },
|
112
|
+
|
113
|
+
/***/ 248:
|
114
|
+
/***/ function(module, exports, __webpack_require__) {
|
115
|
+
|
116
|
+
module.exports = __webpack_require__(47);
|
117
|
+
|
118
|
+
|
119
|
+
/***/ },
|
120
|
+
|
121
|
+
/***/ 4:
|
122
|
+
/***/ function(module, exports) {
|
123
|
+
|
124
|
+
// removed by extract-text-webpack-plugin
|
125
|
+
|
126
|
+
/***/ },
|
127
|
+
|
128
|
+
/***/ 47:
|
129
|
+
/***/ function(module, exports, __webpack_require__) {
|
130
|
+
|
131
|
+
"use strict";
|
132
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
133
|
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_truck_mint_ui_src_style_empty_css__ = __webpack_require__(4);
|
134
|
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_truck_mint_ui_src_style_empty_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_truck_mint_ui_src_style_empty_css__);
|
135
|
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__swipe_src_swipe_item_vue__ = __webpack_require__(167);
|
136
|
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__swipe_src_swipe_item_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__swipe_src_swipe_item_vue__);
|
137
|
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(exports, "default", function() { return __WEBPACK_IMPORTED_MODULE_1__swipe_src_swipe_item_vue___default.a; });
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
/***/ },
|
143
|
+
|
144
|
+
/***/ 85:
|
145
|
+
/***/ function(module, exports, __webpack_require__) {
|
146
|
+
|
147
|
+
"use strict";
|
148
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
149
|
+
//
|
150
|
+
//
|
151
|
+
//
|
152
|
+
//
|
153
|
+
//
|
154
|
+
//
|
155
|
+
|
156
|
+
/* harmony default export */ exports["default"] = {
|
157
|
+
name: 'mt-swipe-item',
|
158
|
+
|
159
|
+
mounted: function mounted() {
|
160
|
+
this.$parent && this.$parent.swipeItemCreated(this);
|
161
|
+
},
|
162
|
+
|
163
|
+
destroyed: function destroyed() {
|
164
|
+
this.$parent && this.$parent.swipeItemDestroyed(this);
|
165
|
+
}
|
166
|
+
};
|
167
|
+
|
168
|
+
|
169
|
+
/***/ }
|
170
|
+
|
171
|
+
/******/ });
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1,126 @@
|
|
1
|
+
* {
|
2
|
+
box-sizing: border-box;
|
3
|
+
font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', Arial, sans-serif;
|
4
|
+
}
|
5
|
+
|
6
|
+
html, body {
|
7
|
+
font-size: 16px;
|
8
|
+
}
|
9
|
+
|
10
|
+
/*
|
11
|
+
** border-1px
|
12
|
+
** created by arnan
|
13
|
+
*/
|
14
|
+
|
15
|
+
.m-border-1px {
|
16
|
+
position:relative;
|
17
|
+
border:none!important
|
18
|
+
}
|
19
|
+
.m-border-1px:after {
|
20
|
+
content:'';
|
21
|
+
position:absolute;
|
22
|
+
top:0;
|
23
|
+
left:0;
|
24
|
+
box-sizing:border-box;
|
25
|
+
border-width:0;
|
26
|
+
border-style:solid;
|
27
|
+
border-color:#ccc;
|
28
|
+
-webkit-transform-origin:50% 50%;
|
29
|
+
transform-origin:50% 50%;
|
30
|
+
width:100%;
|
31
|
+
height:100%;
|
32
|
+
pointer-events: none;
|
33
|
+
}
|
34
|
+
.m-border-all:after {
|
35
|
+
border-width:1px
|
36
|
+
}
|
37
|
+
.m-border-top:after {
|
38
|
+
border-top-width:1px
|
39
|
+
}
|
40
|
+
.m-border-left:after {
|
41
|
+
border-left-width:1px
|
42
|
+
}
|
43
|
+
.m-border-right:after {
|
44
|
+
border-right-width:1px
|
45
|
+
}
|
46
|
+
.m-border-bottom:after {
|
47
|
+
border-bottom-width:1px
|
48
|
+
}
|
49
|
+
@media (-webkit-min-device-pixel-ratio:2) {
|
50
|
+
.m-border-1px:after {
|
51
|
+
width:200%;
|
52
|
+
height:200%;
|
53
|
+
-webkit-transform:scale(.5) translate3D(-50%,-50%,0);
|
54
|
+
transform:scale(.5) translate3D(-50%,-50%,0);
|
55
|
+
}
|
56
|
+
}
|
57
|
+
@media (-webkit-min-device-pixel-ratio:3) {
|
58
|
+
.m-border-1px:after {
|
59
|
+
width:300%;
|
60
|
+
height:300%;
|
61
|
+
-webkit-transform:scale(.3333) translate3D(-100%,-100%,0);
|
62
|
+
transform:scale(.3333) translate3D(-100%,-100%,0);
|
63
|
+
}
|
64
|
+
}
|
65
|
+
@media (min-device-pixel-ratio:2) {
|
66
|
+
.m-border-1px:after {
|
67
|
+
width:200%;
|
68
|
+
height:200%;
|
69
|
+
-webkit-transform:scale(.5) translate3D(-50%,-50%,0);
|
70
|
+
transform:scale(.5) translate3D(-50%,-50%,0);
|
71
|
+
}
|
72
|
+
}
|
73
|
+
@media (min-device-pixel-ratio:3) {
|
74
|
+
.m-border-1px:after {
|
75
|
+
width: 300%;
|
76
|
+
height: 300%;
|
77
|
+
-webkit-transform: scale(.3333) translate3D(-100%,-100%,0);
|
78
|
+
transform: scale(.3333) translate3D(-100%,-100%,0);
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
/*
|
83
|
+
** 1px based on gradient
|
84
|
+
*/
|
85
|
+
|
86
|
+
.m-border-gradient-1px {
|
87
|
+
background-repeat: no-repeat;
|
88
|
+
}
|
89
|
+
|
90
|
+
.m-border-gradient-1px.m-border-gradient-left {
|
91
|
+
background-image: -webkit-gradient(linear, right bottom, left bottom, color-stop(0.3, transparent), color-stop(1, #ccc));
|
92
|
+
background-image: linear-gradient(to left, transparent 30%, #ccc);
|
93
|
+
background-size: 1px 100%;
|
94
|
+
background-position: left;
|
95
|
+
}
|
96
|
+
.m-border-gradient-1px.m-border-gradient-top {
|
97
|
+
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.3, transparent), color-stop(1, #ccc));
|
98
|
+
background-image: linear-gradient(to top, transparent 30%, #ccc);
|
99
|
+
background-size: 100% 1px;
|
100
|
+
background-position: top;
|
101
|
+
}
|
102
|
+
.m-border-gradient-1px.m-border-gradient-bottom {
|
103
|
+
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.3, transparent), color-stop(1, #ccc));
|
104
|
+
background-image: linear-gradient(to bottom, transparent 30%, #ccc);
|
105
|
+
background-size: 100% 1px;
|
106
|
+
background-position: bottom;
|
107
|
+
}
|
108
|
+
.m-border-gradient-1px.m-border-gradient-right {
|
109
|
+
background-image: -webkit-gradient(linear, left top, right top, color-stop(0.3, transparent), color-stop(1, #ccc));
|
110
|
+
background-image: linear-gradient(to right, transparent 30%, #ccc);
|
111
|
+
background-size: 1px 100%;
|
112
|
+
background-position: right;
|
113
|
+
}
|
114
|
+
.m-border-gradient-1px.m-border-gradient-tb, .m-border-gradient-1px.m-border-gradient-bt {
|
115
|
+
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.3, transparent), color-stop(1, #ccc)), -webkit-gradient(linear, left bottom, left top, color-stop(0.3, transparent), color-stop(1, #ccc));
|
116
|
+
background-image: linear-gradient(to top, transparent 30%, #ccc), linear-gradient(to bottom, transparent 30%, #ccc);
|
117
|
+
background-size: 100% 1px, 100% 1px;
|
118
|
+
background-position: top, bottom;
|
119
|
+
}
|
120
|
+
|
121
|
+
.m-border-gradient-1px.m-border-gradient-lr, .m-border-gradient-1px.m-border-gradient-rl {
|
122
|
+
background-image: -webkit-gradient(linear, left bottom, right bottom, color-stop(0.3, transparent), color-stop(1, #e0e0e0)), -webkit-gradient(linear, right top, left top, color-stop(0.3, transparent), color-stop(1, #e0e0e0));
|
123
|
+
background-image: linear-gradient(to right, transparent 30%, #ccc), linear-gradient(to left, transparent 30%, #ccc);
|
124
|
+
background-size: 1px 100%, 1px 100%;
|
125
|
+
background-position: right, left;
|
126
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
.component {
|
2
|
+
width: 100%;
|
3
|
+
height: 100%;
|
4
|
+
}
|
5
|
+
|
6
|
+
*{
|
7
|
+
margin: 0;
|
8
|
+
padding: 0;
|
9
|
+
}
|
10
|
+
|
11
|
+
button{
|
12
|
+
border: none;
|
13
|
+
background: none;
|
14
|
+
outline:none;
|
15
|
+
-webkit-tap-highlight-color : transparent;
|
16
|
+
}
|
17
|
+
|
18
|
+
.ellipsis {
|
19
|
+
text-overflow: ellipsis;
|
20
|
+
overflow: hidden;
|
21
|
+
white-space: nowrap;
|
22
|
+
}
|
23
|
+
|
24
|
+
@mixin background($width,$height,$url){
|
25
|
+
width: $width;
|
26
|
+
height: $height;
|
27
|
+
background: url('./assets/images/'+$url) no-repeat;
|
28
|
+
background-size: 100%;
|
29
|
+
}
|
@@ -0,0 +1,165 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="component"></div>
|
3
|
+
</template>
|
4
|
+
|
5
|
+
<script>
|
6
|
+
import {VueExtend, Util} from 'godspen-lib'
|
7
|
+
import {bind} from 'size-sensor'
|
8
|
+
export default {
|
9
|
+
mixins: [VueExtend.mixin],
|
10
|
+
name: 'echarts',
|
11
|
+
label: process.env.LABEL,
|
12
|
+
style: process.env.STYLE,
|
13
|
+
componentEditor:process.env.COMPONENT_EDITOR,
|
14
|
+
stack: false, // 是否是堆叠模式 ,true:孩子元素会按楼层一个个向下排布, false: 孩子元素绝对定位,随意放置位置
|
15
|
+
childLimit: 9999, // 孩子元素最大限制数
|
16
|
+
leaf: false, // 是否是叶子节点,为true的时候该节点下面不能添加节点
|
17
|
+
props: { // 设置该元素支持的属性配置
|
18
|
+
packageType: {
|
19
|
+
type: String,
|
20
|
+
default: 'common',
|
21
|
+
editor: {
|
22
|
+
type: 'enum', // 该类型支持列表 https://godspen.ymm56.com/doc/develop/script.html#%E6%B7%BB%E5%8A%A0%E8%87%AA%E5%AE%9A%E4%B9%89%E5%B1%9E%E6%80%A7
|
23
|
+
label: '资源大小',
|
24
|
+
desc: '完全版:体积最大,包含所有的图表和组件,常用版:体积适中,包含常见的图表和组件,精简版:体积较小,仅包含最常用的图表和组件',
|
25
|
+
defaultList: {
|
26
|
+
'all': '完整版',
|
27
|
+
'common': '常用版',
|
28
|
+
'simple': '精简版'
|
29
|
+
}
|
30
|
+
},
|
31
|
+
},
|
32
|
+
reanderType: {
|
33
|
+
type: String,
|
34
|
+
default: 'canvas',
|
35
|
+
editor: {
|
36
|
+
work: function () {
|
37
|
+
return this.packageType != 'simple'
|
38
|
+
},
|
39
|
+
type: 'enum',
|
40
|
+
label: '配置信息',
|
41
|
+
desc: 'echarts的option配置信息',
|
42
|
+
defaultList: { // map结构的选项 key为值,value为显示文本
|
43
|
+
'canvas': 'canvas',
|
44
|
+
'svg': 'svg'
|
45
|
+
}
|
46
|
+
},
|
47
|
+
},
|
48
|
+
usedatasource: {
|
49
|
+
type: Boolean, // 此项必须为Boolean
|
50
|
+
editor: {
|
51
|
+
type: 'checkbox',
|
52
|
+
label: '使用数据源',
|
53
|
+
desc: '开启后配置数据可以在数据总线里面获取,可以配合数据源组件通过接口获取配置数据'
|
54
|
+
}
|
55
|
+
},
|
56
|
+
datasourcekey: {
|
57
|
+
type: String,
|
58
|
+
default: 'a.b',
|
59
|
+
editor: {
|
60
|
+
label: '数据总线Path',
|
61
|
+
desc: '',
|
62
|
+
work: function () {
|
63
|
+
return this.usedatasource
|
64
|
+
}
|
65
|
+
}
|
66
|
+
},
|
67
|
+
// 文本框输入
|
68
|
+
option: {
|
69
|
+
type: [Object],
|
70
|
+
editor: {
|
71
|
+
type: 'Object',
|
72
|
+
label: '配置信息',
|
73
|
+
work: function () {
|
74
|
+
return !this.usedatasource
|
75
|
+
},
|
76
|
+
desc: 'echarts的option配置信息,注意这里填入的是JSON数据,而不是js对象'
|
77
|
+
},
|
78
|
+
default () {
|
79
|
+
return {
|
80
|
+
title: {
|
81
|
+
text: 'ECharts 入门示例'
|
82
|
+
},
|
83
|
+
tooltip: {},
|
84
|
+
legend: {
|
85
|
+
data: ['销量']
|
86
|
+
},
|
87
|
+
xAxis: {
|
88
|
+
data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
|
89
|
+
},
|
90
|
+
yAxis: {},
|
91
|
+
series: [{
|
92
|
+
name: '销量',
|
93
|
+
type: 'bar',
|
94
|
+
data: [5, 20, 36, 10, 10, 20]
|
95
|
+
}]
|
96
|
+
}
|
97
|
+
}
|
98
|
+
},
|
99
|
+
},
|
100
|
+
computed: {
|
101
|
+
config () {
|
102
|
+
var data = this.option
|
103
|
+
if (this.usedatasource) {
|
104
|
+
var dataStr = this.dataHubGet && this.dataHubGet(this.datasourcekey)
|
105
|
+
try {
|
106
|
+
data = JSON.parse(dataStr)
|
107
|
+
} catch (e) {
|
108
|
+
console.log('error Scroll-Ranking', '获取数据解析json对象异常')
|
109
|
+
data = []
|
110
|
+
}
|
111
|
+
}
|
112
|
+
return data
|
113
|
+
}
|
114
|
+
},
|
115
|
+
watch: {
|
116
|
+
option: {
|
117
|
+
handler (val) {
|
118
|
+
this.myChart && this.myChart.setOption(this.config)
|
119
|
+
},
|
120
|
+
deep: true
|
121
|
+
},
|
122
|
+
reanderType () {
|
123
|
+
this.myChart.dispose()
|
124
|
+
this.myChart = window.echarts.init(this.$el, null, {renderer: this.reanderType})
|
125
|
+
this.myChart.setOption(this.config)
|
126
|
+
},
|
127
|
+
packageType (val) {
|
128
|
+
if (val == 'simple') {
|
129
|
+
this.reanderType = 'canvas'
|
130
|
+
}
|
131
|
+
this.loadEcharts()
|
132
|
+
}
|
133
|
+
},
|
134
|
+
mounted: async function () {
|
135
|
+
// 监听元素大小变化,然后重新渲染,一般如果你的组件的大小不是自动适配的。那么你可以通过如下方法进行重新布局设置
|
136
|
+
bind(this.$el, element => {
|
137
|
+
this.myChart && this.myChart.resize()
|
138
|
+
})
|
139
|
+
await this.loadEcharts()
|
140
|
+
},
|
141
|
+
editorMethods: {
|
142
|
+
},
|
143
|
+
methods: {
|
144
|
+
async loadEcharts () {
|
145
|
+
// 纯属演示异步加载js资源,与本组件无关; loadJs返回一个promise实例 可以用async 或者 then 来处理回调
|
146
|
+
var names = {
|
147
|
+
'all': '',
|
148
|
+
'common': 'common.',
|
149
|
+
'simple': 'simple.'
|
150
|
+
}
|
151
|
+
await Util.loadJs(`https://cdn.bootcss.com/echarts/4.6.0/echarts.${names[this.packageType]}min.js`)
|
152
|
+
this.myChart = window.echarts.init(this.$el, null, {renderer: this.reanderType})
|
153
|
+
// 使用刚指定的配置项和数据显示图表。
|
154
|
+
this.myChart.setOption(this.config)
|
155
|
+
}
|
156
|
+
}
|
157
|
+
}
|
158
|
+
</script>
|
159
|
+
|
160
|
+
<style lang="stylus" rel="stylesheet/stylus" type="text/stylus" scoped>
|
161
|
+
.component {
|
162
|
+
width: 100%;
|
163
|
+
height: 100%;
|
164
|
+
}
|
165
|
+
</style>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="component">
|
3
|
+
hello world
|
4
|
+
</div>
|
5
|
+
</template>
|
6
|
+
|
7
|
+
<script>
|
8
|
+
import { VueExtend } from 'godspen-lib'
|
9
|
+
|
10
|
+
export default {
|
11
|
+
name: '<%= name %>',
|
12
|
+
mixins: [VueExtend.mixin],
|
13
|
+
label: process.env.LABEL,
|
14
|
+
style: process.env.STYLE,
|
15
|
+
componentEditor: process.env.COMPONENT_EDITOR,
|
16
|
+
stack: null, // 是否是堆叠模式 ,false:孩子元素会按楼层一个个向下排布, true: 孩子元素绝对定位,随意放置位置
|
17
|
+
childLimit: 9999, // 孩子元素最大限制数
|
18
|
+
leaf: false, // 是否是叶子节点,为true的时候该节点下面不能添加节点
|
19
|
+
props: {
|
20
|
+
},
|
21
|
+
computed: {
|
22
|
+
},
|
23
|
+
editorMethods: {
|
24
|
+
},
|
25
|
+
methods: {
|
26
|
+
}
|
27
|
+
}
|
28
|
+
</script>
|
29
|
+
|
30
|
+
<style lang="scss" scoped>
|
31
|
+
@import './assets/css/index.scss';
|
32
|
+
</style>
|