automan-cmd 2.1.5
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.
- 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>
|