@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.
Files changed (177) 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/file-upload/index.js +336 -291
  96. package/form/index.js +3 -1
  97. package/form/vue.js +15 -0
  98. package/form-item/index.js +15 -5
  99. package/fullscreen/index.js +4 -4
  100. package/fullscreen/vue.js +3 -3
  101. package/grid/core/interceptor.js +4 -7
  102. package/grid/plugins/export.js +2 -2
  103. package/grid/plugins/exportExcel.js +28 -10
  104. package/grid/static/array/findTree.js +1 -1
  105. package/grid/static/base/helperCreateGetObjects.js +1 -1
  106. package/grid/static/base/helperEqualCompare.js +2 -2
  107. package/grid/static/base/helperGetHGSKeys.js +1 -1
  108. package/grid/static/base/uniqueId.js +1 -1
  109. package/grid/static/object/assign.js +3 -3
  110. package/grid/static/string/toString.js +3 -3
  111. package/hrapprover/index.js +118 -0
  112. package/hrapprover/vue.js +102 -0
  113. package/locales/index.js +116 -0
  114. package/locales/vue.js +46 -0
  115. package/logon-user/index.js +23 -0
  116. package/logon-user/vue.js +22 -0
  117. package/logout/index.js +118 -0
  118. package/logout/vue.js +22 -0
  119. package/milestone/index.js +2 -1
  120. package/mini-picker/index.js +1 -1
  121. package/mini-picker/vue.js +1 -1
  122. package/modal/index.js +4 -2
  123. package/month-table/index.js +2 -2
  124. package/nav-menu/index.js +2 -2
  125. package/numeric/index.js +4 -2
  126. package/package.json +33 -136
  127. package/pager-item/vue.js +6 -2
  128. package/picker/index.js +43 -17
  129. package/picker/timezone.js +2 -2
  130. package/picker-column/index.js +7 -3
  131. package/pop-upload/index.js +5 -3
  132. package/popeditor/index.js +15 -7
  133. package/popover/index.js +87 -54
  134. package/popover/vue.js +13 -9
  135. package/rate/index.js +2 -2
  136. package/rich-text/clipboard.js +77 -0
  137. package/rich-text/index.js +176 -0
  138. package/rich-text/module/file-upload.js +118 -0
  139. package/rich-text/module/image-drop.js +54 -0
  140. package/rich-text/module/image-upload.js +84 -0
  141. package/rich-text/options.js +187 -0
  142. package/rich-text/table-module.js +557 -0
  143. package/rich-text/vue.js +149 -0
  144. package/roles/index.js +87 -0
  145. package/roles/vue.js +39 -0
  146. package/search/index.js +32 -27
  147. package/search/vue.js +7 -2
  148. package/select/index.js +328 -304
  149. package/select/vue.js +19 -9
  150. package/select-dropdown/index.js +1 -1
  151. package/slider/index.js +9 -11
  152. package/slider/vue.js +3 -3
  153. package/split/vue.js +1 -1
  154. package/tab-nav/index.js +0 -6
  155. package/tab-nav/vue.js +0 -14
  156. package/table/index.js +1 -1
  157. package/text-popup/index.js +6 -4
  158. package/time/index.js +3 -1
  159. package/time-range/index.js +6 -2
  160. package/time-spinner/index.js +15 -5
  161. package/toggle-menu/index.js +11 -0
  162. package/toggle-menu/vue.js +2 -1
  163. package/tooltip/index.js +46 -35
  164. package/tooltip/vue.js +5 -1
  165. package/tree/index.js +57 -21
  166. package/tree-menu/index.js +3 -1
  167. package/tree-node/index.js +7 -3
  168. package/upload/index.js +14 -5
  169. package/user/index.js +634 -0
  170. package/user/vue.js +113 -0
  171. package/user-account/index.js +23 -0
  172. package/user-account/vue.js +25 -0
  173. package/user-contact/index.js +1 -4
  174. package/user-head/index.js +9 -11
  175. package/user-head/vue.js +2 -6
  176. package/user-link/index.js +43 -0
  177. package/user-link/vue.js +60 -0
