@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.
Files changed (178) hide show
  1. package/action-menu/index.js +10 -0
  2. package/action-menu/vue.js +26 -0
  3. package/amount/index.js +334 -0
  4. package/amount/vue.js +206 -0
  5. package/area/index.js +162 -0
  6. package/area/vue.js +68 -0
  7. package/autonavi-map/index.js +28 -0
  8. package/avatar/index.js +5 -1
  9. package/avatar/vue.js +2 -1
  10. package/baidu-map/index.js +28 -0
  11. package/breadcrumb/index.js +9 -0
  12. package/breadcrumb/vue.js +25 -3
  13. package/breadcrumb-item/index.js +26 -0
  14. package/breadcrumb-item/vue.js +20 -11
  15. package/bulletin-board/index.js +4 -1
  16. package/button-group/vue.js +1 -1
  17. package/calendar/index.js +14 -14
  18. package/card-template/index.js +1 -1
  19. package/cascader/index.js +21 -7
  20. package/cascader/vue.js +1 -2
  21. package/cascader-node/index.js +3 -1
  22. package/cascader-panel/index.js +12 -4
  23. package/cascader-panel/vue.js +1 -2
  24. package/chart-bar/index.js +533 -0
  25. package/chart-boxplot/index.js +270 -0
  26. package/chart-candle/index.js +428 -0
  27. package/chart-core/deps/constants.js +65 -0
  28. package/chart-core/deps/numerify.js +286 -0
  29. package/chart-core/deps/utils.js +205 -0
  30. package/chart-core/index.js +541 -0
  31. package/chart-core/modules/animation.js +10 -0
  32. package/chart-core/modules/extend.js +36 -0
  33. package/chart-core/modules/mark.js +7 -0
  34. package/chart-core/vue.js +128 -0
  35. package/chart-funnel/index.js +155 -0
  36. package/chart-gauge/index.js +153 -0
  37. package/chart-graph/index.js +38 -0
  38. package/chart-heatmap/index.js +407 -0
  39. package/chart-line/index.js +358 -0
  40. package/chart-liquidfill/index.js +119 -0
  41. package/chart-map/index.js +261 -0
  42. package/chart-pie/index.js +327 -0
  43. package/chart-radar/index.js +181 -0
  44. package/chart-sankey/index.js +166 -0
  45. package/chart-scatter/index.js +360 -0
  46. package/chart-sunburst/index.js +36 -0
  47. package/chart-tree/index.js +107 -0
  48. package/chart-waterfall/index.js +231 -0
  49. package/chart-wordcloud/index.js +109 -0
  50. package/checkbox/index.js +4 -4
  51. package/checkbox-button/index.js +3 -1
  52. package/common/bigInt.js +5 -2
  53. package/common/date.js +17 -17
  54. package/common/deps/date-util.js +15 -5
  55. package/common/deps/date.js +6 -6
  56. package/common/deps/dom.js +18 -6
  57. package/common/deps/eSpaceCtrl.js +286 -0
  58. package/common/deps/fullscreen/apis.js +22 -22
  59. package/common/deps/memorize.js +3 -3
  60. package/common/deps/modal-queue.js +2 -0
  61. package/common/deps/popper.js +12 -10
  62. package/common/deps/popup-manager.js +16 -5
  63. package/common/deps/resize-event.js +6 -2
  64. package/common/deps/scrollbar-width.js +6 -2
  65. package/common/deps/tree-model/node.js +30 -10
  66. package/common/deps/tree-model/tree-store.js +33 -21
  67. package/common/deps/tree-model/util.js +6 -2
  68. package/common/deps/upload-ajax.js +7 -1
  69. package/common/deps/vue-popper.js +2 -2
  70. package/common/string.js +1 -1
  71. package/company/index.js +56 -0
  72. package/company/vue.js +35 -0
  73. package/country/index.js +54 -0
  74. package/country/vue.js +35 -0
  75. package/credit-card-form/index.js +1 -0
  76. package/currency/index.js +78 -0
  77. package/currency/vue.js +39 -0
  78. package/date-panel/index.js +16 -6
  79. package/date-picker/index.js +9 -5
  80. package/date-range/index.js +28 -9
  81. package/date-table/index.js +3 -1
  82. package/dept/index.js +318 -0
  83. package/dept/vue.js +163 -0
  84. package/detail-page/index.js +4 -1
  85. package/dialog-box/index.js +14 -4
  86. package/dialog-box/vue.js +7 -3
  87. package/drop-roles/index.js +73 -0
  88. package/drop-roles/vue.js +38 -0
  89. package/dropdown/index.js +5 -4
  90. package/dropdown/vue.js +5 -3
  91. package/dropdown-item/index.js +15 -0
  92. package/dropdown-item/vue.js +27 -13
  93. package/espace/index.js +129 -0
  94. package/espace/vue.js +52 -0
  95. package/exception/index.js +1 -1
  96. package/file-upload/index.js +336 -291
  97. package/form/index.js +3 -1
  98. package/form/vue.js +15 -0
  99. package/form-item/index.js +15 -5
  100. package/fullscreen/index.js +4 -4
  101. package/fullscreen/vue.js +3 -3
  102. package/grid/core/interceptor.js +4 -7
  103. package/grid/plugins/export.js +2 -2
  104. package/grid/plugins/exportExcel.js +28 -10
  105. package/grid/static/array/findTree.js +1 -1
  106. package/grid/static/base/helperCreateGetObjects.js +1 -1
  107. package/grid/static/base/helperEqualCompare.js +2 -2
  108. package/grid/static/base/helperGetHGSKeys.js +1 -1
  109. package/grid/static/base/uniqueId.js +1 -1
  110. package/grid/static/object/assign.js +3 -3
  111. package/grid/static/string/toString.js +3 -3
  112. package/hrapprover/index.js +118 -0
  113. package/hrapprover/vue.js +102 -0
  114. package/locales/index.js +116 -0
  115. package/locales/vue.js +46 -0
  116. package/logon-user/index.js +23 -0
  117. package/logon-user/vue.js +22 -0
  118. package/logout/index.js +118 -0
  119. package/logout/vue.js +22 -0
  120. package/milestone/index.js +2 -1
  121. package/mini-picker/index.js +1 -1
  122. package/mini-picker/vue.js +1 -1
  123. package/modal/index.js +4 -2
  124. package/month-table/index.js +2 -2
  125. package/nav-menu/index.js +2 -2
  126. package/numeric/index.js +5 -2
  127. package/package.json +33 -136
  128. package/pager-item/vue.js +6 -2
  129. package/picker/index.js +43 -17
  130. package/picker/timezone.js +2 -2
  131. package/picker-column/index.js +7 -3
  132. package/pop-upload/index.js +5 -3
  133. package/popeditor/index.js +15 -7
  134. package/popover/index.js +87 -54
  135. package/popover/vue.js +13 -9
  136. package/rate/index.js +2 -2
  137. package/rich-text/clipboard.js +77 -0
  138. package/rich-text/index.js +176 -0
  139. package/rich-text/module/file-upload.js +118 -0
  140. package/rich-text/module/image-drop.js +54 -0
  141. package/rich-text/module/image-upload.js +84 -0
  142. package/rich-text/options.js +187 -0
  143. package/rich-text/table-module.js +557 -0
  144. package/rich-text/vue.js +149 -0
  145. package/roles/index.js +87 -0
  146. package/roles/vue.js +39 -0
  147. package/search/index.js +32 -27
  148. package/search/vue.js +7 -2
  149. package/select/index.js +328 -304
  150. package/select/vue.js +19 -9
  151. package/select-dropdown/index.js +1 -1
  152. package/slider/index.js +9 -11
  153. package/slider/vue.js +3 -3
  154. package/split/vue.js +1 -1
  155. package/tab-nav/index.js +0 -6
  156. package/tab-nav/vue.js +0 -14
  157. package/table/index.js +1 -1
  158. package/text-popup/index.js +6 -4
  159. package/time/index.js +3 -1
  160. package/time-range/index.js +6 -2
  161. package/time-spinner/index.js +15 -5
  162. package/toggle-menu/index.js +11 -0
  163. package/toggle-menu/vue.js +2 -1
  164. package/tooltip/index.js +46 -35
  165. package/tooltip/vue.js +5 -1
  166. package/tree/index.js +57 -21
  167. package/tree-menu/index.js +3 -1
  168. package/tree-node/index.js +7 -3
  169. package/upload/index.js +14 -5
  170. package/user/index.js +634 -0
  171. package/user/vue.js +113 -0
  172. package/user-account/index.js +23 -0
  173. package/user-account/vue.js +25 -0
  174. package/user-contact/index.js +1 -4
  175. package/user-head/index.js +33 -11
  176. package/user-head/vue.js +10 -7
  177. package/user-link/index.js +43 -0
  178. 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
+ };