@opentiny/vue-renderless 3.1.0-alpha.0 → 3.4.7
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/action-menu/index.js +10 -0
- package/action-menu/vue.js +26 -0
- package/amount/index.js +334 -0
- package/amount/vue.js +206 -0
- package/area/index.js +162 -0
- package/area/vue.js +68 -0
- package/autonavi-map/index.js +28 -0
- package/avatar/index.js +5 -1
- package/avatar/vue.js +2 -1
- package/baidu-map/index.js +28 -0
- package/breadcrumb/index.js +9 -0
- package/breadcrumb/vue.js +25 -3
- package/breadcrumb-item/index.js +26 -0
- package/breadcrumb-item/vue.js +20 -11
- package/bulletin-board/index.js +4 -1
- package/button-group/vue.js +1 -1
- package/calendar/index.js +14 -14
- package/card-template/index.js +1 -1
- package/cascader/index.js +21 -7
- package/cascader/vue.js +1 -2
- package/cascader-node/index.js +3 -1
- package/cascader-panel/index.js +12 -4
- package/cascader-panel/vue.js +1 -2
- package/chart-bar/index.js +533 -0
- package/chart-boxplot/index.js +270 -0
- package/chart-candle/index.js +428 -0
- package/chart-core/deps/constants.js +65 -0
- package/chart-core/deps/numerify.js +286 -0
- package/chart-core/deps/utils.js +205 -0
- package/chart-core/index.js +541 -0
- package/chart-core/modules/animation.js +10 -0
- package/chart-core/modules/extend.js +36 -0
- package/chart-core/modules/mark.js +7 -0
- package/chart-core/vue.js +128 -0
- package/chart-funnel/index.js +155 -0
- package/chart-gauge/index.js +153 -0
- package/chart-graph/index.js +38 -0
- package/chart-heatmap/index.js +407 -0
- package/chart-line/index.js +358 -0
- package/chart-liquidfill/index.js +119 -0
- package/chart-map/index.js +261 -0
- package/chart-pie/index.js +327 -0
- package/chart-radar/index.js +181 -0
- package/chart-sankey/index.js +166 -0
- package/chart-scatter/index.js +360 -0
- package/chart-sunburst/index.js +36 -0
- package/chart-tree/index.js +107 -0
- package/chart-waterfall/index.js +231 -0
- package/chart-wordcloud/index.js +109 -0
- package/checkbox/index.js +4 -4
- package/checkbox-button/index.js +3 -1
- package/common/bigInt.js +5 -2
- package/common/date.js +17 -17
- package/common/deps/date-util.js +15 -5
- package/common/deps/date.js +6 -6
- package/common/deps/dom.js +18 -6
- package/common/deps/eSpaceCtrl.js +286 -0
- package/common/deps/fullscreen/apis.js +22 -22
- package/common/deps/memorize.js +3 -3
- package/common/deps/modal-queue.js +2 -0
- package/common/deps/popper.js +12 -10
- package/common/deps/popup-manager.js +16 -5
- package/common/deps/resize-event.js +6 -2
- package/common/deps/scrollbar-width.js +6 -2
- package/common/deps/tree-model/node.js +30 -10
- package/common/deps/tree-model/tree-store.js +33 -21
- package/common/deps/tree-model/util.js +6 -2
- package/common/deps/upload-ajax.js +7 -1
- package/common/deps/vue-popper.js +2 -2
- package/common/string.js +1 -1
- package/company/index.js +56 -0
- package/company/vue.js +35 -0
- package/country/index.js +54 -0
- package/country/vue.js +35 -0
- package/credit-card-form/index.js +1 -0
- package/currency/index.js +78 -0
- package/currency/vue.js +39 -0
- package/date-panel/index.js +16 -6
- package/date-picker/index.js +9 -5
- package/date-range/index.js +28 -9
- package/date-table/index.js +3 -1
- package/dept/index.js +318 -0
- package/dept/vue.js +163 -0
- package/detail-page/index.js +4 -1
- package/dialog-box/index.js +14 -4
- package/dialog-box/vue.js +7 -3
- package/drop-roles/index.js +73 -0
- package/drop-roles/vue.js +38 -0
- package/dropdown/index.js +5 -4
- package/dropdown/vue.js +5 -3
- package/dropdown-item/index.js +15 -0
- package/dropdown-item/vue.js +27 -13
- package/espace/index.js +129 -0
- package/espace/vue.js +52 -0
- package/file-upload/index.js +336 -291
- package/form/index.js +3 -1
- package/form/vue.js +15 -0
- package/form-item/index.js +15 -5
- package/fullscreen/index.js +4 -4
- package/fullscreen/vue.js +3 -3
- package/grid/core/interceptor.js +4 -7
- package/grid/plugins/export.js +2 -2
- package/grid/plugins/exportExcel.js +28 -10
- package/grid/static/array/findTree.js +1 -1
- package/grid/static/base/helperCreateGetObjects.js +1 -1
- package/grid/static/base/helperEqualCompare.js +2 -2
- package/grid/static/base/helperGetHGSKeys.js +1 -1
- package/grid/static/base/uniqueId.js +1 -1
- package/grid/static/object/assign.js +3 -3
- package/grid/static/string/toString.js +3 -3
- package/hrapprover/index.js +118 -0
- package/hrapprover/vue.js +102 -0
- package/locales/index.js +116 -0
- package/locales/vue.js +46 -0
- package/logon-user/index.js +23 -0
- package/logon-user/vue.js +22 -0
- package/logout/index.js +118 -0
- package/logout/vue.js +22 -0
- package/milestone/index.js +2 -1
- package/mini-picker/index.js +1 -1
- package/mini-picker/vue.js +1 -1
- package/modal/index.js +4 -2
- package/month-table/index.js +2 -2
- package/nav-menu/index.js +2 -2
- package/numeric/index.js +4 -2
- package/package.json +33 -136
- package/pager-item/vue.js +6 -2
- package/picker/index.js +43 -17
- package/picker/timezone.js +2 -2
- package/picker-column/index.js +7 -3
- package/pop-upload/index.js +5 -3
- package/popeditor/index.js +15 -7
- package/popover/index.js +87 -54
- package/popover/vue.js +13 -9
- package/rate/index.js +2 -2
- package/rich-text/clipboard.js +77 -0
- package/rich-text/index.js +176 -0
- package/rich-text/module/file-upload.js +118 -0
- package/rich-text/module/image-drop.js +54 -0
- package/rich-text/module/image-upload.js +84 -0
- package/rich-text/options.js +187 -0
- package/rich-text/table-module.js +557 -0
- package/rich-text/vue.js +149 -0
- package/roles/index.js +87 -0
- package/roles/vue.js +39 -0
- package/search/index.js +32 -27
- package/search/vue.js +7 -2
- package/select/index.js +328 -304
- package/select/vue.js +19 -9
- package/select-dropdown/index.js +1 -1
- package/slider/index.js +9 -11
- package/slider/vue.js +3 -3
- package/split/vue.js +1 -1
- package/tab-nav/index.js +0 -6
- package/tab-nav/vue.js +0 -14
- package/table/index.js +1 -1
- package/text-popup/index.js +6 -4
- package/time/index.js +3 -1
- package/time-range/index.js +6 -2
- package/time-spinner/index.js +15 -5
- package/toggle-menu/index.js +11 -0
- package/toggle-menu/vue.js +2 -1
- package/tooltip/index.js +46 -35
- package/tooltip/vue.js +5 -1
- package/tree/index.js +57 -21
- package/tree-menu/index.js +3 -1
- package/tree-node/index.js +7 -3
- package/upload/index.js +14 -5
- package/user/index.js +634 -0
- package/user/vue.js +113 -0
- package/user-account/index.js +23 -0
- package/user-account/vue.js +25 -0
- package/user-contact/index.js +1 -4
- package/user-head/index.js +9 -11
- package/user-head/vue.js +2 -6
- package/user-link/index.js +43 -0
- package/user-link/vue.js +60 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { computedCanvasStyle, computedChartColor, dataHandler, nextTickResize, resize, echartsResize, optionsHandler, judgeWidthHandler, resizeableHandler, init, addResizeListener, removeResizeListener, addWatchToProps, createEventProxy, themeChange, clean, mounted, changeHandler, resizeHandler } from './index';
|
|
2
|
+
import { camelToKebab } from './deps/utils';
|
|
3
|
+
export var api = ['state', 'camelToKebab', 'dataHandler', 'nextTickResize', 'resize', 'echartsResize', 'optionsHandler', 'judgeWidthHandler', 'resizeableHandler', 'init', 'addResizeListener', 'removeResizeListener', 'addWatchToProps', 'createEventProxy', 'themeChange', 'clean', 'mounted', 'changeHandler', 'resizeHandler'];
|
|
4
|
+
export var renderless = function renderless(props, _ref, _ref2, _ref3) {
|
|
5
|
+
var computed = _ref.computed,
|
|
6
|
+
onBeforeUnmount = _ref.onBeforeUnmount,
|
|
7
|
+
onMounted = _ref.onMounted,
|
|
8
|
+
reactive = _ref.reactive,
|
|
9
|
+
watch = _ref.watch,
|
|
10
|
+
markRaw = _ref.markRaw;
|
|
11
|
+
var t = _ref2.t,
|
|
12
|
+
vm = _ref2.vm,
|
|
13
|
+
refs = _ref2.refs,
|
|
14
|
+
emit = _ref2.emit,
|
|
15
|
+
nextTick = _ref2.nextTick;
|
|
16
|
+
var echartsLib = _ref3.echartsLib;
|
|
17
|
+
var api = {};
|
|
18
|
+
var state = reactive({
|
|
19
|
+
chartColor: computed(function () {
|
|
20
|
+
return api.computedChartColor();
|
|
21
|
+
}),
|
|
22
|
+
canvasStyle: computed(function () {
|
|
23
|
+
return api.computedCanvasStyle();
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
api = {
|
|
27
|
+
state: state,
|
|
28
|
+
camelToKebab: camelToKebab,
|
|
29
|
+
computedChartColor: computedChartColor(props),
|
|
30
|
+
computedCanvasStyle: computedCanvasStyle(props)
|
|
31
|
+
};
|
|
32
|
+
onMounted(function () {
|
|
33
|
+
return api.mounted();
|
|
34
|
+
});
|
|
35
|
+
onBeforeUnmount(function () {
|
|
36
|
+
return api.clean();
|
|
37
|
+
});
|
|
38
|
+
return Object.assign(api, {
|
|
39
|
+
resize: resize({
|
|
40
|
+
props: props,
|
|
41
|
+
vm: vm,
|
|
42
|
+
api: api
|
|
43
|
+
}),
|
|
44
|
+
echartsResize: echartsResize(state),
|
|
45
|
+
clean: clean({
|
|
46
|
+
props: props,
|
|
47
|
+
state: state,
|
|
48
|
+
api: api
|
|
49
|
+
}),
|
|
50
|
+
themeChange: themeChange({
|
|
51
|
+
api: api,
|
|
52
|
+
state: state
|
|
53
|
+
}),
|
|
54
|
+
changeHandler: changeHandler({
|
|
55
|
+
api: api,
|
|
56
|
+
props: props
|
|
57
|
+
}),
|
|
58
|
+
resizeHandler: resizeHandler({
|
|
59
|
+
api: api,
|
|
60
|
+
props: props
|
|
61
|
+
}),
|
|
62
|
+
nextTickResize: nextTickResize({
|
|
63
|
+
api: api,
|
|
64
|
+
nextTick: nextTick
|
|
65
|
+
}),
|
|
66
|
+
init: init({
|
|
67
|
+
state: state,
|
|
68
|
+
props: props,
|
|
69
|
+
api: api,
|
|
70
|
+
refs: refs,
|
|
71
|
+
echartsLib: echartsLib,
|
|
72
|
+
markRaw: markRaw
|
|
73
|
+
}),
|
|
74
|
+
createEventProxy: createEventProxy({
|
|
75
|
+
api: api,
|
|
76
|
+
props: props,
|
|
77
|
+
state: state
|
|
78
|
+
}),
|
|
79
|
+
addResizeListener: addResizeListener({
|
|
80
|
+
state: state,
|
|
81
|
+
api: api
|
|
82
|
+
}),
|
|
83
|
+
resizeableHandler: resizeableHandler({
|
|
84
|
+
api: api,
|
|
85
|
+
state: state
|
|
86
|
+
}),
|
|
87
|
+
mounted: mounted({
|
|
88
|
+
api: api,
|
|
89
|
+
state: state,
|
|
90
|
+
vm: vm,
|
|
91
|
+
props: props,
|
|
92
|
+
watch: watch,
|
|
93
|
+
t: t
|
|
94
|
+
}),
|
|
95
|
+
removeResizeListener: removeResizeListener({
|
|
96
|
+
state: state,
|
|
97
|
+
api: api
|
|
98
|
+
}),
|
|
99
|
+
addWatchToProps: addWatchToProps({
|
|
100
|
+
vm: vm,
|
|
101
|
+
props: props,
|
|
102
|
+
watch: watch,
|
|
103
|
+
api: api
|
|
104
|
+
}),
|
|
105
|
+
dataHandler: dataHandler({
|
|
106
|
+
api: api,
|
|
107
|
+
props: props,
|
|
108
|
+
state: state,
|
|
109
|
+
echartsLib: echartsLib,
|
|
110
|
+
t: t,
|
|
111
|
+
vm: vm
|
|
112
|
+
}),
|
|
113
|
+
judgeWidthHandler: judgeWidthHandler({
|
|
114
|
+
props: props,
|
|
115
|
+
api: api,
|
|
116
|
+
vm: vm,
|
|
117
|
+
nextTick: nextTick
|
|
118
|
+
}),
|
|
119
|
+
optionsHandler: optionsHandler({
|
|
120
|
+
props: props,
|
|
121
|
+
state: state,
|
|
122
|
+
emit: emit,
|
|
123
|
+
echartsLib: echartsLib,
|
|
124
|
+
api: api,
|
|
125
|
+
vm: vm
|
|
126
|
+
})
|
|
127
|
+
});
|
|
128
|
+
};
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { getFormated } from '@opentiny/vue-renderless/chart-core/deps/utils';
|
|
2
|
+
import { itemPoint, itemLabel, itemContent } from '@opentiny/vue-renderless/chart-core/deps/constants';
|
|
3
|
+
import { isNull } from '@opentiny/vue-renderless/common/type';
|
|
4
|
+
var getFunnelTooltip = function getFunnelTooltip(dataType, digit) {
|
|
5
|
+
function formatter(item) {
|
|
6
|
+
var tpl = [];
|
|
7
|
+
tpl.push(itemPoint(item.color));
|
|
8
|
+
tpl.push("".concat(itemLabel(item.name)).concat(itemContent(getFormated(item.data.realValue, dataType, digit))));
|
|
9
|
+
return tpl.join('');
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
trigger: 'item',
|
|
13
|
+
formatter: formatter
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
var getFunnelLegend = function getFunnelLegend(args) {
|
|
17
|
+
var data = args.data,
|
|
18
|
+
legendName = args.legendName;
|
|
19
|
+
function formatter(name) {
|
|
20
|
+
return isNull(legendName[name]) ? name : legendName[name];
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
data: data,
|
|
24
|
+
formatter: formatter
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
var getFunnelSeries = function getFunnelSeries(args) {
|
|
28
|
+
var ascending = args.ascending,
|
|
29
|
+
dimension = args.dimension,
|
|
30
|
+
itemStyle = args.itemStyle,
|
|
31
|
+
label = args.label,
|
|
32
|
+
labelLine = args.labelLine,
|
|
33
|
+
metrics = args.metrics,
|
|
34
|
+
rows = args.rows,
|
|
35
|
+
sequence = args.sequence,
|
|
36
|
+
useDefaultOrder = args.useDefaultOrder;
|
|
37
|
+
var _ref = {},
|
|
38
|
+
_ref$series = _ref.series,
|
|
39
|
+
series = _ref$series === void 0 ? {
|
|
40
|
+
type: 'funnel'
|
|
41
|
+
} : _ref$series,
|
|
42
|
+
_ref$falseFunnel = _ref.falseFunnel,
|
|
43
|
+
falseFunnel = _ref$falseFunnel === void 0 ? false : _ref$falseFunnel;
|
|
44
|
+
series.minSize = 8;
|
|
45
|
+
var innerRows = rows.sort(function (a, b) {
|
|
46
|
+
return sequence.indexOf(a[dimension]) - sequence.indexOf(b[dimension]);
|
|
47
|
+
});
|
|
48
|
+
innerRows.some(function (row, index) {
|
|
49
|
+
return index && row[metrics] > innerRows[index - 1][metrics] && (falseFunnel = true);
|
|
50
|
+
});
|
|
51
|
+
var step = 100 / innerRows.length;
|
|
52
|
+
if (falseFunnel && !useDefaultOrder) {
|
|
53
|
+
var handler = function handler(row, index) {
|
|
54
|
+
return {
|
|
55
|
+
name: row[dimension],
|
|
56
|
+
value: (index + 1) * step,
|
|
57
|
+
realValue: row[metrics]
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
series.data = innerRows.slice().reverse().map(handler);
|
|
61
|
+
} else {
|
|
62
|
+
series.data = innerRows.map(function (row) {
|
|
63
|
+
return {
|
|
64
|
+
name: row[dimension],
|
|
65
|
+
value: row[metrics],
|
|
66
|
+
realValue: row[metrics]
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
var total = 0;
|
|
71
|
+
rows.forEach(function (row) {
|
|
72
|
+
total += row[metrics];
|
|
73
|
+
});
|
|
74
|
+
series.label = {
|
|
75
|
+
position: 'inside',
|
|
76
|
+
color: '#fff',
|
|
77
|
+
formatter: function formatter(item) {
|
|
78
|
+
var value = item.value;
|
|
79
|
+
return "".concat(Number(value / total).toFixed(2) * 100, "%");
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
ascending && (series.sort = 'ascending');
|
|
83
|
+
label && (series.label = label);
|
|
84
|
+
labelLine && (series.labelLine = labelLine);
|
|
85
|
+
itemStyle && (series.itemStyle = itemStyle);
|
|
86
|
+
return series;
|
|
87
|
+
};
|
|
88
|
+
export var funnel = function funnel(outerColumns, outerRows, settings, extra) {
|
|
89
|
+
var _ref2 = {},
|
|
90
|
+
_ref2$columns = _ref2.columns,
|
|
91
|
+
columns = _ref2$columns === void 0 ? outerColumns.slice() : _ref2$columns,
|
|
92
|
+
_ref2$rows = _ref2.rows,
|
|
93
|
+
rows = _ref2$rows === void 0 ? outerRows.slice() : _ref2$rows;
|
|
94
|
+
var _settings$dataType = settings.dataType,
|
|
95
|
+
dataType = _settings$dataType === void 0 ? 'normal' : _settings$dataType,
|
|
96
|
+
_settings$dimension = settings.dimension,
|
|
97
|
+
dimension = _settings$dimension === void 0 ? columns[0] : _settings$dimension,
|
|
98
|
+
_settings$sequence = settings.sequence,
|
|
99
|
+
sequence = _settings$sequence === void 0 ? rows.map(function (row) {
|
|
100
|
+
return row[dimension];
|
|
101
|
+
}) : _settings$sequence;
|
|
102
|
+
var _settings$digit = settings.digit,
|
|
103
|
+
digit = _settings$digit === void 0 ? 2 : _settings$digit,
|
|
104
|
+
ascending = settings.ascending,
|
|
105
|
+
label = settings.label,
|
|
106
|
+
labelLine = settings.labelLine,
|
|
107
|
+
_settings$legendName = settings.legendName,
|
|
108
|
+
legendName = _settings$legendName === void 0 ? {} : _settings$legendName,
|
|
109
|
+
itemStyle = settings.itemStyle,
|
|
110
|
+
filterZero = settings.filterZero,
|
|
111
|
+
useDefaultOrder = settings.useDefaultOrder;
|
|
112
|
+
var tooltipVisible = extra.tooltipVisible,
|
|
113
|
+
legendVisible = extra.legendVisible;
|
|
114
|
+
var metrics;
|
|
115
|
+
if (settings.metrics) {
|
|
116
|
+
metrics = settings.metrics;
|
|
117
|
+
} else {
|
|
118
|
+
var temp = columns.slice();
|
|
119
|
+
temp.splice(columns.indexOf(dimension), 1);
|
|
120
|
+
metrics = temp[0];
|
|
121
|
+
}
|
|
122
|
+
var innerRows = rows.sort(function (a, b) {
|
|
123
|
+
return sequence.indexOf(a[dimension]) - sequence.indexOf(b[dimension]);
|
|
124
|
+
});
|
|
125
|
+
filterZero && (innerRows = innerRows.filter(function (row) {
|
|
126
|
+
return row[metrics];
|
|
127
|
+
}));
|
|
128
|
+
var tooltip = tooltipVisible && getFunnelTooltip(dataType, digit);
|
|
129
|
+
var legend = legendVisible && getFunnelLegend({
|
|
130
|
+
data: innerRows.map(function (row) {
|
|
131
|
+
return row[dimension];
|
|
132
|
+
}),
|
|
133
|
+
legendName: legendName
|
|
134
|
+
});
|
|
135
|
+
var seriesParam = {
|
|
136
|
+
dimension: dimension,
|
|
137
|
+
metrics: metrics,
|
|
138
|
+
rows: innerRows,
|
|
139
|
+
sequence: sequence,
|
|
140
|
+
ascending: ascending
|
|
141
|
+
};
|
|
142
|
+
Object.assign(seriesParam, {
|
|
143
|
+
label: label,
|
|
144
|
+
labelLine: labelLine,
|
|
145
|
+
itemStyle: itemStyle,
|
|
146
|
+
filterZero: filterZero,
|
|
147
|
+
useDefaultOrder: useDefaultOrder
|
|
148
|
+
});
|
|
149
|
+
var series = getFunnelSeries(seriesParam);
|
|
150
|
+
return {
|
|
151
|
+
tooltip: tooltip,
|
|
152
|
+
legend: legend,
|
|
153
|
+
series: series
|
|
154
|
+
};
|
|
155
|
+
};
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { getFormated, isObject } from '@opentiny/vue-renderless/chart-core/deps/utils';
|
|
2
|
+
import { isNull } from '@opentiny/vue-renderless/common/type';
|
|
3
|
+
import { itemLabel, itemContent } from '@opentiny/vue-renderless/chart-core/deps/constants';
|
|
4
|
+
var getTooltip = function getTooltip(args) {
|
|
5
|
+
var dataType = args.dataType,
|
|
6
|
+
digit = args.digit,
|
|
7
|
+
tooltipFormatter = args.tooltipFormatter;
|
|
8
|
+
return {
|
|
9
|
+
formatter: function formatter(options) {
|
|
10
|
+
if (tooltipFormatter) {
|
|
11
|
+
return tooltipFormatter.apply(null, arguments);
|
|
12
|
+
}
|
|
13
|
+
var tpl = [];
|
|
14
|
+
var seriesName = options.seriesName,
|
|
15
|
+
data = options.data;
|
|
16
|
+
var value = data.value,
|
|
17
|
+
name = data.name;
|
|
18
|
+
tpl.push("".concat(itemLabel(seriesName)));
|
|
19
|
+
tpl.push("".concat(itemContent(getFormated(value, dataType[seriesName], digit)), " ").concat(name));
|
|
20
|
+
return tpl.join('');
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
var getPoint = function getPoint() {
|
|
25
|
+
return {
|
|
26
|
+
show: false,
|
|
27
|
+
width: 10,
|
|
28
|
+
length: 10,
|
|
29
|
+
icon: 'path://M511.999488 819.413462 72.8374 204.586538 951.1626 204.586538Z',
|
|
30
|
+
offsetCenter: [0, '-106%'],
|
|
31
|
+
itemStyle: {
|
|
32
|
+
color: 'auto'
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
function getSeries(args) {
|
|
37
|
+
var dataName = args.dataName,
|
|
38
|
+
dataType = args.dataType,
|
|
39
|
+
digit = args.digit,
|
|
40
|
+
dimension = args.dimension,
|
|
41
|
+
labelMap = args.labelMap,
|
|
42
|
+
metrics = args.metrics,
|
|
43
|
+
rows = args.rows,
|
|
44
|
+
seriesMap = args.seriesMap;
|
|
45
|
+
var series = rows.map(function (row) {
|
|
46
|
+
var label = row[dimension];
|
|
47
|
+
var seriesItem = seriesMap[label];
|
|
48
|
+
var formatter2 = function formatter2(value) {
|
|
49
|
+
return getFormated(value, dataType[label], digit);
|
|
50
|
+
};
|
|
51
|
+
var result = {
|
|
52
|
+
type: 'gauge',
|
|
53
|
+
name: !isNull(labelMap[label]) ? labelMap[label] : label,
|
|
54
|
+
data: [{
|
|
55
|
+
name: dataName[label] || '',
|
|
56
|
+
value: row[metrics]
|
|
57
|
+
}],
|
|
58
|
+
detail: {
|
|
59
|
+
fontSize: 60,
|
|
60
|
+
color: '#191919',
|
|
61
|
+
offsetCenter: [0, 0],
|
|
62
|
+
valueAnimation: true,
|
|
63
|
+
formatter: !dataType ? '{value}' : function (value) {
|
|
64
|
+
var res = getFormated(value, dataType[label], digit);
|
|
65
|
+
return dataType[label] === 'percent' ? res.split('%')[0] + '{percent|%}' : res;
|
|
66
|
+
},
|
|
67
|
+
rich: {
|
|
68
|
+
percent: {
|
|
69
|
+
fontSize: 12,
|
|
70
|
+
color: '#4e4e4e',
|
|
71
|
+
padding: [0, 0, -20, 0]
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
axisLabel: {
|
|
76
|
+
formatter: formatter2
|
|
77
|
+
},
|
|
78
|
+
itemStyle: {
|
|
79
|
+
color: '#6D8FF0'
|
|
80
|
+
},
|
|
81
|
+
pointer: getPoint(),
|
|
82
|
+
axisLine: {
|
|
83
|
+
roundCap: true
|
|
84
|
+
},
|
|
85
|
+
progress: {
|
|
86
|
+
show: true,
|
|
87
|
+
roundCap: true,
|
|
88
|
+
width: 8,
|
|
89
|
+
color: '#6D8FF0'
|
|
90
|
+
},
|
|
91
|
+
axisTick: {
|
|
92
|
+
show: false
|
|
93
|
+
},
|
|
94
|
+
splitLine: {
|
|
95
|
+
length: 8,
|
|
96
|
+
distance: 0,
|
|
97
|
+
lineStyle: {
|
|
98
|
+
width: 1,
|
|
99
|
+
color: 'rgba(25,25,25,0.10)'
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
title: {
|
|
103
|
+
offsetCenter: [0, '25%'],
|
|
104
|
+
color: '#191919',
|
|
105
|
+
fontSize: 14
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
if (seriesItem) {
|
|
109
|
+
Object.keys(seriesItem).forEach(function (key) {
|
|
110
|
+
return isObject(result[key]) ? Object.assign(result[key], seriesItem[key]) : result[key] = seriesItem[key];
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
return result;
|
|
114
|
+
});
|
|
115
|
+
return series;
|
|
116
|
+
}
|
|
117
|
+
export var gauge = function gauge(columns, rows, settings, extra) {
|
|
118
|
+
var _settings$dataName = settings.dataName,
|
|
119
|
+
dataName = _settings$dataName === void 0 ? {} : _settings$dataName,
|
|
120
|
+
_settings$dataType = settings.dataType,
|
|
121
|
+
dataType = _settings$dataType === void 0 ? {} : _settings$dataType,
|
|
122
|
+
_settings$digit = settings.digit,
|
|
123
|
+
digit = _settings$digit === void 0 ? 2 : _settings$digit,
|
|
124
|
+
_settings$labelMap = settings.labelMap,
|
|
125
|
+
labelMap = _settings$labelMap === void 0 ? {} : _settings$labelMap;
|
|
126
|
+
var _settings$dimension = settings.dimension,
|
|
127
|
+
dimension = _settings$dimension === void 0 ? columns[0] : _settings$dimension,
|
|
128
|
+
_settings$metrics = settings.metrics,
|
|
129
|
+
metrics = _settings$metrics === void 0 ? columns[1] : _settings$metrics,
|
|
130
|
+
_settings$seriesMap = settings.seriesMap,
|
|
131
|
+
seriesMap = _settings$seriesMap === void 0 ? {} : _settings$seriesMap;
|
|
132
|
+
var tooltipFormatter = extra.tooltipFormatter,
|
|
133
|
+
tooltipVisible = extra.tooltipVisible;
|
|
134
|
+
var tooltip = tooltipVisible && getTooltip({
|
|
135
|
+
tooltipFormatter: tooltipFormatter,
|
|
136
|
+
dataType: dataType
|
|
137
|
+
});
|
|
138
|
+
var seriesParams = {
|
|
139
|
+
rows: rows,
|
|
140
|
+
dimension: dimension,
|
|
141
|
+
metrics: metrics,
|
|
142
|
+
digit: digit,
|
|
143
|
+
dataType: dataType,
|
|
144
|
+
labelMap: labelMap,
|
|
145
|
+
seriesMap: seriesMap,
|
|
146
|
+
dataName: dataName
|
|
147
|
+
};
|
|
148
|
+
var series = getSeries(seriesParams);
|
|
149
|
+
return {
|
|
150
|
+
tooltip: tooltip,
|
|
151
|
+
series: series
|
|
152
|
+
};
|
|
153
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { itemPoint, itemLabel, itemContent } from '@opentiny/vue-renderless/chart-core/deps/constants';
|
|
2
|
+
var getTooltip = function getTooltip() {
|
|
3
|
+
return {
|
|
4
|
+
trigger: 'item',
|
|
5
|
+
formatter: function formatter(item) {
|
|
6
|
+
var tpl = [];
|
|
7
|
+
var name = item.name,
|
|
8
|
+
value = item.value,
|
|
9
|
+
color = item.color,
|
|
10
|
+
dataType = item.dataType;
|
|
11
|
+
color && tpl.push(itemPoint(color));
|
|
12
|
+
tpl.push(itemLabel("".concat(name), !value));
|
|
13
|
+
if (dataType === 'node') {
|
|
14
|
+
value && tpl.push("".concat(itemContent(value), "<br />"));
|
|
15
|
+
}
|
|
16
|
+
return tpl.join('');
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
var getGraphSeries = function getGraphSeries() {
|
|
21
|
+
return [{
|
|
22
|
+
type: 'graph',
|
|
23
|
+
label: {
|
|
24
|
+
textBorderWidth: 1,
|
|
25
|
+
color: '#fff',
|
|
26
|
+
textBorderColor: 'inherit'
|
|
27
|
+
}
|
|
28
|
+
}];
|
|
29
|
+
};
|
|
30
|
+
export var graph = function graph(columns, rows, settings, extra) {
|
|
31
|
+
var tooltipVisible = extra.tooltipVisible;
|
|
32
|
+
var tooltip = tooltipVisible && getTooltip({});
|
|
33
|
+
var series = getGraphSeries();
|
|
34
|
+
return {
|
|
35
|
+
tooltip: tooltip,
|
|
36
|
+
series: series
|
|
37
|
+
};
|
|
38
|
+
};
|