From 554de444b87aab5f93cb1593a8095612cf9479a7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 09 六月 2020 17:34:30 +0800 Subject: [PATCH] 订单 --- fanli/src/main/webapp/admin/new/js/third-party/highcharts/modules/drilldown.src.js | 894 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 447 insertions(+), 447 deletions(-) diff --git a/fanli/src/main/webapp/admin/new/js/third-party/highcharts/modules/drilldown.src.js b/fanli/src/main/webapp/admin/new/js/third-party/highcharts/modules/drilldown.src.js index 558aed4..4934a6a 100644 --- a/fanli/src/main/webapp/admin/new/js/third-party/highcharts/modules/drilldown.src.js +++ b/fanli/src/main/webapp/admin/new/js/third-party/highcharts/modules/drilldown.src.js @@ -1,447 +1,447 @@ -/** - * Highcharts Drilldown plugin - * - * Author: Torstein Honsi - * Last revision: 2013-02-18 - * License: MIT License - * - * Demo: http://jsfiddle.net/highcharts/Vf3yT/ - */ - -/*global HighchartsAdapter*/ -(function (H) { - - "use strict"; - - var noop = function () {}, - defaultOptions = H.getOptions(), - each = H.each, - extend = H.extend, - wrap = H.wrap, - Chart = H.Chart, - seriesTypes = H.seriesTypes, - PieSeries = seriesTypes.pie, - ColumnSeries = seriesTypes.column, - fireEvent = HighchartsAdapter.fireEvent; - - // Utilities - function tweenColors(startColor, endColor, pos) { - var rgba = [ - Math.round(startColor[0] + (endColor[0] - startColor[0]) * pos), - Math.round(startColor[1] + (endColor[1] - startColor[1]) * pos), - Math.round(startColor[2] + (endColor[2] - startColor[2]) * pos), - startColor[3] + (endColor[3] - startColor[3]) * pos - ]; - return 'rgba(' + rgba.join(',') + ')'; - } - - // Add language - extend(defaultOptions.lang, { - drillUpText: '鈼� Back to {series.name}' - }); - defaultOptions.drilldown = { - activeAxisLabelStyle: { - cursor: 'pointer', - color: '#039', - fontWeight: 'bold', - textDecoration: 'underline' - }, - activeDataLabelStyle: { - cursor: 'pointer', - color: '#039', - fontWeight: 'bold', - textDecoration: 'underline' - }, - animation: { - duration: 500 - }, - drillUpButton: { - position: { - align: 'right', - x: -10, - y: 10 - } - // relativeTo: 'plotBox' - // theme - } - }; - - /** - * A general fadeIn method - */ - H.SVGRenderer.prototype.Element.prototype.fadeIn = function () { - this - .attr({ - opacity: 0.1, - visibility: 'visible' - }) - .animate({ - opacity: 1 - }, { - duration: 250 - }); - }; - - // Extend the Chart prototype - Chart.prototype.drilldownLevels = []; - - Chart.prototype.addSeriesAsDrilldown = function (point, ddOptions) { - var oldSeries = point.series, - xAxis = oldSeries.xAxis, - yAxis = oldSeries.yAxis, - newSeries, - color = point.color || oldSeries.color, - pointIndex, - level; - - ddOptions = extend({ - color: color - }, ddOptions); - pointIndex = HighchartsAdapter.inArray(this, oldSeries.points); - level = { - seriesOptions: oldSeries.userOptions, - shapeArgs: point.shapeArgs, - bBox: point.graphic.getBBox(), - color: color, - newSeries: ddOptions, - pointOptions: oldSeries.options.data[pointIndex], - pointIndex: pointIndex, - oldExtremes: { - xMin: xAxis && xAxis.userMin, - xMax: xAxis && xAxis.userMax, - yMin: yAxis && yAxis.userMin, - yMax: yAxis && yAxis.userMax - } - }; - - this.drilldownLevels.push(level); - - newSeries = this.addSeries(ddOptions, false); - if (xAxis) { - xAxis.oldPos = xAxis.pos; - xAxis.userMin = xAxis.userMax = null; - yAxis.userMin = yAxis.userMax = null; - } - - // Run fancy cross-animation on supported and equal types - if (oldSeries.type === newSeries.type) { - newSeries.animate = newSeries.animateDrilldown || noop; - newSeries.options.animation = true; - } - - oldSeries.remove(false); - - this.redraw(); - this.showDrillUpButton(); - }; - - Chart.prototype.getDrilldownBackText = function () { - var lastLevel = this.drilldownLevels[this.drilldownLevels.length - 1]; - - return this.options.lang.drillUpText.replace('{series.name}', lastLevel.seriesOptions.name); - - }; - - Chart.prototype.showDrillUpButton = function () { - var chart = this, - backText = this.getDrilldownBackText(), - buttonOptions = chart.options.drilldown.drillUpButton; - - - if (!this.drillUpButton) { - this.drillUpButton = this.renderer.button( - backText, - null, - null, - function () { - chart.drillUp(); - } - ) - .attr(extend({ - align: buttonOptions.position.align, - zIndex: 9 - }, buttonOptions.theme)) - .add() - .align(buttonOptions.position, false, buttonOptions.relativeTo || 'plotBox'); - } else { - this.drillUpButton.attr({ - text: backText - }) - .align(); - } - }; - - Chart.prototype.drillUp = function () { - var chart = this, - level = chart.drilldownLevels.pop(), - oldSeries = chart.series[0], - oldExtremes = level.oldExtremes, - newSeries = chart.addSeries(level.seriesOptions, false); - - fireEvent(chart, 'drillup', { seriesOptions: level.seriesOptions }); - - if (newSeries.type === oldSeries.type) { - newSeries.drilldownLevel = level; - newSeries.animate = newSeries.animateDrillupTo || noop; - newSeries.options.animation = true; - - if (oldSeries.animateDrillupFrom) { - oldSeries.animateDrillupFrom(level); - } - } - - oldSeries.remove(false); - - // Reset the zoom level of the upper series - if (newSeries.xAxis) { - newSeries.xAxis.setExtremes(oldExtremes.xMin, oldExtremes.xMax, false); - newSeries.yAxis.setExtremes(oldExtremes.yMin, oldExtremes.yMax, false); - } - - - this.redraw(); - - if (this.drilldownLevels.length === 0) { - this.drillUpButton = this.drillUpButton.destroy(); - } else { - this.drillUpButton.attr({ - text: this.getDrilldownBackText() - }) - .align(); - } - }; - - PieSeries.prototype.animateDrilldown = function (init) { - var level = this.chart.drilldownLevels[this.chart.drilldownLevels.length - 1], - animationOptions = this.chart.options.drilldown.animation, - animateFrom = level.shapeArgs, - start = animateFrom.start, - angle = animateFrom.end - start, - startAngle = angle / this.points.length, - startColor = H.Color(level.color).rgba; - - if (!init) { - each(this.points, function (point, i) { - var endColor = H.Color(point.color).rgba; - - /*jslint unparam: true*/ - point.graphic - .attr(H.merge(animateFrom, { - start: start + i * startAngle, - end: start + (i + 1) * startAngle - })) - .animate(point.shapeArgs, H.merge(animationOptions, { - step: function (val, fx) { - if (fx.prop === 'start') { - this.attr({ - fill: tweenColors(startColor, endColor, fx.pos) - }); - } - } - })); - /*jslint unparam: false*/ - }); - } - }; - - - /** - * When drilling up, keep the upper series invisible until the lower series has - * moved into place - */ - PieSeries.prototype.animateDrillupTo = - ColumnSeries.prototype.animateDrillupTo = function (init) { - if (!init) { - var newSeries = this, - level = newSeries.drilldownLevel; - - each(this.points, function (point) { - point.graphic.hide(); - if (point.dataLabel) { - point.dataLabel.hide(); - } - if (point.connector) { - point.connector.hide(); - } - }); - - - // Do dummy animation on first point to get to complete - setTimeout(function () { - each(newSeries.points, function (point, i) { - // Fade in other points - var verb = i === level.pointIndex ? 'show' : 'fadeIn'; - point.graphic[verb](); - if (point.dataLabel) { - point.dataLabel[verb](); - } - if (point.connector) { - point.connector[verb](); - } - }); - }, Math.max(this.chart.options.drilldown.animation.duration - 50, 0)); - - // Reset - this.animate = noop; - } - - }; - - ColumnSeries.prototype.animateDrilldown = function (init) { - var animateFrom = this.chart.drilldownLevels[this.chart.drilldownLevels.length - 1].shapeArgs, - animationOptions = this.chart.options.drilldown.animation; - - if (!init) { - - animateFrom.x += (this.xAxis.oldPos - this.xAxis.pos); - - each(this.points, function (point) { - point.graphic - .attr(animateFrom) - .animate(point.shapeArgs, animationOptions); - }); - } - - }; - - /** - * When drilling up, pull out the individual point graphics from the lower series - * and animate them into the origin point in the upper series. - */ - ColumnSeries.prototype.animateDrillupFrom = - PieSeries.prototype.animateDrillupFrom = - function (level) { - var animationOptions = this.chart.options.drilldown.animation, - group = this.group; - - delete this.group; - each(this.points, function (point) { - var graphic = point.graphic, - startColor = H.Color(point.color).rgba; - - delete point.graphic; - - /*jslint unparam: true*/ - graphic.animate(level.shapeArgs, H.merge(animationOptions, { - - step: function (val, fx) { - if (fx.prop === 'start') { - this.attr({ - fill: tweenColors(startColor, H.Color(level.color).rgba, fx.pos) - }); - } - }, - complete: function () { - graphic.destroy(); - if (group) { - group = group.destroy(); - } - } - })); - /*jslint unparam: false*/ - }); - }; - - H.Point.prototype.doDrilldown = function () { - var series = this.series, - chart = series.chart, - drilldown = chart.options.drilldown, - i = drilldown.series.length, - seriesOptions; - - while (i-- && !seriesOptions) { - if (drilldown.series[i].id === this.drilldown) { - seriesOptions = drilldown.series[i]; - } - } - - // Fire the event. If seriesOptions is undefined, the implementer can check for - // seriesOptions, and call addSeriesAsDrilldown async if necessary. - fireEvent(chart, 'drilldown', { - point: this, - seriesOptions: seriesOptions - }); - - if (seriesOptions) { - chart.addSeriesAsDrilldown(this, seriesOptions); - } - - }; - - wrap(H.Point.prototype, 'init', function (proceed, series, options, x) { - var point = proceed.call(this, series, options, x), - chart = series.chart, - tick = series.xAxis && series.xAxis.ticks[x], - tickLabel = tick && tick.label; - - if (point.drilldown) { - - // Add the click event to the point label - H.addEvent(point, 'click', function () { - point.doDrilldown(); - }); - - // Make axis labels clickable - if (tickLabel) { - if (!tickLabel._basicStyle) { - tickLabel._basicStyle = tickLabel.element.getAttribute('style'); - } - tickLabel - .addClass('highcharts-drilldown-axis-label') - .css(chart.options.drilldown.activeAxisLabelStyle) - .on('click', function () { - if (point.doDrilldown) { - point.doDrilldown(); - } - }); - - } - } else if (tickLabel && tickLabel._basicStyle) { - tickLabel.element.setAttribute('style', tickLabel._basicStyle); - } - - return point; - }); - - wrap(H.Series.prototype, 'drawDataLabels', function (proceed) { - var css = this.chart.options.drilldown.activeDataLabelStyle; - - proceed.call(this); - - each(this.points, function (point) { - if (point.drilldown && point.dataLabel) { - point.dataLabel - .attr({ - 'class': 'highcharts-drilldown-data-label' - }) - .css(css) - .on('click', function () { - point.doDrilldown(); - }); - } - }); - }); - - // Mark the trackers with a pointer - ColumnSeries.prototype.supportsDrilldown = true; - PieSeries.prototype.supportsDrilldown = true; - var type, - drawTrackerWrapper = function (proceed) { - proceed.call(this); - each(this.points, function (point) { - if (point.drilldown && point.graphic) { - point.graphic - .attr({ - 'class': 'highcharts-drilldown-point' - }) - .css({ cursor: 'pointer' }); - } - }); - }; - for (type in seriesTypes) { - if (seriesTypes[type].prototype.supportsDrilldown) { - wrap(seriesTypes[type].prototype, 'drawTracker', drawTrackerWrapper); - } - } - -}(Highcharts)); +/** + * Highcharts Drilldown plugin + * + * Author: Torstein Honsi + * Last revision: 2013-02-18 + * License: MIT License + * + * Demo: http://jsfiddle.net/highcharts/Vf3yT/ + */ + +/*global HighchartsAdapter*/ +(function (H) { + + "use strict"; + + var noop = function () {}, + defaultOptions = H.getOptions(), + each = H.each, + extend = H.extend, + wrap = H.wrap, + Chart = H.Chart, + seriesTypes = H.seriesTypes, + PieSeries = seriesTypes.pie, + ColumnSeries = seriesTypes.column, + fireEvent = HighchartsAdapter.fireEvent; + + // Utilities + function tweenColors(startColor, endColor, pos) { + var rgba = [ + Math.round(startColor[0] + (endColor[0] - startColor[0]) * pos), + Math.round(startColor[1] + (endColor[1] - startColor[1]) * pos), + Math.round(startColor[2] + (endColor[2] - startColor[2]) * pos), + startColor[3] + (endColor[3] - startColor[3]) * pos + ]; + return 'rgba(' + rgba.join(',') + ')'; + } + + // Add language + extend(defaultOptions.lang, { + drillUpText: '鈼� Back to {series.name}' + }); + defaultOptions.drilldown = { + activeAxisLabelStyle: { + cursor: 'pointer', + color: '#039', + fontWeight: 'bold', + textDecoration: 'underline' + }, + activeDataLabelStyle: { + cursor: 'pointer', + color: '#039', + fontWeight: 'bold', + textDecoration: 'underline' + }, + animation: { + duration: 500 + }, + drillUpButton: { + position: { + align: 'right', + x: -10, + y: 10 + } + // relativeTo: 'plotBox' + // theme + } + }; + + /** + * A general fadeIn method + */ + H.SVGRenderer.prototype.Element.prototype.fadeIn = function () { + this + .attr({ + opacity: 0.1, + visibility: 'visible' + }) + .animate({ + opacity: 1 + }, { + duration: 250 + }); + }; + + // Extend the Chart prototype + Chart.prototype.drilldownLevels = []; + + Chart.prototype.addSeriesAsDrilldown = function (point, ddOptions) { + var oldSeries = point.series, + xAxis = oldSeries.xAxis, + yAxis = oldSeries.yAxis, + newSeries, + color = point.color || oldSeries.color, + pointIndex, + level; + + ddOptions = extend({ + color: color + }, ddOptions); + pointIndex = HighchartsAdapter.inArray(this, oldSeries.points); + level = { + seriesOptions: oldSeries.userOptions, + shapeArgs: point.shapeArgs, + bBox: point.graphic.getBBox(), + color: color, + newSeries: ddOptions, + pointOptions: oldSeries.options.data[pointIndex], + pointIndex: pointIndex, + oldExtremes: { + xMin: xAxis && xAxis.userMin, + xMax: xAxis && xAxis.userMax, + yMin: yAxis && yAxis.userMin, + yMax: yAxis && yAxis.userMax + } + }; + + this.drilldownLevels.push(level); + + newSeries = this.addSeries(ddOptions, false); + if (xAxis) { + xAxis.oldPos = xAxis.pos; + xAxis.userMin = xAxis.userMax = null; + yAxis.userMin = yAxis.userMax = null; + } + + // Run fancy cross-animation on supported and equal types + if (oldSeries.type === newSeries.type) { + newSeries.animate = newSeries.animateDrilldown || noop; + newSeries.options.animation = true; + } + + oldSeries.remove(false); + + this.redraw(); + this.showDrillUpButton(); + }; + + Chart.prototype.getDrilldownBackText = function () { + var lastLevel = this.drilldownLevels[this.drilldownLevels.length - 1]; + + return this.options.lang.drillUpText.replace('{series.name}', lastLevel.seriesOptions.name); + + }; + + Chart.prototype.showDrillUpButton = function () { + var chart = this, + backText = this.getDrilldownBackText(), + buttonOptions = chart.options.drilldown.drillUpButton; + + + if (!this.drillUpButton) { + this.drillUpButton = this.renderer.button( + backText, + null, + null, + function () { + chart.drillUp(); + } + ) + .attr(extend({ + align: buttonOptions.position.align, + zIndex: 9 + }, buttonOptions.theme)) + .add() + .align(buttonOptions.position, false, buttonOptions.relativeTo || 'plotBox'); + } else { + this.drillUpButton.attr({ + text: backText + }) + .align(); + } + }; + + Chart.prototype.drillUp = function () { + var chart = this, + level = chart.drilldownLevels.pop(), + oldSeries = chart.series[0], + oldExtremes = level.oldExtremes, + newSeries = chart.addSeries(level.seriesOptions, false); + + fireEvent(chart, 'drillup', { seriesOptions: level.seriesOptions }); + + if (newSeries.type === oldSeries.type) { + newSeries.drilldownLevel = level; + newSeries.animate = newSeries.animateDrillupTo || noop; + newSeries.options.animation = true; + + if (oldSeries.animateDrillupFrom) { + oldSeries.animateDrillupFrom(level); + } + } + + oldSeries.remove(false); + + // Reset the zoom level of the upper series + if (newSeries.xAxis) { + newSeries.xAxis.setExtremes(oldExtremes.xMin, oldExtremes.xMax, false); + newSeries.yAxis.setExtremes(oldExtremes.yMin, oldExtremes.yMax, false); + } + + + this.redraw(); + + if (this.drilldownLevels.length === 0) { + this.drillUpButton = this.drillUpButton.destroy(); + } else { + this.drillUpButton.attr({ + text: this.getDrilldownBackText() + }) + .align(); + } + }; + + PieSeries.prototype.animateDrilldown = function (init) { + var level = this.chart.drilldownLevels[this.chart.drilldownLevels.length - 1], + animationOptions = this.chart.options.drilldown.animation, + animateFrom = level.shapeArgs, + start = animateFrom.start, + angle = animateFrom.end - start, + startAngle = angle / this.points.length, + startColor = H.Color(level.color).rgba; + + if (!init) { + each(this.points, function (point, i) { + var endColor = H.Color(point.color).rgba; + + /*jslint unparam: true*/ + point.graphic + .attr(H.merge(animateFrom, { + start: start + i * startAngle, + end: start + (i + 1) * startAngle + })) + .animate(point.shapeArgs, H.merge(animationOptions, { + step: function (val, fx) { + if (fx.prop === 'start') { + this.attr({ + fill: tweenColors(startColor, endColor, fx.pos) + }); + } + } + })); + /*jslint unparam: false*/ + }); + } + }; + + + /** + * When drilling up, keep the upper series invisible until the lower series has + * moved into place + */ + PieSeries.prototype.animateDrillupTo = + ColumnSeries.prototype.animateDrillupTo = function (init) { + if (!init) { + var newSeries = this, + level = newSeries.drilldownLevel; + + each(this.points, function (point) { + point.graphic.hide(); + if (point.dataLabel) { + point.dataLabel.hide(); + } + if (point.connector) { + point.connector.hide(); + } + }); + + + // Do dummy animation on first point to get to complete + setTimeout(function () { + each(newSeries.points, function (point, i) { + // Fade in other points + var verb = i === level.pointIndex ? 'show' : 'fadeIn'; + point.graphic[verb](); + if (point.dataLabel) { + point.dataLabel[verb](); + } + if (point.connector) { + point.connector[verb](); + } + }); + }, Math.max(this.chart.options.drilldown.animation.duration - 50, 0)); + + // Reset + this.animate = noop; + } + + }; + + ColumnSeries.prototype.animateDrilldown = function (init) { + var animateFrom = this.chart.drilldownLevels[this.chart.drilldownLevels.length - 1].shapeArgs, + animationOptions = this.chart.options.drilldown.animation; + + if (!init) { + + animateFrom.x += (this.xAxis.oldPos - this.xAxis.pos); + + each(this.points, function (point) { + point.graphic + .attr(animateFrom) + .animate(point.shapeArgs, animationOptions); + }); + } + + }; + + /** + * When drilling up, pull out the individual point graphics from the lower series + * and animate them into the origin point in the upper series. + */ + ColumnSeries.prototype.animateDrillupFrom = + PieSeries.prototype.animateDrillupFrom = + function (level) { + var animationOptions = this.chart.options.drilldown.animation, + group = this.group; + + delete this.group; + each(this.points, function (point) { + var graphic = point.graphic, + startColor = H.Color(point.color).rgba; + + delete point.graphic; + + /*jslint unparam: true*/ + graphic.animate(level.shapeArgs, H.merge(animationOptions, { + + step: function (val, fx) { + if (fx.prop === 'start') { + this.attr({ + fill: tweenColors(startColor, H.Color(level.color).rgba, fx.pos) + }); + } + }, + complete: function () { + graphic.destroy(); + if (group) { + group = group.destroy(); + } + } + })); + /*jslint unparam: false*/ + }); + }; + + H.Point.prototype.doDrilldown = function () { + var series = this.series, + chart = series.chart, + drilldown = chart.options.drilldown, + i = drilldown.series.length, + seriesOptions; + + while (i-- && !seriesOptions) { + if (drilldown.series[i].id === this.drilldown) { + seriesOptions = drilldown.series[i]; + } + } + + // Fire the event. If seriesOptions is undefined, the implementer can check for + // seriesOptions, and call addSeriesAsDrilldown async if necessary. + fireEvent(chart, 'drilldown', { + point: this, + seriesOptions: seriesOptions + }); + + if (seriesOptions) { + chart.addSeriesAsDrilldown(this, seriesOptions); + } + + }; + + wrap(H.Point.prototype, 'init', function (proceed, series, options, x) { + var point = proceed.call(this, series, options, x), + chart = series.chart, + tick = series.xAxis && series.xAxis.ticks[x], + tickLabel = tick && tick.label; + + if (point.drilldown) { + + // Add the click event to the point label + H.addEvent(point, 'click', function () { + point.doDrilldown(); + }); + + // Make axis labels clickable + if (tickLabel) { + if (!tickLabel._basicStyle) { + tickLabel._basicStyle = tickLabel.element.getAttribute('style'); + } + tickLabel + .addClass('highcharts-drilldown-axis-label') + .css(chart.options.drilldown.activeAxisLabelStyle) + .on('click', function () { + if (point.doDrilldown) { + point.doDrilldown(); + } + }); + + } + } else if (tickLabel && tickLabel._basicStyle) { + tickLabel.element.setAttribute('style', tickLabel._basicStyle); + } + + return point; + }); + + wrap(H.Series.prototype, 'drawDataLabels', function (proceed) { + var css = this.chart.options.drilldown.activeDataLabelStyle; + + proceed.call(this); + + each(this.points, function (point) { + if (point.drilldown && point.dataLabel) { + point.dataLabel + .attr({ + 'class': 'highcharts-drilldown-data-label' + }) + .css(css) + .on('click', function () { + point.doDrilldown(); + }); + } + }); + }); + + // Mark the trackers with a pointer + ColumnSeries.prototype.supportsDrilldown = true; + PieSeries.prototype.supportsDrilldown = true; + var type, + drawTrackerWrapper = function (proceed) { + proceed.call(this); + each(this.points, function (point) { + if (point.drilldown && point.graphic) { + point.graphic + .attr({ + 'class': 'highcharts-drilldown-point' + }) + .css({ cursor: 'pointer' }); + } + }); + }; + for (type in seriesTypes) { + if (seriesTypes[type].prototype.supportsDrilldown) { + wrap(seriesTypes[type].prototype, 'drawTracker', drawTrackerWrapper); + } + } + +}(Highcharts)); -- Gitblit v1.8.0