@opentiny/vue-renderless 3.1.0-alpha.0 → 3.5.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.
- 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/exception/index.js +1 -1
- 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 +5 -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 +33 -11
- package/user-head/vue.js +10 -7
- package/user-link/index.js +43 -0
- package/user-link/vue.js +60 -0
|
@@ -0,0 +1,181 @@
|
|
|
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 getRadarLegend = function getRadarLegend(rows, dimension, legendName) {
|
|
5
|
+
var legendData = rows.map(function (row) {
|
|
6
|
+
return row[dimension];
|
|
7
|
+
});
|
|
8
|
+
function formatter(name) {
|
|
9
|
+
return isNull(legendName[name]) ? name : legendName[name];
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
data: legendData,
|
|
13
|
+
formatter: formatter
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
var getRadarTooltip = function getRadarTooltip(dataType, radar, digit) {
|
|
17
|
+
var _ref = {},
|
|
18
|
+
_ref$typeTemp = _ref.typeTemp,
|
|
19
|
+
typeTemp = _ref$typeTemp === void 0 ? [] : _ref$typeTemp,
|
|
20
|
+
_ref$nameTemp = _ref.nameTemp,
|
|
21
|
+
nameTemp = _ref$nameTemp === void 0 ? [] : _ref$nameTemp;
|
|
22
|
+
radar.indicator.forEach(function (item, i) {
|
|
23
|
+
typeTemp[i] = dataType[item.name];
|
|
24
|
+
nameTemp[i] = item.name;
|
|
25
|
+
});
|
|
26
|
+
function formatter(item) {
|
|
27
|
+
var tplt = [];
|
|
28
|
+
tplt.push(itemPoint(item.color));
|
|
29
|
+
tplt.push("".concat(item.name, "<br />"));
|
|
30
|
+
item.data.value.forEach(function (val, i) {
|
|
31
|
+
tplt.push("".concat(itemLabel(nameTemp[i])));
|
|
32
|
+
tplt.push("".concat(itemContent(getFormated(val, typeTemp[i], digit)), "<br />"));
|
|
33
|
+
});
|
|
34
|
+
return tplt.join('');
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
formatter: formatter
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
var getRadarSetting = function getRadarSetting(rows, metrics, labelMap) {
|
|
41
|
+
var settingBase = {
|
|
42
|
+
indicator: [],
|
|
43
|
+
shape: 'circle',
|
|
44
|
+
splitNumber: 5,
|
|
45
|
+
name: {
|
|
46
|
+
textStyle: {
|
|
47
|
+
color: '#191919'
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
splitLine: {
|
|
51
|
+
lineStyle: {
|
|
52
|
+
color: 'rgba(25,25,25,0.10)'
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
splitArea: {
|
|
56
|
+
show: false
|
|
57
|
+
},
|
|
58
|
+
axisLine: {
|
|
59
|
+
lineStyle: {
|
|
60
|
+
color: 'rgba(25,25,25,0.10)'
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
var indicatorTemp = {};
|
|
65
|
+
rows.forEach(function (items) {
|
|
66
|
+
metrics.forEach(function (item) {
|
|
67
|
+
var key = isNull(labelMap[item]) ? item : labelMap[item];
|
|
68
|
+
if (indicatorTemp[key]) {
|
|
69
|
+
indicatorTemp[key].push(items[item]);
|
|
70
|
+
} else {
|
|
71
|
+
indicatorTemp[key] = [items[item]];
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
settingBase.indicator = Object.keys(indicatorTemp).map(function (key) {
|
|
76
|
+
return {
|
|
77
|
+
name: key,
|
|
78
|
+
max: Math.max.apply(null, indicatorTemp[key])
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
return settingBase;
|
|
82
|
+
};
|
|
83
|
+
var getRadarSeries = function getRadarSeries(args) {
|
|
84
|
+
var areaStyle = args.areaStyle,
|
|
85
|
+
dimension = args.dimension,
|
|
86
|
+
itemStyle = args.itemStyle,
|
|
87
|
+
label = args.label,
|
|
88
|
+
labelMap = args.labelMap,
|
|
89
|
+
lineStyle = args.lineStyle,
|
|
90
|
+
metrics = args.metrics,
|
|
91
|
+
radar = args.radar,
|
|
92
|
+
rows = args.rows;
|
|
93
|
+
var radarIndexObj = {};
|
|
94
|
+
radar.indicator.forEach(function (item, i) {
|
|
95
|
+
return radarIndexObj[item.name] = i;
|
|
96
|
+
});
|
|
97
|
+
var seriesData = rows.map(function (row) {
|
|
98
|
+
var serieData = {
|
|
99
|
+
value: [],
|
|
100
|
+
name: row[dimension],
|
|
101
|
+
symbol: 'circle',
|
|
102
|
+
symbolSize: 8,
|
|
103
|
+
showSymbol: false,
|
|
104
|
+
emphasis: {
|
|
105
|
+
itemStyle: {
|
|
106
|
+
borderColor: '#fff',
|
|
107
|
+
borderWidth: 2
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
Object.keys(row).forEach(function (key) {
|
|
112
|
+
if (~metrics.indexOf(key)) {
|
|
113
|
+
var k = isNull(labelMap[key]) ? radarIndexObj[key] : radarIndexObj[labelMap[key]];
|
|
114
|
+
serieData.value[k] = row[key];
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
return serieData;
|
|
118
|
+
});
|
|
119
|
+
var result = {
|
|
120
|
+
data: seriesData,
|
|
121
|
+
name: dimension,
|
|
122
|
+
type: 'radar',
|
|
123
|
+
areaStyle: {
|
|
124
|
+
normal: {
|
|
125
|
+
opacity: 0.3
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
label && (result.label = label);
|
|
130
|
+
itemStyle && (result.itemStyle = itemStyle);
|
|
131
|
+
lineStyle && (result.lineStyle = lineStyle);
|
|
132
|
+
areaStyle && (result.areaStyle = areaStyle);
|
|
133
|
+
return [result];
|
|
134
|
+
};
|
|
135
|
+
export var radar = function radar(columns, rows, settings, extra) {
|
|
136
|
+
var _settings$dataType = settings.dataType,
|
|
137
|
+
dataType = _settings$dataType === void 0 ? {} : _settings$dataType,
|
|
138
|
+
_settings$legendName = settings.legendName,
|
|
139
|
+
legendName = _settings$legendName === void 0 ? {} : _settings$legendName,
|
|
140
|
+
_settings$labelMap = settings.labelMap,
|
|
141
|
+
labelMap = _settings$labelMap === void 0 ? {} : _settings$labelMap,
|
|
142
|
+
_settings$dimension = settings.dimension,
|
|
143
|
+
dimension = _settings$dimension === void 0 ? columns[0] : _settings$dimension;
|
|
144
|
+
var _settings$digit = settings.digit,
|
|
145
|
+
digit = _settings$digit === void 0 ? 2 : _settings$digit,
|
|
146
|
+
label = settings.label,
|
|
147
|
+
itemStyle = settings.itemStyle,
|
|
148
|
+
lineStyle = settings.lineStyle,
|
|
149
|
+
areaStyle = settings.areaStyle;
|
|
150
|
+
var tooltipVisible = extra.tooltipVisible,
|
|
151
|
+
legendVisible = extra.legendVisible;
|
|
152
|
+
var metrics = columns.slice();
|
|
153
|
+
if (!settings.metrics) {
|
|
154
|
+
metrics.splice(columns.indexOf(dimension), 1);
|
|
155
|
+
} else {
|
|
156
|
+
metrics = settings.metrics;
|
|
157
|
+
}
|
|
158
|
+
var legend = legendVisible && getRadarLegend(rows, dimension, legendName);
|
|
159
|
+
var radar = getRadarSetting(rows, metrics, labelMap);
|
|
160
|
+
var tooltip = tooltipVisible && getRadarTooltip(dataType, radar, digit);
|
|
161
|
+
var serieParams = {
|
|
162
|
+
rows: rows,
|
|
163
|
+
dimension: dimension,
|
|
164
|
+
metrics: metrics,
|
|
165
|
+
radar: radar
|
|
166
|
+
};
|
|
167
|
+
Object.assign(serieParams, {
|
|
168
|
+
label: label,
|
|
169
|
+
itemStyle: itemStyle,
|
|
170
|
+
lineStyle: lineStyle,
|
|
171
|
+
labelMap: labelMap,
|
|
172
|
+
areaStyle: areaStyle
|
|
173
|
+
});
|
|
174
|
+
var series = getRadarSeries(serieParams);
|
|
175
|
+
return {
|
|
176
|
+
legend: legend,
|
|
177
|
+
radar: radar,
|
|
178
|
+
series: series,
|
|
179
|
+
tooltip: tooltip
|
|
180
|
+
};
|
|
181
|
+
};
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
import { getFormated } from '@opentiny/vue-renderless/chart-core/deps/utils';
|
|
5
|
+
import { itemPoint, itemLabel, itemContent } from '@opentiny/vue-renderless/chart-core/deps/constants';
|
|
6
|
+
import { isNull } from '@opentiny/vue-renderless/common/type';
|
|
7
|
+
var getTooltip = function getTooltip(args) {
|
|
8
|
+
var digit = args.digit,
|
|
9
|
+
itemDataType = args.itemDataType,
|
|
10
|
+
linksDataType = args.linksDataType;
|
|
11
|
+
var formatter = function formatter(item) {
|
|
12
|
+
var name = item.name,
|
|
13
|
+
data = item.data,
|
|
14
|
+
value = item.value,
|
|
15
|
+
color = item.color;
|
|
16
|
+
var tplt = [];
|
|
17
|
+
color && tplt.push(itemPoint(color));
|
|
18
|
+
tplt.push(itemLabel("".concat(name)));
|
|
19
|
+
if (!data || !data.source) {
|
|
20
|
+
tplt.push("".concat(itemContent(getFormated(value, itemDataType, digit)), "<br />"));
|
|
21
|
+
} else {
|
|
22
|
+
tplt.push("".concat(itemContent(getFormated(value, linksDataType, digit)), "<br />"));
|
|
23
|
+
}
|
|
24
|
+
return tplt.join('');
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
trigger: 'item',
|
|
28
|
+
formatter: formatter
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
var getSeries = function getSeries(args) {
|
|
32
|
+
var dimension = args.dimension,
|
|
33
|
+
itemStyle = args.itemStyle,
|
|
34
|
+
label = args.label,
|
|
35
|
+
lineStyle = args.lineStyle,
|
|
36
|
+
links = args.links,
|
|
37
|
+
metrics = args.metrics,
|
|
38
|
+
rows = args.rows,
|
|
39
|
+
useDataValue = args.useDataValue,
|
|
40
|
+
valueFull = args.valueFull;
|
|
41
|
+
var dataMap = {};
|
|
42
|
+
var seriesData = rows.map(function (row) {
|
|
43
|
+
dataMap[row[dimension]] = row[metrics];
|
|
44
|
+
return {
|
|
45
|
+
name: row[dimension],
|
|
46
|
+
value: row[metrics]
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
var _ref = {},
|
|
50
|
+
_ref$innerLinks = _ref.innerLinks,
|
|
51
|
+
innerLinks = _ref$innerLinks === void 0 ? links : _ref$innerLinks,
|
|
52
|
+
_ref$mapHandler = _ref.mapHandler,
|
|
53
|
+
mapHandler = _ref$mapHandler === void 0 ? null : _ref$mapHandler;
|
|
54
|
+
if (useDataValue) {
|
|
55
|
+
mapHandler = function mapHandler(link) {
|
|
56
|
+
return _objectSpread(_objectSpread({}, link), {}, {
|
|
57
|
+
value: dataMap[link.target]
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
} else if (!valueFull) {
|
|
61
|
+
mapHandler = function mapHandler(link) {
|
|
62
|
+
return isNull(link.value) ? _objectSpread(_objectSpread({}, link), {}, {
|
|
63
|
+
value: dataMap[link.target]
|
|
64
|
+
}) : link;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
if (mapHandler) {
|
|
68
|
+
innerLinks = links.map(mapHandler);
|
|
69
|
+
}
|
|
70
|
+
var result = {
|
|
71
|
+
type: 'sankey',
|
|
72
|
+
data: seriesData,
|
|
73
|
+
links: innerLinks,
|
|
74
|
+
focusNodeAdjacency: 'allEdges',
|
|
75
|
+
nodeWidth: 12
|
|
76
|
+
};
|
|
77
|
+
result = Object.assign(result, {
|
|
78
|
+
itemStyle: {
|
|
79
|
+
opacity: 0.2
|
|
80
|
+
},
|
|
81
|
+
lineStyle: {
|
|
82
|
+
opacity: 0.05
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
var total = 0;
|
|
86
|
+
seriesData.forEach(function (item) {
|
|
87
|
+
var isExist = innerLinks.some(function (data) {
|
|
88
|
+
return data.target === item.name;
|
|
89
|
+
});
|
|
90
|
+
if (!isExist) {
|
|
91
|
+
total += item.value;
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
var defaultLabel = {
|
|
95
|
+
backgroundColor: 'transparent',
|
|
96
|
+
lineHeight: 16,
|
|
97
|
+
formatter: function formatter(item) {
|
|
98
|
+
return "{name|".concat(item.name, "}\n{value|").concat(Number(item.value / total).toFixed(2) * 100, "%}");
|
|
99
|
+
},
|
|
100
|
+
rich: {
|
|
101
|
+
name: {
|
|
102
|
+
color: '#4e4e4e'
|
|
103
|
+
},
|
|
104
|
+
value: {
|
|
105
|
+
color: '#818181',
|
|
106
|
+
padding: [4, 0, 0, 0]
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
result.label = Object.assign(defaultLabel, label || {});
|
|
111
|
+
result.lineStyle = _objectSpread({
|
|
112
|
+
color: 'source',
|
|
113
|
+
opacity: 0.5
|
|
114
|
+
}, lineStyle || {});
|
|
115
|
+
result.itemStyle = _objectSpread({
|
|
116
|
+
borderWidth: 0
|
|
117
|
+
}, itemStyle);
|
|
118
|
+
return [result];
|
|
119
|
+
};
|
|
120
|
+
export var sankey = function sankey(columns, rows, settings) {
|
|
121
|
+
var _settings$dataType = settings.dataType,
|
|
122
|
+
dataType = _settings$dataType === void 0 ? ['normal', 'normal'] : _settings$dataType,
|
|
123
|
+
_settings$dimension = settings.dimension,
|
|
124
|
+
dimension = _settings$dimension === void 0 ? columns[0] : _settings$dimension,
|
|
125
|
+
_settings$digit = settings.digit,
|
|
126
|
+
digit = _settings$digit === void 0 ? 2 : _settings$digit,
|
|
127
|
+
label = settings.label;
|
|
128
|
+
var links = settings.links,
|
|
129
|
+
lineStyle = settings.lineStyle,
|
|
130
|
+
itemStyle = settings.itemStyle,
|
|
131
|
+
_settings$metrics = settings.metrics,
|
|
132
|
+
metrics = _settings$metrics === void 0 ? columns[1] : _settings$metrics,
|
|
133
|
+
_settings$useDataValu = settings.useDataValue,
|
|
134
|
+
useDataValue = _settings$useDataValu === void 0 ? false : _settings$useDataValu,
|
|
135
|
+
_settings$valueFull = settings.valueFull,
|
|
136
|
+
valueFull = _settings$valueFull === void 0 ? false : _settings$valueFull;
|
|
137
|
+
if (!links) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
var _ref2 = {},
|
|
141
|
+
_ref2$itemDataType = _ref2.itemDataType,
|
|
142
|
+
itemDataType = _ref2$itemDataType === void 0 ? dataType[0] : _ref2$itemDataType,
|
|
143
|
+
_ref2$linksDataType = _ref2.linksDataType,
|
|
144
|
+
linksDataType = _ref2$linksDataType === void 0 ? dataType[1] : _ref2$linksDataType;
|
|
145
|
+
var tooltip = getTooltip({
|
|
146
|
+
itemDataType: itemDataType,
|
|
147
|
+
linksDataType: linksDataType,
|
|
148
|
+
digit: digit
|
|
149
|
+
});
|
|
150
|
+
var seriesParams = {
|
|
151
|
+
rows: rows,
|
|
152
|
+
dimension: dimension,
|
|
153
|
+
metrics: metrics,
|
|
154
|
+
links: links,
|
|
155
|
+
valueFull: valueFull,
|
|
156
|
+
useDataValue: useDataValue,
|
|
157
|
+
label: label,
|
|
158
|
+
itemStyle: itemStyle,
|
|
159
|
+
lineStyle: lineStyle
|
|
160
|
+
};
|
|
161
|
+
var series = getSeries(seriesParams);
|
|
162
|
+
return {
|
|
163
|
+
tooltip: tooltip,
|
|
164
|
+
series: series
|
|
165
|
+
};
|
|
166
|
+
};
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
import { getFormated, hexToRgb } from '@opentiny/vue-renderless/chart-core/deps/utils';
|
|
5
|
+
import { itemPoint, itemLabel, itemContent } from '@opentiny/vue-renderless/chart-core/deps/constants';
|
|
6
|
+
import { line } from '@opentiny/vue-renderless/chart-line';
|
|
7
|
+
import { isNull } from '@opentiny/vue-renderless/common/type';
|
|
8
|
+
var getScatterLegend = function getScatterLegend(dataLabels, legendName) {
|
|
9
|
+
function formatter(name) {
|
|
10
|
+
return isNull(legendName[name]) ? name : legendName[name];
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
data: dataLabels,
|
|
14
|
+
formatter: formatter,
|
|
15
|
+
itemStyle: {
|
|
16
|
+
borderWidth: 1
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
var getTooltipContent = function getTooltipContent(item, args) {
|
|
21
|
+
var labelMap = args.labelMap,
|
|
22
|
+
columns = args.columns;
|
|
23
|
+
var dataType = args.dataType,
|
|
24
|
+
digit = args.digit;
|
|
25
|
+
var template = [];
|
|
26
|
+
var color = item.color,
|
|
27
|
+
seriesName = item.seriesName,
|
|
28
|
+
data = item.data;
|
|
29
|
+
var value = data.value;
|
|
30
|
+
template.push("".concat(itemPoint(color), " ").concat(seriesName, "<br>"));
|
|
31
|
+
value.forEach(function (d, i) {
|
|
32
|
+
var name = labelMap[columns[i]] || columns[i];
|
|
33
|
+
var num = isNaN(d) ? d : getFormated(d, dataType[columns[i]], digit);
|
|
34
|
+
template.push("".concat(itemLabel(name)).concat(itemContent(num), "<br>"));
|
|
35
|
+
});
|
|
36
|
+
return template.join('');
|
|
37
|
+
};
|
|
38
|
+
var getScatterTooltip = function getScatterTooltip(args) {
|
|
39
|
+
var tooltipTrigger = args.tooltipTrigger;
|
|
40
|
+
function formatter(item) {
|
|
41
|
+
return Array.isArray(item) ? item.map(function (i) {
|
|
42
|
+
return getTooltipContent(i, args);
|
|
43
|
+
}).join('') : getTooltipContent(item, args);
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
trigger: tooltipTrigger,
|
|
47
|
+
formatter: formatter
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
var getScatterXAxis = function getScatterXAxis(args) {
|
|
51
|
+
var rows = args.rows,
|
|
52
|
+
dataLabels = args.dataLabels,
|
|
53
|
+
dimension = args.dimension;
|
|
54
|
+
var xAxisName = args.xAxisName,
|
|
55
|
+
axisVisible = args.axisVisible,
|
|
56
|
+
xAxisType = args.xAxisType;
|
|
57
|
+
var data = [];
|
|
58
|
+
dataLabels.forEach(function (dataLabel) {
|
|
59
|
+
var items = rows[dataLabel];
|
|
60
|
+
items.forEach(function (item) {
|
|
61
|
+
var name = item[dimension];
|
|
62
|
+
name && !~data.indexOf(name) && data.push(name);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
return [{
|
|
66
|
+
type: xAxisType,
|
|
67
|
+
show: axisVisible,
|
|
68
|
+
name: xAxisName,
|
|
69
|
+
data: data,
|
|
70
|
+
offset: 5,
|
|
71
|
+
axisLabel: {
|
|
72
|
+
show: true,
|
|
73
|
+
color: '#4E4E4E'
|
|
74
|
+
}
|
|
75
|
+
}];
|
|
76
|
+
};
|
|
77
|
+
var getScatterYAxis = function getScatterYAxis(args) {
|
|
78
|
+
var axisVisible = args.axisVisible,
|
|
79
|
+
dataType = args.dataType,
|
|
80
|
+
digit = args.digit,
|
|
81
|
+
min = args.min;
|
|
82
|
+
var metrics = args.metrics,
|
|
83
|
+
max = args.max,
|
|
84
|
+
scale = args.scale,
|
|
85
|
+
yAxisName = args.yAxisName;
|
|
86
|
+
function formatter(val) {
|
|
87
|
+
return getFormated(val, dataType[metrics[0]], digit);
|
|
88
|
+
}
|
|
89
|
+
var result = {
|
|
90
|
+
type: 'value',
|
|
91
|
+
show: axisVisible,
|
|
92
|
+
scale: scale,
|
|
93
|
+
min: min,
|
|
94
|
+
max: max
|
|
95
|
+
};
|
|
96
|
+
Object.assign(result, {
|
|
97
|
+
axisTick: {
|
|
98
|
+
show: false
|
|
99
|
+
},
|
|
100
|
+
name: yAxisName,
|
|
101
|
+
offset: 10,
|
|
102
|
+
axisLabel: {
|
|
103
|
+
show: true,
|
|
104
|
+
formatter: formatter,
|
|
105
|
+
color: '#4E4E4E'
|
|
106
|
+
},
|
|
107
|
+
splitLine: {
|
|
108
|
+
show: true,
|
|
109
|
+
lineStyle: {
|
|
110
|
+
color: 'rgba(25,25,25,0.10)'
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
return result;
|
|
115
|
+
};
|
|
116
|
+
var getScatterSeries = function getScatterSeries(args) {
|
|
117
|
+
var columns = args.columns,
|
|
118
|
+
cursor = args.cursor,
|
|
119
|
+
dataLabels = args.dataLabels,
|
|
120
|
+
dimension = args.dimension,
|
|
121
|
+
itemStyle = args.itemStyle,
|
|
122
|
+
label = args.label,
|
|
123
|
+
metrics = args.metrics,
|
|
124
|
+
color = args.color;
|
|
125
|
+
var rows = args.rows,
|
|
126
|
+
symbol = args.symbol,
|
|
127
|
+
symbolRotate = args.symbolRotate,
|
|
128
|
+
symbolSize = args.symbolSize,
|
|
129
|
+
symbolSizeMax = args.symbolSizeMax,
|
|
130
|
+
symbolOffset = args.symbolOffset;
|
|
131
|
+
var extraMetrics = columns.filter(function (column) {
|
|
132
|
+
return !~metrics.indexOf(column) && column !== dimension;
|
|
133
|
+
});
|
|
134
|
+
var numbers = [];
|
|
135
|
+
dataLabels.forEach(function (dataLabel) {
|
|
136
|
+
return rows[dataLabel].forEach(function (row) {
|
|
137
|
+
return numbers.push(row[metrics[1]]);
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
var _ref = {},
|
|
141
|
+
_ref$maxNum = _ref.maxNum,
|
|
142
|
+
maxNum = _ref$maxNum === void 0 ? Math.max.apply(Math, numbers) : _ref$maxNum,
|
|
143
|
+
_ref$series = _ref.series,
|
|
144
|
+
series = _ref$series === void 0 ? [] : _ref$series;
|
|
145
|
+
dataLabels.forEach(function (dataLabel, index) {
|
|
146
|
+
var _ref2 = {},
|
|
147
|
+
_ref2$result = _ref2.result,
|
|
148
|
+
result = _ref2$result === void 0 ? [] : _ref2$result,
|
|
149
|
+
_ref2$itemData = _ref2.itemData,
|
|
150
|
+
itemData = _ref2$itemData === void 0 ? rows[dataLabel] : _ref2$itemData;
|
|
151
|
+
itemData.forEach(function (item) {
|
|
152
|
+
var itemResult = {
|
|
153
|
+
value: []
|
|
154
|
+
};
|
|
155
|
+
itemResult.value.push(item[dimension], item[metrics[0]], item[metrics[1]]);
|
|
156
|
+
extraMetrics.forEach(function (ext) {
|
|
157
|
+
return itemResult.value.push(item[ext]);
|
|
158
|
+
});
|
|
159
|
+
itemResult.symbolSize = symbolSize || item[metrics[1]] / maxNum * symbolSizeMax;
|
|
160
|
+
result.push(itemResult);
|
|
161
|
+
});
|
|
162
|
+
var serie = {
|
|
163
|
+
type: 'scatter',
|
|
164
|
+
data: result,
|
|
165
|
+
name: dataLabel,
|
|
166
|
+
label: label,
|
|
167
|
+
itemStyle: _objectSpread({
|
|
168
|
+
borderWidth: 1,
|
|
169
|
+
borderColor: color[index],
|
|
170
|
+
color: "rgba(".concat(hexToRgb(color[index]), ", 0.3)")
|
|
171
|
+
}, itemStyle || {})
|
|
172
|
+
};
|
|
173
|
+
Object.assign(serie, {
|
|
174
|
+
symbol: symbol,
|
|
175
|
+
symbolRotate: symbolRotate,
|
|
176
|
+
symbolOffset: symbolOffset,
|
|
177
|
+
cursor: cursor
|
|
178
|
+
});
|
|
179
|
+
series.push(serie);
|
|
180
|
+
});
|
|
181
|
+
return series;
|
|
182
|
+
};
|
|
183
|
+
var getSeries = function getSeries(args) {
|
|
184
|
+
var cursor = args.cursor,
|
|
185
|
+
label = args.label,
|
|
186
|
+
tooltip = args.tooltip,
|
|
187
|
+
itemStyle = args.itemStyle,
|
|
188
|
+
symbolSizeMax = args.symbolSizeMax;
|
|
189
|
+
var series = args.series,
|
|
190
|
+
color = args.color,
|
|
191
|
+
symbol = args.symbol,
|
|
192
|
+
symbolSize = args.symbolSize,
|
|
193
|
+
symbolRotate = args.symbolRotate,
|
|
194
|
+
symbolOffset = args.symbolOffset;
|
|
195
|
+
series.forEach(function (item, index) {
|
|
196
|
+
var itemBase = {
|
|
197
|
+
type: 'scatter',
|
|
198
|
+
symbol: symbol
|
|
199
|
+
};
|
|
200
|
+
var numbers = [];
|
|
201
|
+
var data = item.data;
|
|
202
|
+
data.forEach(function (row) {
|
|
203
|
+
return numbers.push(row[1]);
|
|
204
|
+
});
|
|
205
|
+
var maxNum = Math.max.apply(Math, numbers);
|
|
206
|
+
item.data = data.map(function (item) {
|
|
207
|
+
return {
|
|
208
|
+
value: item,
|
|
209
|
+
symbolSize: symbolSize || item[1] / maxNum * symbolSizeMax
|
|
210
|
+
};
|
|
211
|
+
});
|
|
212
|
+
Object.assign(itemBase, {
|
|
213
|
+
symbolRotate: symbolRotate,
|
|
214
|
+
symbolOffset: symbolOffset,
|
|
215
|
+
cursor: cursor,
|
|
216
|
+
label: label,
|
|
217
|
+
tooltip: tooltip,
|
|
218
|
+
itemStyle: _objectSpread({
|
|
219
|
+
borderWidth: 1,
|
|
220
|
+
borderColor: color[index],
|
|
221
|
+
color: "rgba(".concat(hexToRgb(color[index]), ", 0.3)")
|
|
222
|
+
}, itemStyle || {}),
|
|
223
|
+
emphasis: {
|
|
224
|
+
itemStyle: {
|
|
225
|
+
borderWidth: 1,
|
|
226
|
+
borderColor: color[index]
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
Object.assign(item, itemBase);
|
|
231
|
+
});
|
|
232
|
+
return series;
|
|
233
|
+
};
|
|
234
|
+
export var scatter = function scatter(columns, rows, settings, extra) {
|
|
235
|
+
var _settings$dimension = settings.dimension,
|
|
236
|
+
dimension = _settings$dimension === void 0 ? columns[0] : _settings$dimension,
|
|
237
|
+
_settings$metrics = settings.metrics,
|
|
238
|
+
metrics = _settings$metrics === void 0 ? [columns[1], columns[2]] : _settings$metrics,
|
|
239
|
+
_settings$dataType = settings.dataType,
|
|
240
|
+
dataType = _settings$dataType === void 0 ? {} : _settings$dataType;
|
|
241
|
+
var _settings$xAxisType = settings.xAxisType,
|
|
242
|
+
xAxisType = _settings$xAxisType === void 0 ? 'category' : _settings$xAxisType,
|
|
243
|
+
xAxisName = settings.xAxisName,
|
|
244
|
+
yAxisName = settings.yAxisName,
|
|
245
|
+
_settings$digit = settings.digit,
|
|
246
|
+
digit = _settings$digit === void 0 ? 2 : _settings$digit,
|
|
247
|
+
_settings$legendName = settings.legendName,
|
|
248
|
+
legendName = _settings$legendName === void 0 ? {} : _settings$legendName;
|
|
249
|
+
var _settings$labelMap = settings.labelMap,
|
|
250
|
+
labelMap = _settings$labelMap === void 0 ? {} : _settings$labelMap,
|
|
251
|
+
_settings$tooltipTrig = settings.tooltipTrigger,
|
|
252
|
+
tooltipTrigger = _settings$tooltipTrig === void 0 ? 'item' : _settings$tooltipTrig,
|
|
253
|
+
_settings$axisVisible = settings.axisVisible,
|
|
254
|
+
axisVisible = _settings$axisVisible === void 0 ? true : _settings$axisVisible,
|
|
255
|
+
_settings$symbolSizeM = settings.symbolSizeMax,
|
|
256
|
+
symbolSizeMax = _settings$symbolSizeM === void 0 ? 50 : _settings$symbolSizeM,
|
|
257
|
+
symbol = settings.symbol;
|
|
258
|
+
var symbolSize = settings.symbolSize,
|
|
259
|
+
symbolRotate = settings.symbolRotate,
|
|
260
|
+
symbolOffset = settings.symbolOffset,
|
|
261
|
+
cursor = settings.cursor,
|
|
262
|
+
min = settings.min,
|
|
263
|
+
max = settings.max,
|
|
264
|
+
scale = settings.scale,
|
|
265
|
+
label = settings.label,
|
|
266
|
+
itemStyle = settings.itemStyle;
|
|
267
|
+
var tooltipVisible = extra.tooltipVisible,
|
|
268
|
+
legendVisible = extra.legendVisible,
|
|
269
|
+
color = extra.color;
|
|
270
|
+
var tooltip = tooltipVisible && getScatterTooltip({
|
|
271
|
+
tooltipTrigger: tooltipTrigger,
|
|
272
|
+
labelMap: labelMap,
|
|
273
|
+
columns: columns,
|
|
274
|
+
dataType: dataType,
|
|
275
|
+
digit: digit
|
|
276
|
+
});
|
|
277
|
+
if (Array.isArray(rows)) {
|
|
278
|
+
var lineSettings = _objectSpread(_objectSpread({}, settings), {
|
|
279
|
+
yAxisName: yAxisName ? [yAxisName] : undefined,
|
|
280
|
+
xAxisName: xAxisName ? [xAxisName] : undefined,
|
|
281
|
+
dimension: dimension ? [dimension] : undefined,
|
|
282
|
+
max: max ? [max] : undefined,
|
|
283
|
+
min: min ? [min] : undefined,
|
|
284
|
+
scale: scale ? [scale] : undefined
|
|
285
|
+
});
|
|
286
|
+
var options = line(columns, rows, lineSettings, extra);
|
|
287
|
+
if (!options || !options.series) {
|
|
288
|
+
return {};
|
|
289
|
+
}
|
|
290
|
+
var baseObj = {
|
|
291
|
+
color: color,
|
|
292
|
+
symbol: symbol,
|
|
293
|
+
symbolSize: symbolSize,
|
|
294
|
+
symbolRotate: symbolRotate,
|
|
295
|
+
symbolOffset: symbolOffset,
|
|
296
|
+
cursor: cursor,
|
|
297
|
+
label: label,
|
|
298
|
+
itemStyle: itemStyle,
|
|
299
|
+
symbolSizeMax: symbolSizeMax
|
|
300
|
+
};
|
|
301
|
+
options.series = getSeries(_objectSpread({
|
|
302
|
+
tooltip: tooltip,
|
|
303
|
+
series: options.series
|
|
304
|
+
}, baseObj));
|
|
305
|
+
options.legend = _objectSpread({
|
|
306
|
+
itemStyle: {
|
|
307
|
+
borderWidth: 1
|
|
308
|
+
}
|
|
309
|
+
}, options.legend || {});
|
|
310
|
+
return options;
|
|
311
|
+
}
|
|
312
|
+
var dataLabels = Object.keys(rows);
|
|
313
|
+
var legend = legendVisible && getScatterLegend(dataLabels, legendName);
|
|
314
|
+
var xAxisParam = {
|
|
315
|
+
xAxisName: xAxisName,
|
|
316
|
+
axisVisible: axisVisible,
|
|
317
|
+
xAxisType: xAxisType,
|
|
318
|
+
dataLabels: dataLabels,
|
|
319
|
+
dimension: dimension,
|
|
320
|
+
rows: rows
|
|
321
|
+
};
|
|
322
|
+
var xAxis = getScatterXAxis(xAxisParam);
|
|
323
|
+
var yAxisParam = {
|
|
324
|
+
min: min,
|
|
325
|
+
max: max,
|
|
326
|
+
scale: scale,
|
|
327
|
+
yAxisName: yAxisName,
|
|
328
|
+
dataType: dataType,
|
|
329
|
+
metrics: metrics,
|
|
330
|
+
digit: digit,
|
|
331
|
+
axisVisible: axisVisible
|
|
332
|
+
};
|
|
333
|
+
var yAxis = getScatterYAxis(yAxisParam);
|
|
334
|
+
var seriesParam = {
|
|
335
|
+
rows: rows,
|
|
336
|
+
dataLabels: dataLabels,
|
|
337
|
+
columns: columns,
|
|
338
|
+
metrics: metrics,
|
|
339
|
+
dimension: dimension,
|
|
340
|
+
label: label,
|
|
341
|
+
itemStyle: itemStyle,
|
|
342
|
+
symbol: symbol
|
|
343
|
+
};
|
|
344
|
+
Object.assign(seriesParam, {
|
|
345
|
+
symbolSizeMax: symbolSizeMax,
|
|
346
|
+
symbolSize: symbolSize,
|
|
347
|
+
symbolRotate: symbolRotate,
|
|
348
|
+
symbolOffset: symbolOffset,
|
|
349
|
+
cursor: cursor,
|
|
350
|
+
color: color
|
|
351
|
+
});
|
|
352
|
+
var series = getScatterSeries(seriesParam);
|
|
353
|
+
return {
|
|
354
|
+
legend: legend,
|
|
355
|
+
tooltip: tooltip,
|
|
356
|
+
xAxis: xAxis,
|
|
357
|
+
yAxis: yAxis,
|
|
358
|
+
series: series
|
|
359
|
+
};
|
|
360
|
+
};
|