feat: ueditor
Former-commit-id: 89fa8e42f2e153e6c9b676d668779718714ac333 [formerly 89fa8e42f2e153e6c9b676d668779718714ac333 [formerly 89fa8e42f2e153e6c9b676d668779718714ac333 [formerly 89fa8e42f2e153e6c9b676d668779718714ac333 [formerly 955c03c4e108cbd8aa597fc947a9454e749d904f [formerly 5d8b1d73e78953d5f8e7fe4302764addfc2af0e8]]]]] Former-commit-id: 002ba25940eac6b1db5af8aa03a75ab43c3eccf3 Former-commit-id: 43f3ff50fc9a0d54bf21479e87da9b72b7fe20c3 Former-commit-id: 32ed9ae714fec2fdd3ba08fb40187e81e837edcb [formerly f34f58804fd798c1e271250f06f245b83f5e7c3e] Former-commit-id: 17640172e9d4f7b75dc2410e2faa6a93a90e09ac Former-commit-id: 521e6c1695e24e315d368d27db8f8232fbe30999 Former-commit-id: 3dd3d0a15ab7c64f29148a25fc8c4a0a5eb77497 Former-commit-id: 0753ae560b4ec27771a5b052f73a0a94436f9e0f Former-commit-id: 9a6f11a43fab5a79df9ab9527453c0f66ad7888d
This commit is contained in:
7
public/lib/UEditor/third-party/highcharts/modules/annotations.js
vendored
Normal file
7
public/lib/UEditor/third-party/highcharts/modules/annotations.js
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
(function(i,C){function m(a){return typeof a==="number"}function n(a){return a!==D&&a!==null}var D,p,r,s=i.Chart,t=i.extend,z=i.each;r=["path","rect","circle"];p={top:0,left:0,center:0.5,middle:0.5,bottom:1,right:1};var u=C.inArray,A=i.merge,B=function(){this.init.apply(this,arguments)};B.prototype={init:function(a,d){var c=d.shape&&d.shape.type;this.chart=a;var b,f;f={xAxis:0,yAxis:0,title:{style:{},text:"",x:0,y:0},shape:{params:{stroke:"#000000",fill:"transparent",strokeWidth:2}}};b={circle:{params:{x:0,
|
||||
y:0}}};if(b[c])f.shape=A(f.shape,b[c]);this.options=A({},f,d)},render:function(a){var d=this.chart,c=this.chart.renderer,b=this.group,f=this.title,e=this.shape,h=this.options,i=h.title,l=h.shape;if(!b)b=this.group=c.g();if(!e&&l&&u(l.type,r)!==-1)e=this.shape=c[h.shape.type](l.params),e.add(b);if(!f&&i)f=this.title=c.label(i),f.add(b);b.add(d.annotations.group);this.linkObjects();a!==!1&&this.redraw()},redraw:function(){var a=this.options,d=this.chart,c=this.group,b=this.title,f=this.shape,e=this.linkedObject,
|
||||
h=d.xAxis[a.xAxis],v=d.yAxis[a.yAxis],l=a.width,w=a.height,x=p[a.anchorY],y=p[a.anchorX],j,o,g,q;if(e)j=e instanceof i.Point?"point":e instanceof i.Series?"series":null,j==="point"?(a.xValue=e.x,a.yValue=e.y,o=e.series):j==="series"&&(o=e),c.visibility!==o.group.visibility&&c.attr({visibility:o.group.visibility});e=n(a.xValue)?h.toPixels(a.xValue+h.minPointOffset)-h.minPixelPadding:a.x;j=n(a.yValue)?v.toPixels(a.yValue):a.y;if(!isNaN(e)&&!isNaN(j)&&m(e)&&m(j)){b&&(b.attr(a.title),b.css(a.title.style));
|
||||
if(f){b=t({},a.shape.params);if(a.units==="values"){for(g in b)u(g,["width","x"])>-1?b[g]=h.translate(b[g]):u(g,["height","y"])>-1&&(b[g]=v.translate(b[g]));b.width&&(b.width-=h.toPixels(0)-h.left);b.x&&(b.x+=h.minPixelPadding);if(a.shape.type==="path"){g=b.d;o=e;for(var r=j,s=g.length,k=0;k<s;)typeof g[k]==="number"&&typeof g[k+1]==="number"?(g[k]=h.toPixels(g[k])-o,g[k+1]=v.toPixels(g[k+1])-r,k+=2):k+=1}}a.shape.type==="circle"&&(b.x+=b.r,b.y+=b.r);f.attr(b)}c.bBox=null;if(!m(l))q=c.getBBox(),l=
|
||||
q.width;if(!m(w))q||(q=c.getBBox()),w=q.height;if(!m(y))y=p.center;if(!m(x))x=p.center;e-=l*y;j-=w*x;d.animation&&n(c.translateX)&&n(c.translateY)?c.animate({translateX:e,translateY:j}):c.translate(e,j)}},destroy:function(){var a=this,d=this.chart.annotations.allItems,c=d.indexOf(a);c>-1&&d.splice(c,1);z(["title","shape","group"],function(b){a[b]&&(a[b].destroy(),a[b]=null)});a.group=a.title=a.shape=a.chart=a.options=null},update:function(a,d){t(this.options,a);this.linkObjects();this.render(d)},
|
||||
linkObjects:function(){var a=this.chart,d=this.linkedObject,c=d&&(d.id||d.options.id),b=this.options.linkedTo;if(n(b)){if(!n(d)||b!==c)this.linkedObject=a.get(b)}else this.linkedObject=null}};t(s.prototype,{annotations:{add:function(a,d){var c=this.allItems,b=this.chart,f,e;Object.prototype.toString.call(a)==="[object Array]"||(a=[a]);for(e=a.length;e--;)f=new B(b,a[e]),c.push(f),f.render(d)},redraw:function(){z(this.allItems,function(a){a.redraw()})}}});s.prototype.callbacks.push(function(a){var d=
|
||||
a.options.annotations,c;c=a.renderer.g("annotations");c.attr({zIndex:7});c.add();a.annotations.allItems=[];a.annotations.chart=a;a.annotations.group=c;Object.prototype.toString.call(d)==="[object Array]"&&d.length>0&&a.annotations.add(a.options.annotations);i.addEvent(a,"redraw",function(){a.annotations.redraw()})})})(Highcharts,HighchartsAdapter);
|
||||
401
public/lib/UEditor/third-party/highcharts/modules/annotations.src.js
vendored
Normal file
401
public/lib/UEditor/third-party/highcharts/modules/annotations.src.js
vendored
Normal file
@@ -0,0 +1,401 @@
|
||||
(function (Highcharts, HighchartsAdapter) {
|
||||
|
||||
var UNDEFINED,
|
||||
ALIGN_FACTOR,
|
||||
ALLOWED_SHAPES,
|
||||
Chart = Highcharts.Chart,
|
||||
extend = Highcharts.extend,
|
||||
each = Highcharts.each;
|
||||
|
||||
ALLOWED_SHAPES = ["path", "rect", "circle"];
|
||||
|
||||
ALIGN_FACTOR = {
|
||||
top: 0,
|
||||
left: 0,
|
||||
center: 0.5,
|
||||
middle: 0.5,
|
||||
bottom: 1,
|
||||
right: 1
|
||||
};
|
||||
|
||||
|
||||
// Highcharts helper methods
|
||||
var inArray = HighchartsAdapter.inArray,
|
||||
merge = Highcharts.merge;
|
||||
|
||||
function defaultOptions(shapeType) {
|
||||
var shapeOptions,
|
||||
options;
|
||||
|
||||
options = {
|
||||
xAxis: 0,
|
||||
yAxis: 0,
|
||||
title: {
|
||||
style: {},
|
||||
text: "",
|
||||
x: 0,
|
||||
y: 0
|
||||
},
|
||||
shape: {
|
||||
params: {
|
||||
stroke: "#000000",
|
||||
fill: "transparent",
|
||||
strokeWidth: 2
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
shapeOptions = {
|
||||
circle: {
|
||||
params: {
|
||||
x: 0,
|
||||
y: 0
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (shapeOptions[shapeType]) {
|
||||
options.shape = merge(options.shape, shapeOptions[shapeType]);
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
function isArray(obj) {
|
||||
return Object.prototype.toString.call(obj) === '[object Array]';
|
||||
}
|
||||
|
||||
function isNumber(n) {
|
||||
return typeof n === 'number';
|
||||
}
|
||||
|
||||
function defined(obj) {
|
||||
return obj !== UNDEFINED && obj !== null;
|
||||
}
|
||||
|
||||
function translatePath(d, xAxis, yAxis, xOffset, yOffset) {
|
||||
var len = d.length,
|
||||
i = 0;
|
||||
|
||||
while (i < len) {
|
||||
if (typeof d[i] === 'number' && typeof d[i + 1] === 'number') {
|
||||
d[i] = xAxis.toPixels(d[i]) - xOffset;
|
||||
d[i + 1] = yAxis.toPixels(d[i + 1]) - yOffset;
|
||||
i += 2;
|
||||
} else {
|
||||
i += 1;
|
||||
}
|
||||
}
|
||||
|
||||
return d;
|
||||
}
|
||||
|
||||
|
||||
// Define annotation prototype
|
||||
var Annotation = function () {
|
||||
this.init.apply(this, arguments);
|
||||
};
|
||||
Annotation.prototype = {
|
||||
/*
|
||||
* Initialize the annotation
|
||||
*/
|
||||
init: function (chart, options) {
|
||||
var shapeType = options.shape && options.shape.type;
|
||||
|
||||
this.chart = chart;
|
||||
this.options = merge({}, defaultOptions(shapeType), options);
|
||||
},
|
||||
|
||||
/*
|
||||
* Render the annotation
|
||||
*/
|
||||
render: function (redraw) {
|
||||
var annotation = this,
|
||||
chart = this.chart,
|
||||
renderer = annotation.chart.renderer,
|
||||
group = annotation.group,
|
||||
title = annotation.title,
|
||||
shape = annotation.shape,
|
||||
options = annotation.options,
|
||||
titleOptions = options.title,
|
||||
shapeOptions = options.shape;
|
||||
|
||||
if (!group) {
|
||||
group = annotation.group = renderer.g();
|
||||
}
|
||||
|
||||
|
||||
if (!shape && shapeOptions && inArray(shapeOptions.type, ALLOWED_SHAPES) !== -1) {
|
||||
shape = annotation.shape = renderer[options.shape.type](shapeOptions.params);
|
||||
shape.add(group);
|
||||
}
|
||||
|
||||
if (!title && titleOptions) {
|
||||
title = annotation.title = renderer.label(titleOptions);
|
||||
title.add(group);
|
||||
}
|
||||
|
||||
group.add(chart.annotations.group);
|
||||
|
||||
// link annotations to point or series
|
||||
annotation.linkObjects();
|
||||
|
||||
if (redraw !== false) {
|
||||
annotation.redraw();
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Redraw the annotation title or shape after options update
|
||||
*/
|
||||
redraw: function () {
|
||||
var options = this.options,
|
||||
chart = this.chart,
|
||||
group = this.group,
|
||||
title = this.title,
|
||||
shape = this.shape,
|
||||
linkedTo = this.linkedObject,
|
||||
xAxis = chart.xAxis[options.xAxis],
|
||||
yAxis = chart.yAxis[options.yAxis],
|
||||
width = options.width,
|
||||
height = options.height,
|
||||
anchorY = ALIGN_FACTOR[options.anchorY],
|
||||
anchorX = ALIGN_FACTOR[options.anchorX],
|
||||
resetBBox = false,
|
||||
shapeParams,
|
||||
linkType,
|
||||
series,
|
||||
param,
|
||||
bbox,
|
||||
x,
|
||||
y;
|
||||
|
||||
if (linkedTo) {
|
||||
linkType = (linkedTo instanceof Highcharts.Point) ? 'point' :
|
||||
(linkedTo instanceof Highcharts.Series) ? 'series' : null;
|
||||
|
||||
if (linkType === 'point') {
|
||||
options.xValue = linkedTo.x;
|
||||
options.yValue = linkedTo.y;
|
||||
series = linkedTo.series;
|
||||
} else if (linkType === 'series') {
|
||||
series = linkedTo;
|
||||
}
|
||||
|
||||
if (group.visibility !== series.group.visibility) {
|
||||
group.attr({
|
||||
visibility: series.group.visibility
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Based on given options find annotation pixel position
|
||||
x = (defined(options.xValue) ? xAxis.toPixels(options.xValue + xAxis.minPointOffset) - xAxis.minPixelPadding : options.x);
|
||||
y = defined(options.yValue) ? yAxis.toPixels(options.yValue) : options.y;
|
||||
|
||||
if (isNaN(x) || isNaN(y) || !isNumber(x) || !isNumber(y)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (title) {
|
||||
title.attr(options.title);
|
||||
title.css(options.title.style);
|
||||
resetBBox = true;
|
||||
}
|
||||
|
||||
if (shape) {
|
||||
shapeParams = extend({}, options.shape.params);
|
||||
|
||||
if (options.units === 'values') {
|
||||
for (param in shapeParams) {
|
||||
if (inArray(param, ['width', 'x']) > -1) {
|
||||
shapeParams[param] = xAxis.translate(shapeParams[param]);
|
||||
} else if (inArray(param, ['height', 'y']) > -1) {
|
||||
shapeParams[param] = yAxis.translate(shapeParams[param]);
|
||||
}
|
||||
}
|
||||
|
||||
if (shapeParams.width) {
|
||||
shapeParams.width -= xAxis.toPixels(0) - xAxis.left;
|
||||
}
|
||||
|
||||
if (shapeParams.x) {
|
||||
shapeParams.x += xAxis.minPixelPadding;
|
||||
}
|
||||
|
||||
if (options.shape.type === 'path') {
|
||||
translatePath(shapeParams.d, xAxis, yAxis, x, y);
|
||||
}
|
||||
}
|
||||
|
||||
// move the center of the circle to shape x/y
|
||||
if (options.shape.type === 'circle') {
|
||||
shapeParams.x += shapeParams.r;
|
||||
shapeParams.y += shapeParams.r;
|
||||
}
|
||||
|
||||
resetBBox = true;
|
||||
shape.attr(shapeParams);
|
||||
}
|
||||
|
||||
group.bBox = null;
|
||||
|
||||
// If annotation width or height is not defined in options use bounding box size
|
||||
if (!isNumber(width)) {
|
||||
bbox = group.getBBox();
|
||||
width = bbox.width;
|
||||
}
|
||||
|
||||
if (!isNumber(height)) {
|
||||
// get bbox only if it wasn't set before
|
||||
if (!bbox) {
|
||||
bbox = group.getBBox();
|
||||
}
|
||||
|
||||
height = bbox.height;
|
||||
}
|
||||
|
||||
// Calculate anchor point
|
||||
if (!isNumber(anchorX)) {
|
||||
anchorX = ALIGN_FACTOR.center;
|
||||
}
|
||||
|
||||
if (!isNumber(anchorY)) {
|
||||
anchorY = ALIGN_FACTOR.center;
|
||||
}
|
||||
|
||||
// Translate group according to its dimension and anchor point
|
||||
x = x - width * anchorX;
|
||||
y = y - height * anchorY;
|
||||
|
||||
if (chart.animation && defined(group.translateX) && defined(group.translateY)) {
|
||||
group.animate({
|
||||
translateX: x,
|
||||
translateY: y
|
||||
});
|
||||
} else {
|
||||
group.translate(x, y);
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Destroy the annotation
|
||||
*/
|
||||
destroy: function () {
|
||||
var annotation = this,
|
||||
chart = this.chart,
|
||||
allItems = chart.annotations.allItems,
|
||||
index = allItems.indexOf(annotation);
|
||||
|
||||
if (index > -1) {
|
||||
allItems.splice(index, 1);
|
||||
}
|
||||
|
||||
each(['title', 'shape', 'group'], function (element) {
|
||||
if (annotation[element]) {
|
||||
annotation[element].destroy();
|
||||
annotation[element] = null;
|
||||
}
|
||||
});
|
||||
|
||||
annotation.group = annotation.title = annotation.shape = annotation.chart = annotation.options = null;
|
||||
},
|
||||
|
||||
/*
|
||||
* Update the annotation with a given options
|
||||
*/
|
||||
update: function (options, redraw) {
|
||||
extend(this.options, options);
|
||||
|
||||
// update link to point or series
|
||||
this.linkObjects();
|
||||
|
||||
this.render(redraw);
|
||||
},
|
||||
|
||||
linkObjects: function () {
|
||||
var annotation = this,
|
||||
chart = annotation.chart,
|
||||
linkedTo = annotation.linkedObject,
|
||||
linkedId = linkedTo && (linkedTo.id || linkedTo.options.id),
|
||||
options = annotation.options,
|
||||
id = options.linkedTo;
|
||||
|
||||
if (!defined(id)) {
|
||||
annotation.linkedObject = null;
|
||||
} else if (!defined(linkedTo) || id !== linkedId) {
|
||||
annotation.linkedObject = chart.get(id);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// Add annotations methods to chart prototype
|
||||
extend(Chart.prototype, {
|
||||
annotations: {
|
||||
/*
|
||||
* Unified method for adding annotations to the chart
|
||||
*/
|
||||
add: function (options, redraw) {
|
||||
var annotations = this.allItems,
|
||||
chart = this.chart,
|
||||
item,
|
||||
len;
|
||||
|
||||
if (!isArray(options)) {
|
||||
options = [options];
|
||||
}
|
||||
|
||||
len = options.length;
|
||||
|
||||
while (len--) {
|
||||
item = new Annotation(chart, options[len]);
|
||||
annotations.push(item);
|
||||
item.render(redraw);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Redraw all annotations, method used in chart events
|
||||
*/
|
||||
redraw: function () {
|
||||
each(this.allItems, function (annotation) {
|
||||
annotation.redraw();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Initialize on chart load
|
||||
Chart.prototype.callbacks.push(function (chart) {
|
||||
var options = chart.options.annotations,
|
||||
group;
|
||||
|
||||
group = chart.renderer.g("annotations");
|
||||
group.attr({
|
||||
zIndex: 7
|
||||
});
|
||||
group.add();
|
||||
|
||||
// initialize empty array for annotations
|
||||
chart.annotations.allItems = [];
|
||||
|
||||
// link chart object to annotations
|
||||
chart.annotations.chart = chart;
|
||||
|
||||
// link annotations group element to the chart
|
||||
chart.annotations.group = group;
|
||||
|
||||
if (isArray(options) && options.length > 0) {
|
||||
chart.annotations.add(chart.options.annotations);
|
||||
}
|
||||
|
||||
// update annotations after chart redraw
|
||||
Highcharts.addEvent(chart, 'redraw', function () {
|
||||
chart.annotations.redraw();
|
||||
});
|
||||
});
|
||||
}(Highcharts, HighchartsAdapter));
|
||||
1
public/lib/UEditor/third-party/highcharts/modules/canvas-tools.js.REMOVED.git-id
vendored
Normal file
1
public/lib/UEditor/third-party/highcharts/modules/canvas-tools.js.REMOVED.git-id
vendored
Normal file
@@ -0,0 +1 @@
|
||||
0ddf77ac656182a3129978e26e9dfed9d75beb08
|
||||
1
public/lib/UEditor/third-party/highcharts/modules/canvas-tools.src.js.REMOVED.git-id
vendored
Normal file
1
public/lib/UEditor/third-party/highcharts/modules/canvas-tools.src.js.REMOVED.git-id
vendored
Normal file
@@ -0,0 +1 @@
|
||||
3ebbdcf784f5914039cae384c36ff79614baddea
|
||||
17
public/lib/UEditor/third-party/highcharts/modules/data.js
vendored
Normal file
17
public/lib/UEditor/third-party/highcharts/modules/data.js
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
Data plugin for Highcharts
|
||||
|
||||
(c) 2012-2013 Torstein Hønsi
|
||||
Last revision 2013-06-07
|
||||
|
||||
License: www.highcharts.com/license
|
||||
*/
|
||||
(function(h){var k=h.each,m=function(b,a){this.init(b,a)};h.extend(m.prototype,{init:function(b,a){this.options=b;this.chartOptions=a;this.columns=b.columns||this.rowsToColumns(b.rows)||[];this.columns.length?this.dataFound():(this.parseCSV(),this.parseTable(),this.parseGoogleSpreadsheet())},getColumnDistribution:function(){var b=this.chartOptions,a=b&&b.chart&&b.chart.type,c=[];k(b&&b.series||[],function(b){c.push((h.seriesTypes[b.type||a||"line"].prototype.pointArrayMap||[0]).length)});this.valueCount=
|
||||
{global:(h.seriesTypes[a||"line"].prototype.pointArrayMap||[0]).length,individual:c}},dataFound:function(){this.parseTypes();this.findHeaderRow();this.parsed();this.complete()},parseCSV:function(){var b=this,a=this.options,c=a.csv,d=this.columns,f=a.startRow||0,i=a.endRow||Number.MAX_VALUE,j=a.startColumn||0,e=a.endColumn||Number.MAX_VALUE,g=0;c&&(c=c.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(a.lineDelimiter||"\n"),k(c,function(c,h){var n=b.trim(c),p=n.indexOf("#")===0;h>=f&&h<=i&&!p&&n!==""&&
|
||||
(n=c.split(a.itemDelimiter||","),k(n,function(b,a){a>=j&&a<=e&&(d[a-j]||(d[a-j]=[]),d[a-j][g]=b)}),g+=1)}),this.dataFound())},parseTable:function(){var b=this.options,a=b.table,c=this.columns,d=b.startRow||0,f=b.endRow||Number.MAX_VALUE,i=b.startColumn||0,j=b.endColumn||Number.MAX_VALUE,e;a&&(typeof a==="string"&&(a=document.getElementById(a)),k(a.getElementsByTagName("tr"),function(a,b){e=0;b>=d&&b<=f&&k(a.childNodes,function(a){if((a.tagName==="TD"||a.tagName==="TH")&&e>=i&&e<=j)c[e]||(c[e]=[]),
|
||||
c[e][b-d]=a.innerHTML,e+=1})}),this.dataFound())},parseGoogleSpreadsheet:function(){var b=this,a=this.options,c=a.googleSpreadsheetKey,d=this.columns,f=a.startRow||0,i=a.endRow||Number.MAX_VALUE,j=a.startColumn||0,e=a.endColumn||Number.MAX_VALUE,g,h;c&&jQuery.getJSON("https://spreadsheets.google.com/feeds/cells/"+c+"/"+(a.googleSpreadsheetWorksheet||"od6")+"/public/values?alt=json-in-script&callback=?",function(a){var a=a.feed.entry,c,k=a.length,m=0,o=0,l;for(l=0;l<k;l++)c=a[l],m=Math.max(m,c.gs$cell.col),
|
||||
o=Math.max(o,c.gs$cell.row);for(l=0;l<m;l++)if(l>=j&&l<=e)d[l-j]=[],d[l-j].length=Math.min(o,i-f);for(l=0;l<k;l++)if(c=a[l],g=c.gs$cell.row-1,h=c.gs$cell.col-1,h>=j&&h<=e&&g>=f&&g<=i)d[h-j][g-f]=c.content.$t;b.dataFound()})},findHeaderRow:function(){k(this.columns,function(){});this.headerRow=0},trim:function(b){return typeof b==="string"?b.replace(/^\s+|\s+$/g,""):b},parseTypes:function(){for(var b=this.columns,a=b.length,c,d,f,i;a--;)for(c=b[a].length;c--;)d=b[a][c],f=parseFloat(d),i=this.trim(d),
|
||||
i==f?(b[a][c]=f,f>31536E6?b[a].isDatetime=!0:b[a].isNumeric=!0):(d=this.parseDate(d),a===0&&typeof d==="number"&&!isNaN(d)?(b[a][c]=d,b[a].isDatetime=!0):b[a][c]=i===""?null:i)},dateFormats:{"YYYY-mm-dd":{regex:"^([0-9]{4})-([0-9]{2})-([0-9]{2})$",parser:function(b){return Date.UTC(+b[1],b[2]-1,+b[3])}}},parseDate:function(b){var a=this.options.parseDate,c,d,f;a&&(c=a(b));if(typeof b==="string")for(d in this.dateFormats)a=this.dateFormats[d],(f=b.match(a.regex))&&(c=a.parser(f));return c},rowsToColumns:function(b){var a,
|
||||
c,d,f,i;if(b){i=[];c=b.length;for(a=0;a<c;a++){f=b[a].length;for(d=0;d<f;d++)i[d]||(i[d]=[]),i[d][a]=b[a][d]}}return i},parsed:function(){this.options.parsed&&this.options.parsed.call(this,this.columns)},complete:function(){var b=this.columns,a,c,d=this.options,f,i,j,e,g,k;if(d.complete){this.getColumnDistribution();b.length>1&&(a=b.shift(),this.headerRow===0&&a.shift(),a.isDatetime?c="datetime":a.isNumeric||(c="category"));for(e=0;e<b.length;e++)if(this.headerRow===0)b[e].name=b[e].shift();i=[];
|
||||
for(e=0,k=0;e<b.length;k++){f=h.pick(this.valueCount.individual[k],this.valueCount.global);j=[];for(g=0;g<b[e].length;g++)j[g]=[a[g],b[e][g]!==void 0?b[e][g]:null],f>1&&j[g].push(b[e+1][g]!==void 0?b[e+1][g]:null),f>2&&j[g].push(b[e+2][g]!==void 0?b[e+2][g]:null),f>3&&j[g].push(b[e+3][g]!==void 0?b[e+3][g]:null),f>4&&j[g].push(b[e+4][g]!==void 0?b[e+4][g]:null);i[k]={name:b[e].name,data:j};e+=f}d.complete({xAxis:{type:c},series:i})}}});h.Data=m;h.data=function(b,a){return new m(b,a)};h.wrap(h.Chart.prototype,
|
||||
"init",function(b,a,c){var d=this;a&&a.data?h.data(h.extend(a.data,{complete:function(f){a.series&&k(a.series,function(b,c){a.series[c]=h.merge(b,f.series[c])});a=h.merge(f,a);b.call(d,a,c)}}),a):b.call(d,a,c)})})(Highcharts);
|
||||
1
public/lib/UEditor/third-party/highcharts/modules/data.src.js.REMOVED.git-id
vendored
Normal file
1
public/lib/UEditor/third-party/highcharts/modules/data.src.js.REMOVED.git-id
vendored
Normal file
@@ -0,0 +1 @@
|
||||
d344799f07a6d8a4e1922ab40a77b440bfbeb0f6
|
||||
11
public/lib/UEditor/third-party/highcharts/modules/drilldown.js
vendored
Normal file
11
public/lib/UEditor/third-party/highcharts/modules/drilldown.js
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
(function(e){function q(b,a,c){return"rgba("+[Math.round(b[0]+(a[0]-b[0])*c),Math.round(b[1]+(a[1]-b[1])*c),Math.round(b[2]+(a[2]-b[2])*c),b[3]+(a[3]-b[3])*c].join(",")+")"}var m=function(){},j=e.getOptions(),g=e.each,n=e.extend,o=e.wrap,h=e.Chart,i=e.seriesTypes,k=i.pie,l=i.column,r=HighchartsAdapter.fireEvent;n(j.lang,{drillUpText:"◁ Back to {series.name}"});j.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}}};e.SVGRenderer.prototype.Element.prototype.fadeIn=function(){this.attr({opacity:0.1,visibility:"visible"}).animate({opacity:1},{duration:250})};h.prototype.drilldownLevels=[];h.prototype.addSeriesAsDrilldown=function(b,a){var c=b.series,d=c.xAxis,f=c.yAxis,e;e=b.color||c.color;var g,a=n({color:e},a);g=HighchartsAdapter.inArray(this,c.points);this.drilldownLevels.push({seriesOptions:c.userOptions,
|
||||
shapeArgs:b.shapeArgs,bBox:b.graphic.getBBox(),color:e,newSeries:a,pointOptions:c.options.data[g],pointIndex:g,oldExtremes:{xMin:d&&d.userMin,xMax:d&&d.userMax,yMin:f&&f.userMin,yMax:f&&f.userMax}});e=this.addSeries(a,!1);if(d)d.oldPos=d.pos,d.userMin=d.userMax=null,f.userMin=f.userMax=null;if(c.type===e.type)e.animate=e.animateDrilldown||m,e.options.animation=!0;c.remove(!1);this.redraw();this.showDrillUpButton()};h.prototype.getDrilldownBackText=function(){return this.options.lang.drillUpText.replace("{series.name}",
|
||||
this.drilldownLevels[this.drilldownLevels.length-1].seriesOptions.name)};h.prototype.showDrillUpButton=function(){var b=this,a=this.getDrilldownBackText(),c=b.options.drilldown.drillUpButton;this.drillUpButton?this.drillUpButton.attr({text:a}).align():this.drillUpButton=this.renderer.button(a,null,null,function(){b.drillUp()}).attr(n({align:c.position.align,zIndex:9},c.theme)).add().align(c.position,!1,c.relativeTo||"plotBox")};h.prototype.drillUp=function(){var b=this.drilldownLevels.pop(),a=this.series[0],
|
||||
c=b.oldExtremes,d=this.addSeries(b.seriesOptions,!1);r(this,"drillup",{seriesOptions:b.seriesOptions});if(d.type===a.type)d.drilldownLevel=b,d.animate=d.animateDrillupTo||m,d.options.animation=!0,a.animateDrillupFrom&&a.animateDrillupFrom(b);a.remove(!1);d.xAxis&&(d.xAxis.setExtremes(c.xMin,c.xMax,!1),d.yAxis.setExtremes(c.yMin,c.yMax,!1));this.redraw();this.drilldownLevels.length===0?this.drillUpButton=this.drillUpButton.destroy():this.drillUpButton.attr({text:this.getDrilldownBackText()}).align()};
|
||||
k.prototype.animateDrilldown=function(b){var a=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],c=this.chart.options.drilldown.animation,d=a.shapeArgs,f=d.start,s=(d.end-f)/this.points.length,h=e.Color(a.color).rgba;b||g(this.points,function(a,b){var g=e.Color(a.color).rgba;a.graphic.attr(e.merge(d,{start:f+b*s,end:f+(b+1)*s})).animate(a.shapeArgs,e.merge(c,{step:function(a,d){d.prop==="start"&&this.attr({fill:q(h,g,d.pos)})}}))})};k.prototype.animateDrillupTo=l.prototype.animateDrillupTo=
|
||||
function(b){if(!b){var a=this,c=a.drilldownLevel;g(this.points,function(a){a.graphic.hide();a.dataLabel&&a.dataLabel.hide();a.connector&&a.connector.hide()});setTimeout(function(){g(a.points,function(a,b){var e=b===c.pointIndex?"show":"fadeIn";a.graphic[e]();if(a.dataLabel)a.dataLabel[e]();if(a.connector)a.connector[e]()})},Math.max(this.chart.options.drilldown.animation.duration-50,0));this.animate=m}};l.prototype.animateDrilldown=function(b){var a=this.chart.drilldownLevels[this.chart.drilldownLevels.length-
|
||||
1].shapeArgs,c=this.chart.options.drilldown.animation;b||(a.x+=this.xAxis.oldPos-this.xAxis.pos,g(this.points,function(b){b.graphic.attr(a).animate(b.shapeArgs,c)}))};l.prototype.animateDrillupFrom=k.prototype.animateDrillupFrom=function(b){var a=this.chart.options.drilldown.animation,c=this.group;delete this.group;g(this.points,function(d){var f=d.graphic,g=e.Color(d.color).rgba;delete d.graphic;f.animate(b.shapeArgs,e.merge(a,{step:function(a,c){c.prop==="start"&&this.attr({fill:q(g,e.Color(b.color).rgba,
|
||||
c.pos)})},complete:function(){f.destroy();c&&(c=c.destroy())}}))})};e.Point.prototype.doDrilldown=function(){for(var b=this.series.chart,a=b.options.drilldown,c=a.series.length,d;c--&&!d;)a.series[c].id===this.drilldown&&(d=a.series[c]);r(b,"drilldown",{point:this,seriesOptions:d});d&&b.addSeriesAsDrilldown(this,d)};o(e.Point.prototype,"init",function(b,a,c,d){var f=b.call(this,a,c,d),b=a.chart,a=(a=a.xAxis&&a.xAxis.ticks[d])&&a.label;if(f.drilldown){if(e.addEvent(f,"click",function(){f.doDrilldown()}),
|
||||
a){if(!a._basicStyle)a._basicStyle=a.element.getAttribute("style");a.addClass("highcharts-drilldown-axis-label").css(b.options.drilldown.activeAxisLabelStyle).on("click",function(){f.doDrilldown&&f.doDrilldown()})}}else a&&a._basicStyle&&a.element.setAttribute("style",a._basicStyle);return f});o(e.Series.prototype,"drawDataLabels",function(b){var a=this.chart.options.drilldown.activeDataLabelStyle;b.call(this);g(this.points,function(b){if(b.drilldown&&b.dataLabel)b.dataLabel.attr({"class":"highcharts-drilldown-data-label"}).css(a).on("click",
|
||||
function(){b.doDrilldown()})})});l.prototype.supportsDrilldown=!0;k.prototype.supportsDrilldown=!0;var p,j=function(b){b.call(this);g(this.points,function(a){a.drilldown&&a.graphic&&a.graphic.attr({"class":"highcharts-drilldown-point"}).css({cursor:"pointer"})})};for(p in i)i[p].prototype.supportsDrilldown&&o(i[p].prototype,"drawTracker",j)})(Highcharts);
|
||||
1
public/lib/UEditor/third-party/highcharts/modules/drilldown.src.js.REMOVED.git-id
vendored
Normal file
1
public/lib/UEditor/third-party/highcharts/modules/drilldown.src.js.REMOVED.git-id
vendored
Normal file
@@ -0,0 +1 @@
|
||||
558aed4df47d00419d337aed6477ed0b2eb72663
|
||||
22
public/lib/UEditor/third-party/highcharts/modules/exporting.js
vendored
Normal file
22
public/lib/UEditor/third-party/highcharts/modules/exporting.js
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
Highcharts JS v3.0.6 (2013-10-04)
|
||||
Exporting module
|
||||
|
||||
(c) 2010-2013 Torstein Hønsi
|
||||
|
||||
License: www.highcharts.com/license
|
||||
*/
|
||||
(function(f){var A=f.Chart,t=f.addEvent,C=f.removeEvent,k=f.createElement,n=f.discardElement,u=f.css,o=f.merge,r=f.each,p=f.extend,D=Math.max,j=document,B=window,E=f.isTouchDevice,F=f.Renderer.prototype.symbols,x=f.getOptions(),y;p(x.lang,{printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"});x.navigation={menuStyle:{border:"1px solid #A0A0A0",
|
||||
background:"#FFFFFF",padding:"5px 0"},menuItemStyle:{padding:"0 10px",background:"none",color:"#303030",fontSize:E?"14px":"11px"},menuItemHoverStyle:{background:"#4572A5",color:"#FFFFFF"},buttonOptions:{symbolFill:"#E0E0E0",symbolSize:14,symbolStroke:"#666",symbolStrokeWidth:3,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,theme:{fill:"white",stroke:"none"},verticalAlign:"top",width:24}};x.exporting={type:"image/png",url:"http://export.highcharts.com/",buttons:{contextButton:{menuClassName:"highcharts-contextmenu",
|
||||
symbol:"menu",_titleKey:"contextButtonTitle",menuItems:[{textKey:"printChart",onclick:function(){this.print()}},{separator:!0},{textKey:"downloadPNG",onclick:function(){this.exportChart()}},{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}]}}};f.post=function(c,a){var d,b;b=k("form",{method:"post",
|
||||
action:c,enctype:"multipart/form-data"},{display:"none"},j.body);for(d in a)k("input",{type:"hidden",name:d,value:a[d]},null,b);b.submit();n(b)};p(A.prototype,{getSVG:function(c){var a=this,d,b,z,h,g=o(a.options,c);if(!j.createElementNS)j.createElementNS=function(a,b){return j.createElement(b)};c=k("div",null,{position:"absolute",top:"-9999em",width:a.chartWidth+"px",height:a.chartHeight+"px"},j.body);b=a.renderTo.style.width;h=a.renderTo.style.height;b=g.exporting.sourceWidth||g.chart.width||/px$/.test(b)&&
|
||||
parseInt(b,10)||600;h=g.exporting.sourceHeight||g.chart.height||/px$/.test(h)&&parseInt(h,10)||400;p(g.chart,{animation:!1,renderTo:c,forExport:!0,width:b,height:h});g.exporting.enabled=!1;g.series=[];r(a.series,function(a){z=o(a.options,{animation:!1,showCheckbox:!1,visible:a.visible});z.isInternal||g.series.push(z)});d=new f.Chart(g,a.callback);r(["xAxis","yAxis"],function(b){r(a[b],function(a,c){var g=d[b][c],f=a.getExtremes(),h=f.userMin,f=f.userMax;g&&(h!==void 0||f!==void 0)&&g.setExtremes(h,
|
||||
f,!0,!1)})});b=d.container.innerHTML;g=null;d.destroy();n(c);b=b.replace(/zIndex="[^"]+"/g,"").replace(/isShadow="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ').replace(/ href=/g," xlink:href=").replace(/\n/," ").replace(/<\/svg>.*?$/,"</svg>").replace(/ /g," ").replace(/­/g,"").replace(/<IMG /g,"<image ").replace(/height=([^" ]+)/g,'height="$1"').replace(/width=([^" ]+)/g,
|
||||
'width="$1"').replace(/hc-svg-href="([^"]+)">/g,'xlink:href="$1"/>').replace(/id=([^" >]+)/g,'id="$1"').replace(/class=([^" >]+)/g,'class="$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(a){return a.toLowerCase()});return b=b.replace(/(url\(#highcharts-[0-9]+)"/g,"$1").replace(/"/g,"'")},exportChart:function(c,a){var c=c||{},d=this.options.exporting,d=this.getSVG(o({chart:{borderRadius:0}},d.chartOptions,a,{exporting:{sourceWidth:c.sourceWidth||
|
||||
d.sourceWidth,sourceHeight:c.sourceHeight||d.sourceHeight}})),c=o(this.options.exporting,c);f.post(c.url,{filename:c.filename||"chart",type:c.type,width:c.width||0,scale:c.scale||2,svg:d})},print:function(){var c=this,a=c.container,d=[],b=a.parentNode,f=j.body,h=f.childNodes;if(!c.isPrinting)c.isPrinting=!0,r(h,function(a,b){if(a.nodeType===1)d[b]=a.style.display,a.style.display="none"}),f.appendChild(a),B.focus(),B.print(),setTimeout(function(){b.appendChild(a);r(h,function(a,b){if(a.nodeType===
|
||||
1)a.style.display=d[b]});c.isPrinting=!1},1E3)},contextMenu:function(c,a,d,b,f,h,g){var e=this,j=e.options.navigation,q=j.menuItemStyle,l=e.chartWidth,m=e.chartHeight,o="cache-"+c,i=e[o],s=D(f,h),v,w,n;if(!i)e[o]=i=k("div",{className:c},{position:"absolute",zIndex:1E3,padding:s+"px"},e.container),v=k("div",null,p({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},j.menuStyle),i),w=function(){u(i,{display:"none"});g&&g.setState(0);e.openMenu=!1},t(i,
|
||||
"mouseleave",function(){n=setTimeout(w,500)}),t(i,"mouseenter",function(){clearTimeout(n)}),t(document,"mousedown",function(a){e.pointer.inClass(a.target,c)||w()}),r(a,function(a){if(a){var b=a.separator?k("hr",null,null,v):k("div",{onmouseover:function(){u(this,j.menuItemHoverStyle)},onmouseout:function(){u(this,q)},onclick:function(){w();a.onclick.apply(e,arguments)},innerHTML:a.text||e.options.lang[a.textKey]},p({cursor:"pointer"},q),v);e.exportDivElements.push(b)}}),e.exportDivElements.push(v,
|
||||
i),e.exportMenuWidth=i.offsetWidth,e.exportMenuHeight=i.offsetHeight;a={display:"block"};d+e.exportMenuWidth>l?a.right=l-d-f-s+"px":a.left=d-s+"px";b+h+e.exportMenuHeight>m&&g.alignOptions.verticalAlign!=="top"?a.bottom=m-b-s+"px":a.top=b+h-s+"px";u(i,a);e.openMenu=!0},addButton:function(c){var a=this,d=a.renderer,b=o(a.options.navigation.buttonOptions,c),j=b.onclick,h=b.menuItems,g,e,k={stroke:b.symbolStroke,fill:b.symbolFill},q=b.symbolSize||12;if(!a.btnCount)a.btnCount=0;if(!a.exportDivElements)a.exportDivElements=
|
||||
[],a.exportSVGElements=[];if(b.enabled!==!1){var l=b.theme,m=l.states,n=m&&m.hover,m=m&&m.select,i;delete l.states;j?i=function(){j.apply(a,arguments)}:h&&(i=function(){a.contextMenu(e.menuClassName,h,e.translateX,e.translateY,e.width,e.height,e);e.setState(2)});b.text&&b.symbol?l.paddingLeft=f.pick(l.paddingLeft,25):b.text||p(l,{width:b.width,height:b.height,padding:0});e=d.button(b.text,0,0,i,l,n,m).attr({title:a.options.lang[b._titleKey],"stroke-linecap":"round"});e.menuClassName=c.menuClassName||
|
||||
"highcharts-menu-"+a.btnCount++;b.symbol&&(g=d.symbol(b.symbol,b.symbolX-q/2,b.symbolY-q/2,q,q).attr(p(k,{"stroke-width":b.symbolStrokeWidth||1,zIndex:1})).add(e));e.add().align(p(b,{width:e.width,x:f.pick(b.x,y)}),!0,"spacingBox");y+=(e.width+b.buttonSpacing)*(b.align==="right"?-1:1);a.exportSVGElements.push(e,g)}},destroyExport:function(c){var c=c.target,a,d;for(a=0;a<c.exportSVGElements.length;a++)if(d=c.exportSVGElements[a])d.onclick=d.ontouchstart=null,c.exportSVGElements[a]=d.destroy();for(a=
|
||||
0;a<c.exportDivElements.length;a++)d=c.exportDivElements[a],C(d,"mouseleave"),c.exportDivElements[a]=d.onmouseout=d.onmouseover=d.ontouchstart=d.onclick=null,n(d)}});F.menu=function(c,a,d,b){return["M",c,a+2.5,"L",c+d,a+2.5,"M",c,a+b/2+0.5,"L",c+d,a+b/2+0.5,"M",c,a+b-1.5,"L",c+d,a+b-1.5]};A.prototype.callbacks.push(function(c){var a,d=c.options.exporting,b=d.buttons;y=0;if(d.enabled!==!1){for(a in b)c.addButton(b[a]);t(c,"destroy",c.destroyExport)}})})(Highcharts);
|
||||
1
public/lib/UEditor/third-party/highcharts/modules/exporting.src.js.REMOVED.git-id
vendored
Normal file
1
public/lib/UEditor/third-party/highcharts/modules/exporting.src.js.REMOVED.git-id
vendored
Normal file
@@ -0,0 +1 @@
|
||||
dfc825cc4ae9ae27c3d7d3433cec6f67edef778d
|
||||
12
public/lib/UEditor/third-party/highcharts/modules/funnel.js
vendored
Normal file
12
public/lib/UEditor/third-party/highcharts/modules/funnel.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
/*
|
||||
|
||||
Highcharts funnel module, Beta
|
||||
|
||||
(c) 2010-2012 Torstein Hønsi
|
||||
|
||||
License: www.highcharts.com/license
|
||||
*/
|
||||
(function(d){var u=d.getOptions().plotOptions,p=d.seriesTypes,D=d.merge,z=function(){},A=d.each;u.funnel=D(u.pie,{center:["50%","50%"],width:"90%",neckWidth:"30%",height:"100%",neckHeight:"25%",dataLabels:{connectorWidth:1,connectorColor:"#606060"},size:!0,states:{select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}}});p.funnel=d.extendClass(p.pie,{type:"funnel",animate:z,translate:function(){var a=function(k,a){return/%$/.test(k)?a*parseInt(k,10)/100:parseInt(k,10)},g=0,e=this.chart,f=e.plotWidth,
|
||||
e=e.plotHeight,h=0,c=this.options,C=c.center,b=a(C[0],f),d=a(C[0],e),p=a(c.width,f),i,q,j=a(c.height,e),r=a(c.neckWidth,f),s=a(c.neckHeight,e),v=j-s,a=this.data,w,x,u=c.dataLabels.position==="left"?1:0,y,m,B,n,l,t,o;this.getWidthAt=q=function(k){return k>j-s||j===s?r:r+(p-r)*((j-s-k)/(j-s))};this.getX=function(k,a){return b+(a?-1:1)*(q(k)/2+c.dataLabels.distance)};this.center=[b,d,j];this.centerX=b;A(a,function(a){g+=a.y});A(a,function(a){o=null;x=g?a.y/g:0;m=d-j/2+h*j;l=m+x*j;i=q(m);y=b-i/2;B=y+
|
||||
i;i=q(l);n=b-i/2;t=n+i;m>v?(y=n=b-r/2,B=t=b+r/2):l>v&&(o=l,i=q(v),n=b-i/2,t=n+i,l=v);w=["M",y,m,"L",B,m,t,l];o&&w.push(t,o,n,o);w.push(n,l,"Z");a.shapeType="path";a.shapeArgs={d:w};a.percentage=x*100;a.plotX=b;a.plotY=(m+(o||l))/2;a.tooltipPos=[b,a.plotY];a.slice=z;a.half=u;h+=x});this.setTooltipPoints()},drawPoints:function(){var a=this,g=a.options,e=a.chart.renderer;A(a.data,function(f){var h=f.graphic,c=f.shapeArgs;h?h.animate(c):f.graphic=e.path(c).attr({fill:f.color,stroke:g.borderColor,"stroke-width":g.borderWidth}).add(a.group)})},
|
||||
sortByAngle:z,drawDataLabels:function(){var a=this.data,g=this.options.dataLabels.distance,e,f,h,c=a.length,d,b;for(this.center[2]-=2*g;c--;)h=a[c],f=(e=h.half)?1:-1,b=h.plotY,d=this.getX(b,e),h.labelPos=[0,b,d+(g-5)*f,b,d+g*f,b,e?"right":"left",0];p.pie.prototype.drawDataLabels.call(this)}})})(Highcharts);
|
||||
289
public/lib/UEditor/third-party/highcharts/modules/funnel.src.js
vendored
Normal file
289
public/lib/UEditor/third-party/highcharts/modules/funnel.src.js
vendored
Normal file
@@ -0,0 +1,289 @@
|
||||
/**
|
||||
* @license
|
||||
* Highcharts funnel module, Beta
|
||||
*
|
||||
* (c) 2010-2012 Torstein Hønsi
|
||||
*
|
||||
* License: www.highcharts.com/license
|
||||
*/
|
||||
|
||||
/*global Highcharts */
|
||||
(function (Highcharts) {
|
||||
|
||||
'use strict';
|
||||
|
||||
// create shortcuts
|
||||
var defaultOptions = Highcharts.getOptions(),
|
||||
defaultPlotOptions = defaultOptions.plotOptions,
|
||||
seriesTypes = Highcharts.seriesTypes,
|
||||
merge = Highcharts.merge,
|
||||
noop = function () {},
|
||||
each = Highcharts.each;
|
||||
|
||||
// set default options
|
||||
defaultPlotOptions.funnel = merge(defaultPlotOptions.pie, {
|
||||
center: ['50%', '50%'],
|
||||
width: '90%',
|
||||
neckWidth: '30%',
|
||||
height: '100%',
|
||||
neckHeight: '25%',
|
||||
|
||||
dataLabels: {
|
||||
//position: 'right',
|
||||
connectorWidth: 1,
|
||||
connectorColor: '#606060'
|
||||
},
|
||||
size: true, // to avoid adapting to data label size in Pie.drawDataLabels
|
||||
states: {
|
||||
select: {
|
||||
color: '#C0C0C0',
|
||||
borderColor: '#000000',
|
||||
shadow: false
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
seriesTypes.funnel = Highcharts.extendClass(seriesTypes.pie, {
|
||||
|
||||
type: 'funnel',
|
||||
animate: noop,
|
||||
|
||||
/**
|
||||
* Overrides the pie translate method
|
||||
*/
|
||||
translate: function () {
|
||||
|
||||
var
|
||||
// Get positions - either an integer or a percentage string must be given
|
||||
getLength = function (length, relativeTo) {
|
||||
return (/%$/).test(length) ?
|
||||
relativeTo * parseInt(length, 10) / 100 :
|
||||
parseInt(length, 10);
|
||||
},
|
||||
|
||||
sum = 0,
|
||||
series = this,
|
||||
chart = series.chart,
|
||||
plotWidth = chart.plotWidth,
|
||||
plotHeight = chart.plotHeight,
|
||||
cumulative = 0, // start at top
|
||||
options = series.options,
|
||||
center = options.center,
|
||||
centerX = getLength(center[0], plotWidth),
|
||||
centerY = getLength(center[0], plotHeight),
|
||||
width = getLength(options.width, plotWidth),
|
||||
tempWidth,
|
||||
getWidthAt,
|
||||
height = getLength(options.height, plotHeight),
|
||||
neckWidth = getLength(options.neckWidth, plotWidth),
|
||||
neckHeight = getLength(options.neckHeight, plotHeight),
|
||||
neckY = height - neckHeight,
|
||||
data = series.data,
|
||||
path,
|
||||
fraction,
|
||||
half = options.dataLabels.position === 'left' ? 1 : 0,
|
||||
|
||||
x1,
|
||||
y1,
|
||||
x2,
|
||||
x3,
|
||||
y3,
|
||||
x4,
|
||||
y5;
|
||||
|
||||
// Return the width at a specific y coordinate
|
||||
series.getWidthAt = getWidthAt = function (y) {
|
||||
return y > height - neckHeight || height === neckHeight ?
|
||||
neckWidth :
|
||||
neckWidth + (width - neckWidth) * ((height - neckHeight - y) / (height - neckHeight));
|
||||
};
|
||||
series.getX = function (y, half) {
|
||||
return centerX + (half ? -1 : 1) * ((getWidthAt(y) / 2) + options.dataLabels.distance);
|
||||
};
|
||||
|
||||
// Expose
|
||||
series.center = [centerX, centerY, height];
|
||||
series.centerX = centerX;
|
||||
|
||||
/*
|
||||
* Individual point coordinate naming:
|
||||
*
|
||||
* x1,y1 _________________ x2,y1
|
||||
* \ /
|
||||
* \ /
|
||||
* \ /
|
||||
* \ /
|
||||
* \ /
|
||||
* x3,y3 _________ x4,y3
|
||||
*
|
||||
* Additional for the base of the neck:
|
||||
*
|
||||
* | |
|
||||
* | |
|
||||
* | |
|
||||
* x3,y5 _________ x4,y5
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
// get the total sum
|
||||
each(data, function (point) {
|
||||
sum += point.y;
|
||||
});
|
||||
|
||||
each(data, function (point) {
|
||||
// set start and end positions
|
||||
y5 = null;
|
||||
fraction = sum ? point.y / sum : 0;
|
||||
y1 = centerY - height / 2 + cumulative * height;
|
||||
y3 = y1 + fraction * height;
|
||||
//tempWidth = neckWidth + (width - neckWidth) * ((height - neckHeight - y1) / (height - neckHeight));
|
||||
tempWidth = getWidthAt(y1);
|
||||
x1 = centerX - tempWidth / 2;
|
||||
x2 = x1 + tempWidth;
|
||||
tempWidth = getWidthAt(y3);
|
||||
x3 = centerX - tempWidth / 2;
|
||||
x4 = x3 + tempWidth;
|
||||
|
||||
// the entire point is within the neck
|
||||
if (y1 > neckY) {
|
||||
x1 = x3 = centerX - neckWidth / 2;
|
||||
x2 = x4 = centerX + neckWidth / 2;
|
||||
|
||||
// the base of the neck
|
||||
} else if (y3 > neckY) {
|
||||
y5 = y3;
|
||||
|
||||
tempWidth = getWidthAt(neckY);
|
||||
x3 = centerX - tempWidth / 2;
|
||||
x4 = x3 + tempWidth;
|
||||
|
||||
y3 = neckY;
|
||||
}
|
||||
|
||||
// save the path
|
||||
path = [
|
||||
'M',
|
||||
x1, y1,
|
||||
'L',
|
||||
x2, y1,
|
||||
x4, y3
|
||||
];
|
||||
if (y5) {
|
||||
path.push(x4, y5, x3, y5);
|
||||
}
|
||||
path.push(x3, y3, 'Z');
|
||||
|
||||
// prepare for using shared dr
|
||||
point.shapeType = 'path';
|
||||
point.shapeArgs = { d: path };
|
||||
|
||||
|
||||
// for tooltips and data labels
|
||||
point.percentage = fraction * 100;
|
||||
point.plotX = centerX;
|
||||
point.plotY = (y1 + (y5 || y3)) / 2;
|
||||
|
||||
// Placement of tooltips and data labels
|
||||
point.tooltipPos = [
|
||||
centerX,
|
||||
point.plotY
|
||||
];
|
||||
|
||||
// Slice is a noop on funnel points
|
||||
point.slice = noop;
|
||||
|
||||
// Mimicking pie data label placement logic
|
||||
point.half = half;
|
||||
|
||||
cumulative += fraction;
|
||||
});
|
||||
|
||||
|
||||
series.setTooltipPoints();
|
||||
},
|
||||
/**
|
||||
* Draw a single point (wedge)
|
||||
* @param {Object} point The point object
|
||||
* @param {Object} color The color of the point
|
||||
* @param {Number} brightness The brightness relative to the color
|
||||
*/
|
||||
drawPoints: function () {
|
||||
var series = this,
|
||||
options = series.options,
|
||||
chart = series.chart,
|
||||
renderer = chart.renderer;
|
||||
|
||||
each(series.data, function (point) {
|
||||
|
||||
var graphic = point.graphic,
|
||||
shapeArgs = point.shapeArgs;
|
||||
|
||||
if (!graphic) { // Create the shapes
|
||||
point.graphic = renderer.path(shapeArgs).
|
||||
attr({
|
||||
fill: point.color,
|
||||
stroke: options.borderColor,
|
||||
'stroke-width': options.borderWidth
|
||||
}).
|
||||
add(series.group);
|
||||
|
||||
} else { // Update the shapes
|
||||
graphic.animate(shapeArgs);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Funnel items don't have angles (#2289)
|
||||
*/
|
||||
sortByAngle: noop,
|
||||
|
||||
/**
|
||||
* Extend the pie data label method
|
||||
*/
|
||||
drawDataLabels: function () {
|
||||
var data = this.data,
|
||||
labelDistance = this.options.dataLabels.distance,
|
||||
leftSide,
|
||||
sign,
|
||||
point,
|
||||
i = data.length,
|
||||
x,
|
||||
y;
|
||||
|
||||
// In the original pie label anticollision logic, the slots are distributed
|
||||
// from one labelDistance above to one labelDistance below the pie. In funnels
|
||||
// we don't want this.
|
||||
this.center[2] -= 2 * labelDistance;
|
||||
|
||||
// Set the label position array for each point.
|
||||
while (i--) {
|
||||
point = data[i];
|
||||
leftSide = point.half;
|
||||
sign = leftSide ? 1 : -1;
|
||||
y = point.plotY;
|
||||
x = this.getX(y, leftSide);
|
||||
|
||||
// set the anchor point for data labels
|
||||
point.labelPos = [
|
||||
0, // first break of connector
|
||||
y, // a/a
|
||||
x + (labelDistance - 5) * sign, // second break, right outside point shape
|
||||
y, // a/a
|
||||
x + labelDistance * sign, // landing point for connector
|
||||
y, // a/a
|
||||
leftSide ? 'right' : 'left', // alignment
|
||||
0 // center angle
|
||||
];
|
||||
}
|
||||
|
||||
seriesTypes.pie.prototype.drawDataLabels.call(this);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
}(Highcharts));
|
||||
1
public/lib/UEditor/third-party/highcharts/modules/heatmap.js
vendored
Normal file
1
public/lib/UEditor/third-party/highcharts/modules/heatmap.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
(function(b){var k=b.seriesTypes,l=b.each;k.heatmap=b.extendClass(k.map,{colorKey:"z",useMapGeometry:!1,pointArrayMap:["y","z"],translate:function(){var c=this,b=c.options,i=Number.MAX_VALUE,j=Number.MIN_VALUE;c.generatePoints();l(c.data,function(a){var e=a.x,f=a.y,d=a.z,g=(b.colsize||1)/2,h=(b.rowsize||1)/2;a.path=["M",e-g,f-h,"L",e+g,f-h,"L",e+g,f+h,"L",e-g,f+h,"Z"];a.shapeType="path";a.shapeArgs={d:c.translatePath(a.path)};typeof d==="number"&&(d>j?j=d:d<i&&(i=d))});c.translateColors(i,j)},getBox:function(){}})})(Highcharts);
|
||||
53
public/lib/UEditor/third-party/highcharts/modules/heatmap.src.js
vendored
Normal file
53
public/lib/UEditor/third-party/highcharts/modules/heatmap.src.js
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
(function (Highcharts) {
|
||||
var seriesTypes = Highcharts.seriesTypes,
|
||||
each = Highcharts.each;
|
||||
|
||||
seriesTypes.heatmap = Highcharts.extendClass(seriesTypes.map, {
|
||||
colorKey: 'z',
|
||||
useMapGeometry: false,
|
||||
pointArrayMap: ['y', 'z'],
|
||||
translate: function () {
|
||||
var series = this,
|
||||
options = series.options,
|
||||
dataMin = Number.MAX_VALUE,
|
||||
dataMax = Number.MIN_VALUE;
|
||||
|
||||
series.generatePoints();
|
||||
|
||||
each(series.data, function (point) {
|
||||
var x = point.x,
|
||||
y = point.y,
|
||||
value = point.z,
|
||||
xPad = (options.colsize || 1) / 2,
|
||||
yPad = (options.rowsize || 1) / 2;
|
||||
|
||||
point.path = [
|
||||
'M', x - xPad, y - yPad,
|
||||
'L', x + xPad, y - yPad,
|
||||
'L', x + xPad, y + yPad,
|
||||
'L', x - xPad, y + yPad,
|
||||
'Z'
|
||||
];
|
||||
|
||||
point.shapeType = 'path';
|
||||
point.shapeArgs = {
|
||||
d: series.translatePath(point.path)
|
||||
};
|
||||
|
||||
if (typeof value === 'number') {
|
||||
if (value > dataMax) {
|
||||
dataMax = value;
|
||||
} else if (value < dataMin) {
|
||||
dataMin = value;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
series.translateColors(dataMin, dataMax);
|
||||
},
|
||||
|
||||
getBox: function () {}
|
||||
|
||||
});
|
||||
|
||||
}(Highcharts));
|
||||
27
public/lib/UEditor/third-party/highcharts/modules/map.js
vendored
Normal file
27
public/lib/UEditor/third-party/highcharts/modules/map.js
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
Map plugin v0.1 for Highcharts
|
||||
|
||||
(c) 2011-2013 Torstein Hønsi
|
||||
|
||||
License: www.highcharts.com/license
|
||||
*/
|
||||
(function(g){function x(a,b,c){for(var d=4,e=[];d--;)e[d]=Math.round(b.rgba[d]+(a.rgba[d]-b.rgba[d])*(1-c));return"rgba("+e.join(",")+")"}var r=g.Axis,y=g.Chart,s=g.Point,z=g.Pointer,l=g.each,v=g.extend,p=g.merge,n=g.pick,A=g.numberFormat,B=g.getOptions(),k=g.seriesTypes,q=B.plotOptions,t=g.wrap,u=g.Color,w=function(){};B.mapNavigation={buttonOptions:{align:"right",verticalAlign:"bottom",x:0,width:18,height:18,style:{fontSize:"15px",fontWeight:"bold",textAlign:"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(0.5)},
|
||||
text:"+",y:-32},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:0}}};g.splitPath=function(a){var b,a=a.replace(/([A-Za-z])/g," $1 "),a=a.replace(/^\s*/,"").replace(/\s*$/,""),a=a.split(/[ ,]+/);for(b=0;b<a.length;b++)/[a-zA-Z]/.test(a[b])||(a[b]=parseFloat(a[b]));return a};g.maps={};t(r.prototype,"getSeriesExtremes",function(a){var b=this.isXAxis,c,d,e=[];l(this.series,function(a,b){if(a.useMapGeometry)e[b]=a.xData,a.xData=[]});a.call(this);c=n(this.dataMin,Number.MAX_VALUE);d=n(this.dataMax,
|
||||
Number.MIN_VALUE);l(this.series,function(a,i){if(a.useMapGeometry)c=Math.min(c,a[b?"minX":"minY"]),d=Math.max(d,a[b?"maxX":"maxY"]),a.xData=e[i]});this.dataMin=c;this.dataMax=d});t(r.prototype,"setAxisTranslation",function(a){var b=this.chart,c=b.plotWidth/b.plotHeight,d=this.isXAxis,e=b.xAxis[0];a.call(this);if(b.options.chart.type==="map"&&!d&&e.transA!==void 0)this.transA=e.transA=Math.min(this.transA,e.transA),a=(e.max-e.min)/(this.max-this.min),e=a>c?this:e,c=(e.max-e.min)*e.transA,e.minPixelPadding=
|
||||
(e.len-c)/2});t(y.prototype,"render",function(a){var b=this,c=b.options.mapNavigation;a.call(b);b.renderMapNavigation();c.zoomOnDoubleClick&&g.addEvent(b.container,"dblclick",function(a){b.pointer.onContainerDblClick(a)});c.zoomOnMouseWheel&&g.addEvent(b.container,document.onmousewheel===void 0?"DOMMouseScroll":"mousewheel",function(a){b.pointer.onContainerMouseWheel(a)})});v(z.prototype,{onContainerDblClick:function(a){var b=this.chart,a=this.normalize(a);b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-
|
||||
b.plotTop)&&b.mapZoom(0.5,b.xAxis[0].toValue(a.chartX),b.yAxis[0].toValue(a.chartY))},onContainerMouseWheel:function(a){var b=this.chart,c,a=this.normalize(a);c=a.detail||-(a.wheelDelta/120);b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)&&b.mapZoom(c>0?2:0.5,b.xAxis[0].toValue(a.chartX),b.yAxis[0].toValue(a.chartY))}});t(z.prototype,"init",function(a,b,c){a.call(this,b,c);if(c.mapNavigation.enableTouchZoom)this.pinchX=this.pinchHor=this.pinchY=this.pinchVert=!0});v(y.prototype,{renderMapNavigation:function(){var a=
|
||||
this,b=this.options.mapNavigation,c=b.buttons,d,e,f,i=function(){this.handler.call(a)};if(b.enableButtons)for(d in c)if(c.hasOwnProperty(d))f=p(b.buttonOptions,c[d]),e=a.renderer.button(f.text,0,0,i).attr({width:f.width,height:f.height}).css(f.style).add(),e.handler=f.onclick,e.align(v(f,{width:e.width,height:e.height}),null,"spacingBox")},fitToBox:function(a,b){l([["x","width"],["y","height"]],function(c){var d=c[0],c=c[1];a[d]+a[c]>b[d]+b[c]&&(a[c]>b[c]?(a[c]=b[c],a[d]=b[d]):a[d]=b[d]+b[c]-a[c]);
|
||||
a[c]>b[c]&&(a[c]=b[c]);a[d]<b[d]&&(a[d]=b[d])});return a},mapZoom:function(a,b,c){if(!this.isMapZooming){var d=this,e=d.xAxis[0],f=e.max-e.min,i=n(b,e.min+f/2),b=f*a,f=d.yAxis[0],h=f.max-f.min,c=n(c,f.min+h/2);a*=h;i-=b/2;h=c-a/2;c=n(d.options.chart.animation,!0);b=d.fitToBox({x:i,y:h,width:b,height:a},{x:e.dataMin,y:f.dataMin,width:e.dataMax-e.dataMin,height:f.dataMax-f.dataMin});e.setExtremes(b.x,b.x+b.width,!1);f.setExtremes(b.y,b.y+b.height,!1);if(e=c?c.duration||500:0)d.isMapZooming=!0,setTimeout(function(){d.isMapZooming=
|
||||
!1},e);d.redraw()}}});q.map=p(q.scatter,{animation:!1,nullColor:"#F8F8F8",borderColor:"silver",borderWidth:1,marker:null,stickyTracking:!1,dataLabels:{verticalAlign:"middle"},turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.y}<br/>"},states:{normal:{animation:!0}}});r=g.extendClass(s,{applyOptions:function(a,b){var c=s.prototype.applyOptions.call(this,a,b);if(c.path&&typeof c.path==="string")c.path=c.options.path=g.splitPath(c.path);return c},onMouseOver:function(){clearTimeout(this.colorInterval);
|
||||
s.prototype.onMouseOver.call(this)},onMouseOut:function(){var a=this,b=+new Date,c=u(a.options.color),d=u(a.pointAttr.hover.fill),e=a.series.options.states.normal.animation,f=e&&(e.duration||500);if(f&&c.rgba.length===4&&d.rgba.length===4)delete a.pointAttr[""].fill,clearTimeout(a.colorInterval),a.colorInterval=setInterval(function(){var e=(new Date-b)/f,h=a.graphic;e>1&&(e=1);h&&h.attr("fill",x(d,c,e));e>=1&&clearTimeout(a.colorInterval)},13);s.prototype.onMouseOut.call(a)}});k.map=g.extendClass(k.scatter,
|
||||
{type:"map",pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},colorKey:"y",pointClass:r,trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:w,supportsDrilldown:!0,getExtremesFromAll:!0,useMapGeometry:!0,init:function(a){var b=this,c=a.options.legend.valueDecimals,d=[],e,f,i,h,j,o,m;o=a.options.legend.layout==="horizontal";g.Series.prototype.init.apply(this,arguments);j=b.options.colorRange;if(h=b.options.valueRanges)l(h,function(a){f=a.from;i=a.to;e=
|
||||
"";f===void 0?e="< ":i===void 0&&(e="> ");f!==void 0&&(e+=A(f,c));f!==void 0&&i!==void 0&&(e+=" - ");i!==void 0&&(e+=A(i,c));d.push(g.extend({chart:b.chart,name:e,options:{},drawLegendSymbol:k.area.prototype.drawLegendSymbol,visible:!0,setState:function(){},setVisible:function(){}},a))}),b.legendItems=d;else if(j)f=j.from,i=j.to,h=j.fromLabel,j=j.toLabel,m=o?[0,0,1,0]:[0,1,0,0],o||(o=h,h=j,j=o),o={linearGradient:{x1:m[0],y1:m[1],x2:m[2],y2:m[3]},stops:[[0,f],[1,i]]},d=[{chart:b.chart,options:{},fromLabel:h,
|
||||
toLabel:j,color:o,drawLegendSymbol:this.drawLegendSymbolGradient,visible:!0,setState:function(){},setVisible:function(){}}],b.legendItems=d},drawLegendSymbol:k.area.prototype.drawLegendSymbol,drawLegendSymbolGradient:function(a,b){var c=a.options.symbolPadding,d=n(a.options.padding,8),e,f,i=this.chart.renderer.fontMetrics(a.options.itemStyle.fontSize).h,h=a.options.layout==="horizontal",j;j=n(a.options.rectangleLength,200);h?(e=-(c/2),f=0):(e=-j+a.baseline-c/2,f=d+i);b.fromText=this.chart.renderer.text(b.fromLabel,
|
||||
f,e).attr({zIndex:2}).add(b.legendGroup);f=b.fromText.getBBox();b.legendSymbol=this.chart.renderer.rect(h?f.x+f.width+c:f.x-i-c,f.y,h?j:i,h?i:j,2).attr({zIndex:1}).add(b.legendGroup);j=b.legendSymbol.getBBox();b.toText=this.chart.renderer.text(b.toLabel,j.x+j.width+c,h?e:j.y+j.height-c).attr({zIndex:2}).add(b.legendGroup);e=b.toText.getBBox();h?(a.offsetWidth=f.width+j.width+e.width+c*2+d,a.itemY=i+d):(a.offsetWidth=Math.max(f.width,e.width)+c+j.width+d,a.itemY=j.height+d,a.itemX=c)},getBox:function(a){var b=
|
||||
Number.MIN_VALUE,c=Number.MAX_VALUE,d=Number.MIN_VALUE,e=Number.MAX_VALUE;l(a||this.options.data,function(a){for(var i=a.path,h=i.length,j=!1,g=Number.MIN_VALUE,m=Number.MAX_VALUE,k=Number.MIN_VALUE,l=Number.MAX_VALUE;h--;)typeof i[h]==="number"&&!isNaN(i[h])&&(j?(g=Math.max(g,i[h]),m=Math.min(m,i[h])):(k=Math.max(k,i[h]),l=Math.min(l,i[h])),j=!j);a._maxX=g;a._minX=m;a._maxY=k;a._minY=l;b=Math.max(b,g);c=Math.min(c,m);d=Math.max(d,k);e=Math.min(e,l)});this.minY=e;this.maxY=d;this.minX=c;this.maxX=
|
||||
b},translatePath:function(a){var b=!1,c=this.xAxis,d=this.yAxis,e,a=[].concat(a);for(e=a.length;e--;)typeof a[e]==="number"&&(a[e]=b?Math.round(c.translate(a[e])):Math.round(d.len-d.translate(a[e])),b=!b);return a},setData:function(){g.Series.prototype.setData.apply(this,arguments);this.getBox()},translate:function(){var a=this,b=Number.MAX_VALUE,c=Number.MIN_VALUE;a.generatePoints();l(a.data,function(d){d.shapeType="path";d.shapeArgs={d:a.translatePath(d.path)};if(typeof d.y==="number")if(d.y>c)c=
|
||||
d.y;else if(d.y<b)b=d.y});a.translateColors(b,c)},translateColors:function(a,b){var c=this.options,d=c.valueRanges,e=c.colorRange,f=this.colorKey,i,h;e&&(i=u(e.from),h=u(e.to));l(this.data,function(g){var k=g[f],m,l,n;if(d)for(n=d.length;n--;){if(m=d[n],i=m.from,h=m.to,(i===void 0||k>=i)&&(h===void 0||k<=h)){l=m.color;break}}else e&&k!==void 0&&(m=1-(b-k)/(b-a),l=k===null?c.nullColor:x(i,h,m));if(l)g.color=null,g.options.color=l})},drawGraph:w,drawDataLabels:w,drawPoints:function(){var a=this.xAxis,
|
||||
b=this.yAxis,c=this.colorKey;l(this.data,function(a){a.plotY=1;if(a[c]===null)a[c]=0,a.isNull=!0});k.column.prototype.drawPoints.apply(this);l(this.data,function(d){var e=d.dataLabels,f=a.toPixels(d._minX,!0),g=a.toPixels(d._maxX,!0),h=b.toPixels(d._minY,!0),j=b.toPixels(d._maxY,!0);d.plotX=Math.round(f+(g-f)*n(e&&e.anchorX,0.5));d.plotY=Math.round(h+(j-h)*n(e&&e.anchorY,0.5));d.isNull&&(d[c]=null)});g.Series.prototype.drawDataLabels.call(this)},animateDrilldown:function(a){var b=this.chart.plotBox,
|
||||
c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],d=c.bBox,e=this.chart.options.drilldown.animation;if(!a)a=Math.min(d.width/b.width,d.height/b.height),c.shapeArgs={scaleX:a,scaleY:a,translateX:d.x,translateY:d.y},l(this.points,function(a){a.graphic.attr(c.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},e)}),delete this.animate},animateDrillupFrom:function(a){k.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){k.column.prototype.animateDrillupTo.call(this,
|
||||
a)}});q.mapline=p(q.map,{lineWidth:1,backgroundColor:"none"});k.mapline=g.extendClass(k.map,{type:"mapline",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth",fill:"backgroundColor"},drawLegendSymbol:k.line.prototype.drawLegendSymbol});q.mappoint=p(q.scatter,{dataLabels:{enabled:!0,format:"{point.name}",color:"black",style:{textShadow:"0 0 5px white"}}});k.mappoint=g.extendClass(k.scatter,{type:"mappoint"});g.Map=function(a,b){var c={endOnTick:!1,gridLineWidth:0,labels:{enabled:!1},lineWidth:0,
|
||||
minPadding:0,maxPadding:0,startOnTick:!1,tickWidth:0,title:null},d;d=a.series;a.series=null;a=p({chart:{type:"map",panning:"xy"},xAxis:c,yAxis:p(c,{reversed:!0})},a,{chart:{inverted:!1}});a.series=d;return new g.Chart(a,b)}})(Highcharts);
|
||||
1
public/lib/UEditor/third-party/highcharts/modules/map.src.js.REMOVED.git-id
vendored
Normal file
1
public/lib/UEditor/third-party/highcharts/modules/map.src.js.REMOVED.git-id
vendored
Normal file
@@ -0,0 +1 @@
|
||||
6af8e21e63914533678be7a86bb7455d5b9f1445
|
||||
12
public/lib/UEditor/third-party/highcharts/modules/no-data-to-display.js
vendored
Normal file
12
public/lib/UEditor/third-party/highcharts/modules/no-data-to-display.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
/*
|
||||
Highcharts JS v3.0.6 (2013-10-04)
|
||||
Plugin for displaying a message when there is no data visible in chart.
|
||||
|
||||
(c) 2010-2013 Highsoft AS
|
||||
Author: Øystein Moseng
|
||||
|
||||
License: www.highcharts.com/license
|
||||
*/
|
||||
(function(c){function f(){return!!this.points.length}function g(){this.hasData()?this.hideNoData():this.showNoData()}var d=c.seriesTypes,e=c.Chart.prototype,h=c.getOptions(),i=c.extend;i(h.lang,{noData:"No data to display"});h.noData={position:{x:0,y:0,align:"center",verticalAlign:"middle"},attr:{},style:{fontWeight:"bold",fontSize:"12px",color:"#60606a"}};d.pie.prototype.hasData=f;if(d.gauge)d.gauge.prototype.hasData=f;if(d.waterfall)d.waterfall.prototype.hasData=f;c.Series.prototype.hasData=function(){return this.dataMax!==
|
||||
void 0&&this.dataMin!==void 0};e.showNoData=function(a){var b=this.options,a=a||b.lang.noData,b=b.noData;if(!this.noDataLabel)this.noDataLabel=this.renderer.label(a,0,0,null,null,null,null,null,"no-data").attr(b.attr).css(b.style).add(),this.noDataLabel.align(i(this.noDataLabel.getBBox(),b.position),!1,"plotBox")};e.hideNoData=function(){if(this.noDataLabel)this.noDataLabel=this.noDataLabel.destroy()};e.hasData=function(){for(var a=this.series,b=a.length;b--;)if(a[b].hasData()&&!a[b].options.isInternal)return!0;
|
||||
return!1};e.callbacks.push(function(a){c.addEvent(a,"load",g);c.addEvent(a,"redraw",g)})})(Highcharts);
|
||||
128
public/lib/UEditor/third-party/highcharts/modules/no-data-to-display.src.js
vendored
Normal file
128
public/lib/UEditor/third-party/highcharts/modules/no-data-to-display.src.js
vendored
Normal file
@@ -0,0 +1,128 @@
|
||||
/**
|
||||
* @license Highcharts JS v3.0.6 (2013-10-04)
|
||||
* Plugin for displaying a message when there is no data visible in chart.
|
||||
*
|
||||
* (c) 2010-2013 Highsoft AS
|
||||
* Author: Øystein Moseng
|
||||
*
|
||||
* License: www.highcharts.com/license
|
||||
*/
|
||||
|
||||
(function (H) { // docs
|
||||
|
||||
var seriesTypes = H.seriesTypes,
|
||||
chartPrototype = H.Chart.prototype,
|
||||
defaultOptions = H.getOptions(),
|
||||
extend = H.extend;
|
||||
|
||||
// Add language option
|
||||
extend(defaultOptions.lang, {
|
||||
noData: 'No data to display'
|
||||
});
|
||||
|
||||
// Add default display options for message
|
||||
defaultOptions.noData = {
|
||||
position: {
|
||||
x: 0,
|
||||
y: 0,
|
||||
align: 'center',
|
||||
verticalAlign: 'middle'
|
||||
},
|
||||
attr: {
|
||||
},
|
||||
style: {
|
||||
fontWeight: 'bold',
|
||||
fontSize: '12px',
|
||||
color: '#60606a'
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Define hasData functions for series. These return true if there are data points on this series within the plot area
|
||||
*/
|
||||
function hasDataPie() {
|
||||
return !!this.points.length; /* != 0 */
|
||||
}
|
||||
|
||||
seriesTypes.pie.prototype.hasData = hasDataPie;
|
||||
|
||||
if (seriesTypes.gauge) {
|
||||
seriesTypes.gauge.prototype.hasData = hasDataPie;
|
||||
}
|
||||
|
||||
if (seriesTypes.waterfall) {
|
||||
seriesTypes.waterfall.prototype.hasData = hasDataPie;
|
||||
}
|
||||
|
||||
H.Series.prototype.hasData = function () {
|
||||
return this.dataMax !== undefined && this.dataMin !== undefined;
|
||||
};
|
||||
|
||||
/**
|
||||
* Display a no-data message.
|
||||
*
|
||||
* @param {String} str An optional message to show in place of the default one
|
||||
*/
|
||||
chartPrototype.showNoData = function (str) {
|
||||
var chart = this,
|
||||
options = chart.options,
|
||||
text = str || options.lang.noData,
|
||||
noDataOptions = options.noData;
|
||||
|
||||
if (!chart.noDataLabel) {
|
||||
chart.noDataLabel = chart.renderer.label(text, 0, 0, null, null, null, null, null, 'no-data')
|
||||
.attr(noDataOptions.attr)
|
||||
.css(noDataOptions.style)
|
||||
.add();
|
||||
chart.noDataLabel.align(extend(chart.noDataLabel.getBBox(), noDataOptions.position), false, 'plotBox');
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Hide no-data message
|
||||
*/
|
||||
chartPrototype.hideNoData = function () {
|
||||
var chart = this;
|
||||
if (chart.noDataLabel) {
|
||||
chart.noDataLabel = chart.noDataLabel.destroy();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns true if there are data points within the plot area now
|
||||
*/
|
||||
chartPrototype.hasData = function () {
|
||||
var chart = this,
|
||||
series = chart.series,
|
||||
i = series.length;
|
||||
|
||||
while (i--) {
|
||||
if (series[i].hasData() && !series[i].options.isInternal) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Show no-data message if there is no data in sight. Otherwise, hide it.
|
||||
*/
|
||||
function handleNoData() {
|
||||
var chart = this;
|
||||
if (chart.hasData()) {
|
||||
chart.hideNoData();
|
||||
} else {
|
||||
chart.showNoData();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add event listener to handle automatic display of no-data message
|
||||
*/
|
||||
chartPrototype.callbacks.push(function (chart) {
|
||||
H.addEvent(chart, 'load', handleNoData);
|
||||
H.addEvent(chart, 'redraw', handleNoData);
|
||||
});
|
||||
|
||||
}(Highcharts));
|
||||
Reference in New Issue
Block a user