|  | <!DOCTYPE html> | 
|  | <!-- | 
|  | Licensed to the Apache Software Foundation (ASF) under one | 
|  | or more contributor license agreements.  See the NOTICE file | 
|  | distributed with this work for additional information | 
|  | regarding copyright ownership.  The ASF licenses this file | 
|  | to you under the Apache License, Version 2.0 (the | 
|  | "License"); you may not use this file except in compliance | 
|  | with the License.  You may obtain a copy of the License at | 
|  |  | 
|  | http://www.apache.org/licenses/LICENSE-2.0 | 
|  |  | 
|  | Unless required by applicable law or agreed to in writing, | 
|  | software distributed under the License is distributed on an | 
|  | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
|  | KIND, either express or implied.  See the License for the | 
|  | specific language governing permissions and limitations | 
|  | under the License. | 
|  | --> | 
|  |  | 
|  |  | 
|  | <html> | 
|  | <head> | 
|  | <meta charset="utf-8"> | 
|  | <title>Option View</title> | 
|  | <script src="lib/simpleRequire.js"></script> | 
|  | <script src="lib/config.js"></script> | 
|  | <style type="text/css"> | 
|  | body { | 
|  | margin: 0; | 
|  | } | 
|  | html, body, #option-view-chart { | 
|  | height: 100%; | 
|  | } | 
|  | </style> | 
|  | </head> | 
|  | <body> | 
|  |  | 
|  | <div id="option-view-chart"></div> | 
|  | <script src="./lib/jquery.min.js"></script> | 
|  |  | 
|  | <script> | 
|  |  | 
|  | var echarts; | 
|  | var formatUtil; | 
|  | var chart; | 
|  |  | 
|  | require([ | 
|  | 'echarts', | 
|  | './data/option-view.json' | 
|  | ], function (ec, rawData) { | 
|  | echarts = ec; | 
|  | formatUtil = echarts.format; | 
|  |  | 
|  | chart = echarts.init($('#option-view-chart')[0]); | 
|  | chart.showLoading(); | 
|  |  | 
|  | initEcharts(rawData); | 
|  | }); | 
|  |  | 
|  | function convert(source, target, basePath) { | 
|  | for (var key in source) { | 
|  | var path = basePath ? (basePath + '.' + key) : key; | 
|  | if (key.match(/^\$/)) { | 
|  |  | 
|  | } | 
|  | else { | 
|  | target.children = target.children || []; | 
|  | var child = { | 
|  | name: path | 
|  | }; | 
|  | target.children.push(child); | 
|  | convert(source[key], child, path); | 
|  | } | 
|  | } | 
|  |  | 
|  | target.value = source.$count || 1; | 
|  | } | 
|  |  | 
|  | function initEcharts(rawData) { | 
|  | chart.hideLoading(); | 
|  |  | 
|  | var data = {}; | 
|  |  | 
|  | convert(rawData, data, ''); | 
|  |  | 
|  | chart.setOption({ | 
|  | title: { | 
|  | text: '配置项查询分布111', | 
|  | left: 'center' | 
|  | }, | 
|  | tooltip: {}, | 
|  | series: [{ | 
|  | name: 'option', | 
|  | type: 'treemap', | 
|  | visibleMin: 300, | 
|  | // animation: false, | 
|  | animationDurationUpdate: 2000, | 
|  | // data: data.children, | 
|  | data: [ | 
|  | { | 
|  | name: 'a', | 
|  | value: 10, | 
|  | label: { | 
|  | normal: { | 
|  | formatter: function (params) { | 
|  | console.log(params); | 
|  | return 'from label formatter'; | 
|  | } | 
|  | } | 
|  | }, | 
|  | children: [ | 
|  | { | 
|  | name: 'a1', | 
|  | value: 11, | 
|  | children: [ | 
|  | { | 
|  | name: 'a11', | 
|  | value: 111, | 
|  | }, | 
|  | { | 
|  | name: 'a111', | 
|  | value: 1111 | 
|  | }, | 
|  | { | 
|  | name: 'a112', | 
|  | value: 1111 | 
|  | }, | 
|  | { | 
|  | name: 'a113', | 
|  | value: 111 | 
|  | }, | 
|  | { | 
|  | name: 'a114', | 
|  | value: 111 | 
|  | }, | 
|  | { | 
|  | name: 'a115', | 
|  | value: 1100 | 
|  | } | 
|  | ] | 
|  | } | 
|  | ] | 
|  | }, | 
|  | { | 
|  | name: 'b', | 
|  | value: 6, | 
|  | children: [ | 
|  | { | 
|  | name: 'b1', | 
|  | value: 15, | 
|  | chidren: [ | 
|  | { | 
|  | name: 'b11', | 
|  | value: 120 | 
|  | } | 
|  | ] | 
|  | } | 
|  | ] | 
|  | } | 
|  | ], | 
|  | leafDepth: 1, | 
|  | nodeClick: 'link', | 
|  | itemStyle: { | 
|  | // normal: { | 
|  | //     gapWidth: 1, | 
|  | //     borderWidth: 1 | 
|  | // } | 
|  | }, | 
|  | levels: [ | 
|  | { | 
|  | itemStyle: { | 
|  | normal: { | 
|  | borderColor: '#333', | 
|  | borderWidth: 4, | 
|  | gapWidth: 2 | 
|  | } | 
|  | } | 
|  | }, | 
|  | { | 
|  | itemStyle: { | 
|  | normal: { | 
|  | borderColor: '#aaa', | 
|  | gapWidth: 2, | 
|  | borderWidth: 2 | 
|  | } | 
|  | }, | 
|  | colorSaturation: [0.2, 0.7] | 
|  | } | 
|  | ] | 
|  | }] | 
|  | }); | 
|  | } | 
|  |  | 
|  | $(window).resize(function () { | 
|  | chart && chart.resize(); | 
|  | }) | 
|  | </script> | 
|  | </body> | 
|  | </html> |