@@ -0,0 +1,261 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _typeof from "@babel/runtime/helpers/typeof";
3
+ 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; }
4
+ 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; }
5
+ import { getFormated, getMapJSON, getLegend as getLegendMap } from '@opentiny/vue-renderless/chart-core/deps/utils';
6
+ import { itemPoint, itemLabel, itemContent } from '@opentiny/vue-renderless/chart-core/deps/constants';
7
+ import { isNull } from '@opentiny/vue-renderless/common/type';
8
+ var getTooltip = function getTooltip(_ref) {
9
+ var dataType = _ref.dataType,
10
+ digit = _ref.digit,
11
+ dataStore = _ref.dataStore,
12
+ metrics = _ref.metrics,
13
+ color = _ref.color,
14
+ labelMap = _ref.labelMap;
15
+ function formatter(item) {
16
+ var tplt = [];
17
+ if (!item.name) {
18
+ return '';
19
+ }
20
+ tplt.push("".concat(itemLabel(item.name), "<br>"));
21
+ metrics.forEach(function (label, index) {
22
+ var title = isNull(labelMap[label]) ? label : labelMap[label];
23
+ tplt.push("".concat(itemPoint(color[index])).concat(itemLabel(title)));
24
+ if (dataStore[item.name]) {
25
+ tplt.push(itemContent(getFormated(dataStore[item.name][label], dataType[label], digit)));
26
+ } else {
27
+ tplt.push(itemContent('-'));
28
+ }
29
+ tplt.push('<br>');
30
+ });
31
+ return tplt.join('');
32
+ }
33
+ return {
34
+ formatter: formatter
35
+ };
36
+ };
37
+ var setGeoLabel = function setGeoLabel(value, target, label) {
38
+ if (_typeof(value) === 'object') {
39
+ target[label] = value;
40
+ } else if (value) {
41
+ target[label] = {
42
+ show: true
43
+ };
44
+ }
45
+ };
46
+ var getSeries = function getSeries(args) {
47
+ var position = args.position,
48
+ selectData = args.selectData,
49
+ dimension = args.dimension,
50
+ metrics = args.metrics,
51
+ rows = args.rows,
52
+ label = args.label,
53
+ selectedMode = args.selectedMode,
54
+ roam = args.roam,
55
+ center = args.center,
56
+ aspectScale = args.aspectScale,
57
+ zoom = args.zoom;
58
+ var boundingCoords = args.boundingCoords,
59
+ labelMap = args.labelMap,
60
+ scaleLimit = args.scaleLimit,
61
+ mapGrid = args.mapGrid,
62
+ _args$itemStyle = args.itemStyle,
63
+ itemStyle = _args$itemStyle === void 0 ? {
64
+ areaColor: 'rgba(25,25,25,0.05)'
65
+ } : _args$itemStyle;
66
+ var _ref2 = {},
67
+ _ref2$result = _ref2.result,
68
+ result = _ref2$result === void 0 ? [] : _ref2$result,
69
+ _ref2$mapBase = _ref2.mapBase,
70
+ mapBase = _ref2$mapBase === void 0 ? {
71
+ type: 'map',
72
+ map: position
73
+ } : _ref2$mapBase;
74
+ var _ref3 = {},
75
+ _ref3$emphasis = _ref3.emphasis,
76
+ emphasis = _ref3$emphasis === void 0 ? {
77
+ itemStyle: {
78
+ areaColor: 'rgba(25,25,25,0.2)'
79
+ },
80
+ label: {
81
+ color: '#191919'
82
+ }
83
+ } : _ref3$emphasis;
84
+ metrics.forEach(function (itemName) {
85
+ var name = !isNull(labelMap[itemName]) ? labelMap[itemName] : itemName;
86
+ var data = [];
87
+ var itemResult = _objectSpread({
88
+ name: name,
89
+ data: data,
90
+ selectedMode: selectedMode,
91
+ roam: roam,
92
+ center: center,
93
+ aspectScale: aspectScale,
94
+ boundingCoords: boundingCoords,
95
+ zoom: zoom,
96
+ scaleLimit: scaleLimit
97
+ }, mapBase);
98
+ if (mapGrid) {
99
+ Object.keys(mapGrid).forEach(function (key) {
100
+ return itemResult[key] = mapGrid[key];
101
+ });
102
+ }
103
+ setGeoLabel(itemStyle, itemResult, 'itemStyle');
104
+ setGeoLabel(label, itemResult, 'label');
105
+ rows.forEach(function (row) {
106
+ return itemResult.data.push({
107
+ name: row[dimension],
108
+ value: row[itemName],
109
+ selected: selectData
110
+ });
111
+ });
112
+ itemResult.emphasis = emphasis;
113
+ itemResult.label = _objectSpread({
114
+ color: '#191919'
115
+ }, itemResult.label);
116
+ result.push(itemResult);
117
+ });
118
+ return result;
119
+ };
120
+ var registerMap = function registerMap(args, mapOrigin, echarts) {
121
+ var _once = args._once,
122
+ registerSign = args.registerSign,
123
+ beforeRegisterMap = args.beforeRegisterMap,
124
+ beforeRegisterMapOnce = args.beforeRegisterMapOnce;
125
+ var registerSignOnce = args.registerSignOnce,
126
+ position = args.position,
127
+ specialAreas = args.specialAreas;
128
+ if (!_once[registerSign] && beforeRegisterMap) {
129
+ mapOrigin = beforeRegisterMap(mapOrigin);
130
+ }
131
+ if (!_once[registerSign] && beforeRegisterMapOnce && !_once[registerSignOnce]) {
132
+ _once[registerSignOnce] = true;
133
+ mapOrigin = beforeRegisterMapOnce(mapOrigin);
134
+ }
135
+ if (!_once[registerSign]) {
136
+ _once[registerSign] = true;
137
+ echarts.registerMap(position, mapOrigin, specialAreas);
138
+ }
139
+ };
140
+ export var map = function map(columns, rows, settings, extra) {
141
+ var _settings$position = settings.position,
142
+ position = _settings$position === void 0 ? '' : _settings$position,
143
+ _settings$selectData = settings.selectData,
144
+ selectData = _settings$selectData === void 0 ? false : _settings$selectData,
145
+ selectedMode = settings.selectedMode,
146
+ _settings$label = settings.label,
147
+ label = _settings$label === void 0 ? true : _settings$label,
148
+ _settings$dataType = settings.dataType,
149
+ dataType = _settings$dataType === void 0 ? {} : _settings$dataType,
150
+ _settings$digit = settings.digit,
151
+ digit = _settings$digit === void 0 ? 2 : _settings$digit;
152
+ var _settings$dimension = settings.dimension,
153
+ dimension = _settings$dimension === void 0 ? columns[0] : _settings$dimension,
154
+ roam = settings.roam,
155
+ center = settings.center,
156
+ aspectScale = settings.aspectScale,
157
+ boundingCoords = settings.boundingCoords,
158
+ zoom = settings.zoom;
159
+ var scaleLimit = settings.scaleLimit,
160
+ _settings$legendName = settings.legendName,
161
+ legendName = _settings$legendName === void 0 ? {} : _settings$legendName,
162
+ _settings$labelMap = settings.labelMap,
163
+ labelMap = _settings$labelMap === void 0 ? {} : _settings$labelMap,
164
+ mapGrid = settings.mapGrid,
165
+ itemStyle = settings.itemStyle,
166
+ positionJsonLink = settings.positionJsonLink,
167
+ emphasis = settings.emphasis;
168
+ var beforeRegisterMap = settings.beforeRegisterMap,
169
+ beforeRegisterMapOnce = settings.beforeRegisterMapOnce,
170
+ _settings$mapURLProfi = settings.mapURLProfix,
171
+ mapURLProfix = _settings$mapURLProfi === void 0 ? extra.baseUrl || '' : _settings$mapURLProfi,
172
+ _settings$specialArea = settings.specialAreas,
173
+ specialAreas = _settings$specialArea === void 0 ? {} : _settings$specialArea;
174
+ var mapOrigin = settings.mapOrigin;
175
+ var metrics = columns.slice(0);
176
+ if (!settings.metrics) {
177
+ metrics.splice(columns.indexOf(dimension), 1);
178
+ } else {
179
+ metrics = settings.metrics;
180
+ }
181
+ var tooltipVisible = extra.tooltipVisible,
182
+ legendVisible = extra.legendVisible,
183
+ color = extra.color,
184
+ _once = extra._once,
185
+ echarts = extra.echartsLib;
186
+ var dataStore = {};
187
+ rows.forEach(function (row) {
188
+ return dataStore[row[dimension]] = row;
189
+ });
190
+ var tooltip = tooltipVisible && getTooltip({
191
+ dataType: dataType,
192
+ digit: digit,
193
+ dataStore: dataStore,
194
+ metrics: metrics,
195
+ color: color,
196
+ labelMap: labelMap
197
+ });
198
+ var legend = legendVisible && getLegendMap({
199
+ metrics: metrics,
200
+ legendName: legendName,
201
+ labelMap: labelMap
202
+ });
203
+ var seriesParams = {
204
+ position: position,
205
+ selectData: selectData,
206
+ label: label,
207
+ itemStyle: itemStyle,
208
+ dimension: dimension,
209
+ metrics: metrics,
210
+ rows: rows,
211
+ selectedMode: selectedMode,
212
+ roam: roam
213
+ };
214
+ Object.assign(seriesParams, {
215
+ center: center,
216
+ aspectScale: aspectScale,
217
+ boundingCoords: boundingCoords,
218
+ zoom: zoom,
219
+ labelMap: labelMap,
220
+ scaleLimit: scaleLimit,
221
+ mapGrid: mapGrid,
222
+ emphasis: emphasis
223
+ });
224
+ var series = getSeries(seriesParams);
225
+ var registerSign = "MAP_REGISTER_".concat(position);
226
+ var registerSignOnce = "ONCE_MAP_REGISTER_".concat(position);
227
+ var registerOptions = {
228
+ _once: _once,
229
+ beforeRegisterMap: beforeRegisterMap,
230
+ beforeRegisterMapOnce: beforeRegisterMapOnce,
231
+ position: position
232
+ };
233
+ Object.assign(registerOptions, {
234
+ specialAreas: specialAreas,
235
+ registerSign: registerSign,
236
+ registerSignOnce: registerSignOnce
237
+ });
238
+ if (mapOrigin) {
239
+ registerMap(registerOptions, mapOrigin, echarts);
240
+ return {
241
+ series: series,
242
+ tooltip: tooltip,
243
+ legend: legend
244
+ };
245
+ } else {
246
+ var param = {
247
+ position: position,
248
+ positionJsonLink: positionJsonLink,
249
+ beforeRegisterMapOnce: beforeRegisterMapOnce,
250
+ mapURLProfix: mapURLProfix
251
+ };
252
+ return getMapJSON(param).then(function (json) {
253
+ registerMap(registerOptions, json, echarts);
254
+ return {
255
+ series: series,
256
+ tooltip: tooltip,
257
+ legend: legend
258
+ };
259
+ });
260
+ }
261
+ };
@@ -0,0 +1,327 @@
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, setArrayValue, cloneDeep } 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 pieRadius = 100;
8
+ var ringRadius = [90, 100];
9
+ var roseRingRadius = [20, 100];
10
+ var pieOffsetY = '50%';
11
+ var modifySeries = function modifySeries(_ref) {
12
+ var series = _ref.series,
13
+ limitShowNum = _ref.limitShowNum,
14
+ t = _ref.t;
15
+ var firstSerie = series[0];
16
+ if (limitShowNum && limitShowNum < firstSerie.data.length) {
17
+ var firstSerieData = firstSerie.data;
18
+ var remainArr = firstSerieData.slice(limitShowNum, firstSerieData.length);
19
+ var sum = 0;
20
+ remainArr.forEach(function (item) {
21
+ return sum += item.value;
22
+ });
23
+ firstSerie.data = firstSerieData.slice(0, limitShowNum);
24
+ firstSerie.data.push({
25
+ name: t('ui.chart.other'),
26
+ value: sum
27
+ });
28
+ }
29
+ };
30
+ var getPieSeries = function getPieSeries(args) {
31
+ var dataType = args.dataType,
32
+ digit = args.digit,
33
+ dimension = args.dimension,
34
+ emphasis = args.emphasis,
35
+ innerRows = args.innerRows,
36
+ isRing = args.isRing,
37
+ itemStyle = args.itemStyle,
38
+ label = args.label,
39
+ labelLine = args.labelLine;
40
+ var level = args.level,
41
+ limitShowNum = args.limitShowNum,
42
+ metrics = args.metrics,
43
+ offsetY = args.offsetY,
44
+ percentShow = args.percentShow,
45
+ radius = args.radius,
46
+ roseType = args.roseType,
47
+ selectedMode = args.selectedMode,
48
+ t = args.t;
49
+ var _ref2 = {},
50
+ _ref2$series = _ref2.series,
51
+ series = _ref2$series === void 0 ? [] : _ref2$series,
52
+ _ref2$levelTemp = _ref2.levelTemp,
53
+ levelTemp = _ref2$levelTemp === void 0 ? {} : _ref2$levelTemp,
54
+ _ref2$rowsTemp = _ref2.rowsTemp,
55
+ rowsTemp = _ref2$rowsTemp === void 0 ? [] : _ref2$rowsTemp;
56
+ if (!level) {
57
+ rowsTemp.push(innerRows);
58
+ } else {
59
+ level.forEach(function (levelItems, index) {
60
+ return levelItems.forEach(function (item) {
61
+ return setArrayValue(levelTemp, item, index);
62
+ });
63
+ });
64
+ innerRows.forEach(function (row) {
65
+ var itemLevel = levelTemp[row[dimension]];
66
+ if (itemLevel && itemLevel.length) {
67
+ itemLevel.forEach(function (levelItem) {
68
+ return setArrayValue(rowsTemp, levelItem, row);
69
+ });
70
+ }
71
+ });
72
+ }
73
+ var serieBase = {
74
+ type: 'pie',
75
+ selectedMode: selectedMode,
76
+ emphasis: emphasis,
77
+ roseType: roseType,
78
+ center: ['50%', offsetY]
79
+ };
80
+ var rowsCount = rowsTemp.length;
81
+ var centerWidth = radius / rowsCount;
82
+ rowsTemp.forEach(function (dataRows, index) {
83
+ var serie = _objectSpread({
84
+ data: []
85
+ }, serieBase);
86
+ if (!index) {
87
+ serie.radius = isRing ? radius : centerWidth;
88
+ } else {
89
+ var outerWidth = centerWidth + radius / (2 * rowsCount) * (2 * index - 1);
90
+ var innerWidth = outerWidth + radius / (2 * rowsCount);
91
+ serie.radius = [outerWidth, innerWidth];
92
+ }
93
+ rowsCount > 1 && index === 0 && (serie.label = {
94
+ position: 'inner'
95
+ });
96
+ serie.label = _objectSpread({
97
+ color: '#191919'
98
+ }, label);
99
+ serie.labelLine = _objectSpread({
100
+ smooth: true,
101
+ lineStyle: {
102
+ color: '#bbb'
103
+ }
104
+ }, labelLine);
105
+ serie.itemStyle = _objectSpread({
106
+ borderWidth: 2,
107
+ borderColor: '#fff'
108
+ }, itemStyle);
109
+ if (percentShow) {
110
+ var position = rowsCount > 1 && index === 0 ? 'inner' : 'outside';
111
+ var formatter = function formatter(item) {
112
+ var tplt = [];
113
+ tplt.push("".concat(item.name, ":"));
114
+ tplt.push(getFormated(item.value, dataType, digit));
115
+ tplt.push("(".concat(item.percent, "%)"));
116
+ return tplt.join('');
117
+ };
118
+ serie.label = {
119
+ normal: {
120
+ show: true,
121
+ position: position,
122
+ formatter: formatter
123
+ }
124
+ };
125
+ }
126
+ serie.data = dataRows.map(function (row) {
127
+ return {
128
+ name: row[dimension],
129
+ value: row[metrics]
130
+ };
131
+ });
132
+ series.push(serie);
133
+ });
134
+ modifySeries({
135
+ series: series,
136
+ limitShowNum: limitShowNum,
137
+ t: t
138
+ });
139
+ return series;
140
+ };
141
+ var getPieLegend = function getPieLegend(args) {
142
+ var dimension = args.dimension,
143
+ innerRows = args.innerRows,
144
+ legendLimit = args.legendLimit,
145
+ legendName = args.legendName,
146
+ level = args.level,
147
+ limitShowNum = args.limitShowNum,
148
+ t = args.t;
149
+ var _ref3 = {},
150
+ _ref3$legend = _ref3.legend,
151
+ legend = _ref3$legend === void 0 ? [] : _ref3$legend,
152
+ _ref3$levelTemp = _ref3.levelTemp,
153
+ levelTemp = _ref3$levelTemp === void 0 ? [] : _ref3$levelTemp;
154
+ if (level) {
155
+ level.forEach(function (levelItem) {
156
+ return levelItem.forEach(function (item) {
157
+ return levelTemp.push(item);
158
+ });
159
+ });
160
+ legend = levelTemp;
161
+ } else if (limitShowNum && limitShowNum < innerRows.length) {
162
+ for (var i = limitShowNum - 1; i >= 0; i--) {
163
+ legend.unshift(innerRows[i][dimension]);
164
+ }
165
+ legend.push(t('ui.chart.other'));
166
+ } else {
167
+ legend = innerRows.map(function (row) {
168
+ return row[dimension];
169
+ });
170
+ }
171
+ if (legend.length) {
172
+ var show = legend.length < legendLimit;
173
+ var formatter = function formatter(name) {
174
+ return !isNull(legendName[name]) ? legendName[name] : name;
175
+ };
176
+ return {
177
+ data: legend,
178
+ show: show,
179
+ formatter: formatter
180
+ };
181
+ } else {
182
+ return false;
183
+ }
184
+ };
185
+ var getPieTooltip = function getPieTooltip(args) {
186
+ var dataType = args.dataType,
187
+ digit = args.digit,
188
+ dimension = args.dimension,
189
+ innerRows = args.innerRows,
190
+ limitShowNum = args.limitShowNum,
191
+ metrics = args.metrics,
192
+ t = args.t;
193
+ var _ref4 = {},
194
+ _ref4$localeOther = _ref4.localeOther,
195
+ localeOther = _ref4$localeOther === void 0 ? t('ui.chart.other') : _ref4$localeOther,
196
+ remainArr = _ref4.remainArr,
197
+ _ref4$sum = _ref4.sum,
198
+ sum = _ref4$sum === void 0 ? 0 : _ref4$sum;
199
+ var mapHandler = function mapHandler(row) {
200
+ sum += row[metrics];
201
+ return {
202
+ name: row[dimension],
203
+ value: row[metrics]
204
+ };
205
+ };
206
+ remainArr = innerRows.map(mapHandler).slice(limitShowNum, innerRows.length);
207
+ var formatter = function formatter(item) {
208
+ var tplt = [itemPoint(item.color)];
209
+ var percent;
210
+ if (!limitShowNum || item.name !== localeOther) {
211
+ tplt.push(itemLabel(item.name));
212
+ tplt.push(itemContent(getFormated(item.value, dataType, digit)));
213
+ tplt.push(itemContent("(".concat(item.percent, "%)")));
214
+ } else {
215
+ tplt.push(localeOther + ':');
216
+ remainArr.forEach(function (_ref5) {
217
+ var name = _ref5.name,
218
+ value = _ref5.value;
219
+ percent = getFormated(value / sum, 'percent');
220
+ tplt.push("<br>".concat(itemLabel(name)));
221
+ tplt.push(itemContent(getFormated(value, dataType, digit)));
222
+ tplt.push(itemContent(percent));
223
+ });
224
+ }
225
+ return tplt.join('');
226
+ };
227
+ return {
228
+ formatter: formatter
229
+ };
230
+ };
231
+ export var pie = function pie(columns, rows, settings, extra, isRing) {
232
+ var innerRows = cloneDeep(rows);
233
+ var _settings$dataType = settings.dataType,
234
+ dataType = _settings$dataType === void 0 ? 'normal' : _settings$dataType,
235
+ _settings$digit = settings.digit,
236
+ digit = _settings$digit === void 0 ? 2 : _settings$digit,
237
+ _settings$dimension = settings.dimension,
238
+ dimension = _settings$dimension === void 0 ? columns[0] : _settings$dimension,
239
+ _settings$emphasis = settings.emphasis,
240
+ emphasis = _settings$emphasis === void 0 ? {
241
+ scale: true
242
+ } : _settings$emphasis;
243
+ var itemStyle = settings.itemStyle,
244
+ _settings$label = settings.label,
245
+ label = _settings$label === void 0 ? false : _settings$label,
246
+ labelLine = settings.labelLine,
247
+ _settings$legendLimit = settings.legendLimit,
248
+ legendLimit = _settings$legendLimit === void 0 ? 30 : _settings$legendLimit,
249
+ _settings$legendName = settings.legendName,
250
+ legendName = _settings$legendName === void 0 ? {} : _settings$legendName,
251
+ _settings$level = settings.level,
252
+ level = _settings$level === void 0 ? false : _settings$level;
253
+ var _settings$limitShowNu = settings.limitShowNum,
254
+ limitShowNum = _settings$limitShowNu === void 0 ? 0 : _settings$limitShowNu,
255
+ _settings$metrics = settings.metrics,
256
+ metrics = _settings$metrics === void 0 ? columns[1] : _settings$metrics,
257
+ _settings$offsetY = settings.offsetY,
258
+ offsetY = _settings$offsetY === void 0 ? pieOffsetY : _settings$offsetY,
259
+ percentShow = settings.percentShow;
260
+ var _settings$roseType = settings.roseType,
261
+ roseType = _settings$roseType === void 0 ? false : _settings$roseType,
262
+ _settings$selectedMod = settings.selectedMode,
263
+ selectedMode = _settings$selectedMod === void 0 ? false : _settings$selectedMod;
264
+ var _settings$radius = settings.radius,
265
+ radius = _settings$radius === void 0 ? isRing ? roseType ? roseRingRadius : ringRadius : pieRadius : _settings$radius;
266
+ var legendVisible = extra.legendVisible,
267
+ t = extra.t,
268
+ tooltipVisible = extra.tooltipVisible;
269
+ limitShowNum && innerRows.sort(function (a, b) {
270
+ return b[metrics] - a[metrics];
271
+ });
272
+ var seriesParams = {
273
+ dataType: dataType,
274
+ digit: digit,
275
+ dimension: dimension,
276
+ emphasis: emphasis,
277
+ innerRows: innerRows,
278
+ isRing: isRing,
279
+ itemStyle: itemStyle
280
+ };
281
+ Object.assign(seriesParams, {
282
+ label: label,
283
+ labelLine: labelLine,
284
+ legendName: legendName,
285
+ level: level,
286
+ limitShowNum: limitShowNum,
287
+ metrics: metrics,
288
+ offsetY: offsetY
289
+ });
290
+ Object.assign(seriesParams, {
291
+ percentShow: percentShow,
292
+ radius: radius,
293
+ roseType: roseType,
294
+ selectedMode: selectedMode,
295
+ t: t
296
+ });
297
+ var series = getPieSeries(seriesParams);
298
+ var legendParams = {
299
+ dimension: dimension,
300
+ innerRows: innerRows,
301
+ legendLimit: legendLimit,
302
+ legendName: legendName,
303
+ level: level,
304
+ limitShowNum: limitShowNum,
305
+ t: t
306
+ };
307
+ var legend = legendVisible && getPieLegend(legendParams);
308
+ var pieTooltip = getPieTooltip({
309
+ dataType: dataType,
310
+ innerRows: innerRows,
311
+ limitShowNum: limitShowNum,
312
+ digit: digit,
313
+ metrics: metrics,
314
+ dimension: dimension,
315
+ t: t
316
+ });
317
+ var tooltip = tooltipVisible && pieTooltip;
318
+ var options = {
319
+ legend: legend,
320
+ series: series,
321
+ tooltip: tooltip
322
+ };
323
+ return options;
324
+ };
325
+ export var ring = function ring(columns, rows, settings, extra) {
326
+ return pie(columns, rows, settings, extra, true);
327
+ };