Lines Matching refs:_this

69 		var _this = {  class in AmCharts
110 var item = _this.drawing.undos.pop();
113 _this.drawing.redos.push( item );
116 _this.setup.fabric.remove( item.target );
123 _this.drawing.handler.change( {
130 _this.setup.fabric.renderAll();
134 _this.drawing.handler.undo( item, true );
139 var item = _this.drawing.redos.pop();
142 _this.drawing.undos.push( item );
145 _this.setup.fabric.add( item.target );
153 _this.drawing.handler.change( {
160 _this.setup.fabric.renderAll();
164 _this.drawing.handler.redo();
169 _this.drawing.buffer.enabled = false;
170 _this.drawing.undos = [];
171 _this.drawing.redos = [];
172 _this.createMenu( _this.config.menu );
173 _this.setup.fabric.deactivateAll();
175 if ( _this.setup.wrapper ) {
176 _this.setup.chart.containerDiv.removeChild( _this.setup.wrapper );
177 _this.setup.wrapper = false;
181 var cfg = _this.deepMerge( {
182 top: _this.setup.fabric.height / 2,
183 left: _this.setup.fabric.width / 2
192 if ( group.height > _this.setup.fabric.height || group.width > _this.setup.fabric.width ) {
193 ratio = ( _this.setup.fabric.height / 2 ) / group.height;
196 if ( cfg.top > _this.setup.fabric.height ) {
197 cfg.top = _this.setup.fabric.height / 2;
200 if ( cfg.left > _this.setup.fabric.width ) {
201 cfg.left = _this.setup.fabric.width / 2;
211 fill: _this.drawing.color
213 _this.setup.fabric.add( group );
217 var cfg = _this.deepMerge( {}, options || {} );
219 var current = target || _this.drawing.buffer.target;
224 _this.drawing.mode = cfg.mode;
227 _this.drawing.width = cfg.width;
228 _this.drawing.fontSize = cfg.width * 3;
231 _this.drawing.fontSize = cfg.fontSize;
234 _this.drawing.color = cfg.color;
237 _this.drawing.opacity = cfg.opacity;
241 rgba = new fabric.Color( _this.drawing.color ).getSource();
243 rgba.push( _this.drawing.opacity );
244 _this.drawing.color = "rgba(" + rgba.join() + ")";
245 _this.setup.fabric.freeDrawingBrush.color = _this.drawing.color;
246 _this.setup.fabric.freeDrawingBrush.width = _this.drawing.width;
309 state = JSON.stringify( _this.deepMerge( current.saveState().originalState, {
317 _this.drawing.redos = [];
318 _this.drawing.undos.push( {
325 _this.setup.fabric.renderAll();
329 var cfg = _this.deepMerge( {
330 text: _this.i18l( "menu.label.draw.text" ),
331 top: _this.setup.fabric.height / 2,
332 left: _this.setup.fabric.width / 2,
333 fontSize: _this.drawing.fontSize,
334 fontFamily: _this.setup.chart.fontFamily || "Verdana",
335 fill: _this.drawing.color
342 _this.setup.fabric.add( text );
343 _this.setup.fabric.setActiveObject( text );
351 var cfg = _this.deepMerge( {
352 x1: ( _this.setup.fabric.width / 2 ) - ( _this.setup.fabric.width / 10 ),
353 x2: ( _this.setup.fabric.width / 2 ) + ( _this.setup.fabric.width / 10 ),
354 y1: ( _this.setup.fabric.height / 2 ),
355 y2: ( _this.setup.fabric.height / 2 ),
357 strokeLineCap: _this.drawing.lineCap,
358 arrow: _this.drawing.arrow,
359 color: _this.drawing.color,
360 width: _this.drawing.width,
373 cfg.angle = cfg.angle ? cfg.angle : _this.getAngle( cfg.x1, cfg.y1, cfg.x2, cfg.y2 );
410 _this.setup.fabric.setActiveObject( group );
412 _this.setup.fabric.add( group );
415 _this.setup.fabric.add( line );
421 _this.setup.fabric.add( cfg.group[ i1 ] );
512 … var lang = language ? langugage : _this.setup.chart.language ? _this.setup.chart.language : "en";
513 …var catalog = AmCharts.translations[ _this.name ][ lang ] || AmCharts.translations[ _this.name ][ …
523 if ( window.saveAs && _this.setup.hasBlob ) {
524 var blob = _this.toBlob( {
532 } else if ( _this.config.fallback && type == "text/plain" ) {
537 msg.innerHTML = _this.i18l( "fallback.save.text" );
543 _this.setup.chart.containerDiv.appendChild( div );
552 _this.createMenu( [ {
556 _this.createMenu( _this.config.menu );
557 _this.setup.chart.containerDiv.removeChild( div );
562 } else if ( _this.config.fallback && type.split( "/" )[ 0 ] == "image" ) {
565 var img = _this.toImage( {
569 msg.innerHTML = _this.i18l( "fallback.save.image" );
576 _this.setup.chart.containerDiv.appendChild( div );
579 _this.createMenu( [ {
583 _this.createMenu( _this.config.menu );
584 _this.setup.chart.containerDiv.removeChild( div );
601 var url = src.indexOf( "//" ) != -1 ? src : [ _this.libs.path, src ].join( "" );
606 _this.loadResource( addons[ i1 ] );
615 if ( _this.libs.async ) {
633 if ( _this.libs.reload ) {
642 for ( i1 in _this.libs.namespaces ) {
643 var namespace = _this.libs.namespaces[ i1 ];
652 if ( !exist || _this.libs.reload ) {
664 if ( _this.libs.autoLoad ) {
665 for ( i1 = 0; i1 < _this.libs.resources.length; i1++ ) {
666 if ( _this.libs.resources[ i1 ] instanceof Object ) {
667 for ( i2 in _this.libs.resources[ i1 ] ) {
668 _this.loadResource( i2, _this.libs.resources[ i1 ][ i2 ] );
671 _this.loadResource( _this.libs.resources[ i1 ] );
729 !( v instanceof Function || v instanceof Date || _this.isElement( v ) ) &&
732 _this.deepMerge( a[ i1 ], v, overwrite );
775 _this.drawing.buffer.isPressed = true;
777 _this.drawing.buffer.isPressed = false;
779 return _this.drawing.buffer.isPressed;
804 if ( !_this.config.enabled ) {
810 if ( !Array.prototype.indexOf || !document.head || _this.config.fallback === false ) {
858 return _this.gatherAttribute( elm.parentNode, attr, limit, lvl + 1 );
871 if ( _this.isElement( elm ) ) {
875 return _this.gatherClassName( elm.parentNode, className, limit, lvl + 1 );
894 … var transform = fabric.parseTransformAttribute( _this.gatherAttribute( childNode, "transform" ) );
900 x: _this.pxToNumber( childNode.childNodes[ i2 ].getAttribute( "x" ) ),
901 y: _this.pxToNumber( childNode.childNodes[ i2 ].getAttribute( "y" ) ),
902 width: _this.pxToNumber( childNode.childNodes[ i2 ].getAttribute( "width" ) ),
903 height: _this.pxToNumber( childNode.childNodes[ i2 ].getAttribute( "height" ) )
931 if ( cfg.removeImages && _this.isTainted( props.source ) ) {
956 var ref = _this.drawing.buffer.position;
957 var ivt = fabric.util.invertTransform( _this.setup.fabric.viewportTransform );
968 pos = fabric.util.transformPoint( _this.setup.fabric.getPointer( event, true ), ivt );
988 var cfg = _this.deepMerge( _this.deepMerge( {}, _this.config.fabric ), options || {} );
995 width: _this.setup.chart.divRealWidth,
996 height: _this.setup.chart.divRealHeight
1016 _this.handleCallback( cfg.beforeCapture, cfg );
1019 var svgs = _this.setup.chart.containerDiv.getElementsByTagName( "svg" );
1034 group = _this.gatherElements( group, cfg, images );
1041 …if ( _this.config.legend && _this.setup.chart.legend && _this.setup.chart.legend.position == "outs…
1043 svg: _this.setup.chart.legend.container.container,
1044 parent: _this.setup.chart.legend.container.container.parentNode,
1045 children: _this.setup.chart.legend.container.container.getElementsByTagName( "*" ),
1051 type: [ "top", "left" ].indexOf( _this.config.legend.position ) != -1 ? "unshift" : "push",
1052 position: _this.config.legend.position,
1053 …width: _this.config.legend.width ? _this.config.legend.width : _this.setup.chart.legend.container.…
1054 …height: _this.config.legend.height ? _this.config.legend.height : _this.setup.chart.legend.contain…
1069 group = _this.gatherElements( group, cfg, images );
1076 _this.drawing.buffer.enabled = cfg.action == "draw";
1078 _this.setup.wrapper = document.createElement( "div" );
1079_this.setup.wrapper.setAttribute( "class", _this.setup.chart.classNamePrefix + "-export-canvas" );
1080 _this.setup.chart.containerDiv.appendChild( _this.setup.wrapper );
1083 if ( _this.setup.chart.type == "stock" ) {
1090 if ( _this.setup.chart.leftContainer ) {
1091 offset.width -= _this.setup.chart.leftContainer.offsetWidth;
1092 …padding.left = _this.setup.chart.leftContainer.offsetWidth + ( _this.setup.chart.panelsSettings.pa…
1094 if ( _this.setup.chart.rightContainer ) {
1095 offset.width -= _this.setup.chart.rightContainer.offsetWidth;
1096 …padding.right = _this.setup.chart.rightContainer.offsetWidth + ( _this.setup.chart.panelsSettings.…
1098 …if ( _this.setup.chart.periodSelector && [ "top", "bottom" ].indexOf( _this.setup.chart.periodSele…
1099 …offset.height -= _this.setup.chart.periodSelector.offsetHeight + _this.setup.chart.panelsSettings.…
1100 …padding[ _this.setup.chart.periodSelector.position ] += _this.setup.chart.periodSelector.offsetHei…
1102 …if ( _this.setup.chart.dataSetSelector && [ "top", "bottom" ].indexOf( _this.setup.chart.dataSetSe…
1103 offset.height -= _this.setup.chart.dataSetSelector.offsetHeight;
1104 …padding[ _this.setup.chart.dataSetSelector.position ] += _this.setup.chart.dataSetSelector.offsetH…
1108 _this.setup.wrapper.style.paddingTop = _this.numberToPx( padding.top );
1109 _this.setup.wrapper.style.paddingRight = _this.numberToPx( padding.right );
1110 _this.setup.wrapper.style.paddingBottom = _this.numberToPx( padding.bottom );
1111 _this.setup.wrapper.style.paddingLeft = _this.numberToPx( padding.left );
1115 _this.setup.canvas = document.createElement( "canvas" );
1116 _this.setup.wrapper.appendChild( _this.setup.canvas );
1117 _this.setup.fabric = new fabric.Canvas( _this.setup.canvas, _this.deepMerge( {
1124 _this.deepMerge( _this.setup.fabric, cfg );
1125 _this.deepMerge( _this.setup.fabric.freeDrawingBrush, cfg.drawing );
1128 _this.deepMerge( _this.drawing, cfg.drawing );
1129 _this.drawing.handler.change( cfg.drawing );
1132 _this.setup.fabric.on( "mouse:down", function( e ) {
1133 var p = _this.gatherPosition( e.e, 1 );
1134 _this.drawing.buffer.pressedTS = Number( new Date() );
1135 _this.isPressed( e.e );
1137 _this.setup.fabric.on( "mouse:move", function( e ) {
1138 var p = _this.gatherPosition( e.e, 2 );
1139 _this.isPressed( e.e );
1142 if ( _this.drawing.buffer.isPressed && !_this.drawing.buffer.line ) {
1143 …if ( !_this.drawing.buffer.isSelected && _this.drawing.mode != "pencil" && ( p.xD > 5 || p.xD > 5 …
1144 _this.drawing.buffer.hasLine = true;
1145 _this.setup.fabric.isDrawingMode = false;
1146 _this.setup.fabric._onMouseUpInDrawingMode( e );
1147 _this.drawing.buffer.line = _this.drawing.handler.line( {
1152 arrow: _this.drawing.mode == "line" ? false : _this.drawing.arrow,
1159 if ( _this.drawing.buffer.line ) {
1161 var l = _this.drawing.buffer.line;
1175 l.angle = ( _this.getAngle( l.x1, l.y1, l.x2, l.y2 ) + 90 );
1195 _this.setup.fabric.renderAll();
1198 _this.setup.fabric.on( "mouse:up", function( e ) {
1200 if ( Number( new Date() ) - _this.drawing.buffer.pressedTS < 200 ) {
1201 var target = _this.setup.fabric.findTarget( e.e );
1203 _this.setup.fabric.setActiveObject( target );
1208 if ( _this.drawing.buffer.line ) {
1209 for ( i1 = 0; i1 < _this.drawing.buffer.line.group.length; i1++ ) {
1210 _this.drawing.buffer.line.group[ i1 ].remove();
1212 delete _this.drawing.buffer.line.action;
1213 delete _this.drawing.buffer.line.group;
1214 _this.drawing.handler.line( _this.drawing.buffer.line );
1216 _this.drawing.buffer.line = false;
1217 _this.drawing.buffer.hasLine = false;
1218 _this.drawing.buffer.isPressed = false;
1222 _this.setup.fabric.on( "object:selected", function( e ) {
1223 _this.drawing.buffer.isSelected = true;
1224 _this.drawing.buffer.target = e.target;
1225 _this.setup.fabric.isDrawingMode = false;
1227 _this.setup.fabric.on( "selection:cleared", function( e ) {
1228 _this.drawing.buffer.onMouseDown = _this.setup.fabric.freeDrawingBrush.onMouseDown;
1229 _this.drawing.buffer.target = false;
1232 if ( _this.drawing.buffer.isSelected ) {
1233 _this.setup.fabric._isCurrentlyDrawing = false;
1234 _this.setup.fabric.freeDrawingBrush.onMouseDown = function() {};
1239 _this.drawing.buffer.isSelected = false;
1240 _this.setup.fabric.isDrawingMode = true;
1241 _this.setup.fabric.freeDrawingBrush.onMouseDown = _this.drawing.buffer.onMouseDown;
1244 _this.setup.fabric.on( "path:created", function( e ) {
1246 …if ( Number( new Date() ) - _this.drawing.buffer.pressedTS < 200 || _this.drawing.buffer.hasLine )…
1247 _this.setup.fabric.remove( item );
1248 _this.setup.fabric.renderAll();
1254 _this.setup.fabric.on( "object:added", function( e ) {
1256 var state = _this.deepMerge( item.saveState().originalState, {
1258 color: _this.drawing.color,
1259 width: _this.drawing.width,
1260 opacity: _this.drawing.opacity,
1261 fontSize: _this.drawing.fontSize
1265 if ( Number( new Date() ) - _this.drawing.buffer.pressedTS < 200 && !item.noUndo ) {
1266 _this.setup.fabric.remove( item );
1267 _this.setup.fabric.renderAll();
1275 _this.drawing.undos.push( {
1280 _this.drawing.undos.push( {
1285 _this.drawing.redos = [];
1289 _this.setup.fabric.isDrawingMode = true;
1291 _this.setup.fabric.on( "object:modified", function( e ) {
1294 var state = _this.deepMerge( item.saveState().originalState, {
1301 _this.drawing.undos.push( {
1307 _this.drawing.redos = [];
1309 _this.setup.fabric.on( "text:changed", function( e ) {
1317 _this.drawing.redos = [];
1318 _this.drawing.undos.push( {
1327 if ( _this.drawing.buffer.enabled ) {
1328_this.setup.wrapper.setAttribute( "class", _this.setup.chart.classNamePrefix + "-export-canvas act…
1329 _this.setup.wrapper.style.backgroundColor = cfg.backgroundColor;
1330 _this.setup.wrapper.style.display = "block";
1333_this.setup.wrapper.setAttribute( "class", _this.setup.chart.classNamePrefix + "-export-canvas" );
1334 _this.setup.wrapper.style.display = "none";
1339 …var isLegend = _this.gatherClassName( group.parent, _this.setup.chart.classNamePrefix + "-legend-d…
1340 …var isPanel = _this.gatherClassName( group.parent, _this.setup.chart.classNamePrefix + "-stock-pan…
1341 …var isScrollbar = _this.gatherClassName( group.parent, _this.setup.chart.classNamePrefix + "-scrol…
1344 if ( _this.setup.chart.type == "stock" && _this.setup.chart.legendSettings.position ) {
1347 if ( [ "top", "bottom" ].indexOf( _this.setup.chart.legendSettings.position ) != -1 ) {
1351 group.offset.y = _this.pxToNumber( group.parent.style.top );
1352 group.offset.x = _this.pxToNumber( group.parent.style.left );
1358 offset.y += _this.pxToNumber( group.parent.style.height );
1362 offset.pY = _this.pxToNumber( isPanel.style.marginTop );
1372 } else if ( [ "left", "right" ].indexOf( _this.setup.chart.legendSettings.position ) != -1 ) {
1373 group.offset.y = _this.pxToNumber( group.parent.style.top ) + offset.pY;
1374 group.offset.x = _this.pxToNumber( group.parent.style.left ) + offset.pX;
1378 …offset.pY += _this.pxToNumber( isPanel.style.height ) + _this.setup.chart.panelsSettings.panelSpac…
1382 group.offset.y -= _this.setup.chart.panelsSettings.panelSpacing;
1391 group.offset.top = _this.pxToNumber( group.parent.style.top );
1392 group.offset.right = _this.pxToNumber( group.parent.style.right, true );
1393 group.offset.bottom = _this.pxToNumber( group.parent.style.bottom, true );
1394 group.offset.left = _this.pxToNumber( group.parent.style.left );
1395 group.offset.width = _this.pxToNumber( group.parent.style.width );
1396 group.offset.height = _this.pxToNumber( group.parent.style.height );
1400 group.offset.y = _this.pxToNumber( group.parent.style.top );
1401 group.offset.x = _this.pxToNumber( group.parent.style.left );
1422 offset.y += _this.pxToNumber( group.parent.style.height );
1428 offset.y += _this.pxToNumber( isPanel.style.marginTop );
1429 group.offset.y += _this.pxToNumber( isPanel.style.marginTop );
1471 if ( cfg.removeImages && _this.isTainted( g.paths[ i1 ][ "xlink:href" ] ) ) {
1482 if ( _this.setup.chart.type == "pie" ) {
1505 } else if ( PID = _this.isHashbanged( g.paths[ i1 ].fill ) ) {
1544 if ( PID = _this.isHashbanged( g.paths[ i1 ].clipPath ) ) {
1618 _this.setup.fabric.add( g );
1622 …var balloons = group.svg.parentNode.getElementsByClassName( _this.setup.chart.classNamePrefix + "-…
1625 cfg.balloonFunction.apply( _this, [ balloons[ i1 ], group ] );
1640 _this.setup.fabric.add( fabric_label );
1658 _this.setup.fabric.add( fabric_label );
1668 _this.handleCallback( cfg.afterCapture, cfg );
1669 _this.setup.fabric.renderAll();
1670 _this.handleCallback( callback, cfg );
1679 var className = _this.gatherAttribute( svg, "class" );
1680 var visibility = _this.gatherAttribute( svg, "visibility" );
1681 var clipPath = _this.gatherAttribute( svg, "clip-path" );
1709 …if ( obj.classList.indexOf( _this.setup.chart.classNamePrefix + "-guide-fill" ) != -1 && !attrVal …
1718 obj[ attr + _this.capitalize( "opacity" ) ] = attrOpacity;
1724 _this.handleCallback( cfg.reviver, obj, svg );
1733 var cfg = _this.deepMerge( {
1736 var data = _this.setup.canvas;
1738 _this.handleCallback( callback, data );
1747 var cfg = _this.deepMerge( {
1757 data = _this.toSVG( _this.deepMerge( cfg, {
1761 data = _this.setup.fabric.toDataURL( cfg );
1767 _this.handleCallback( callback, img );
1776 var cfg = _this.deepMerge( {
1787 cfg.data = _this.toByteArray( {
1800 _this.handleCallback( callback, data );
1809 var cfg = _this.deepMerge( {
1815 var data = _this.setup.fabric.toDataURL( cfg );
1817 _this.handleCallback( callback, data );
1826 var cfg = _this.deepMerge( {
1831 var data = _this.setup.fabric.toDataURL( cfg );
1833 _this.handleCallback( callback, data );
1843 var cfg = _this.deepMerge( {
1897 var data = _this.setup.fabric.toSVG( cfg, cfg.reviver );
1910 _this.handleCallback( callback, data );
1919 var cfg = _this.deepMerge( _this.deepMerge( {
1921 }, _this.config.pdfMake ), options || {}, true );
1922 cfg.images.reference = _this.toPNG( cfg );
1928 callback.apply( _this, arguments );
1941 var cfg = _this.deepMerge( {
1945 var data = _this.toImage( cfg );
1952 if ( _this.isElement( items[ i1 ] ) ) {
1963 if ( _this.isElement( items[ i1 ] ) ) {
1968 _this.handleCallback( callback, data );
1978 var cfg = _this.deepMerge( {
1979 dateFormat: _this.config.dateFormat || "dateObject",
1981 cfg.data = cfg.data ? cfg.data : _this.getChartData( cfg );
1984 _this.handleCallback( callback, data );
1994 var cfg = _this.deepMerge( {
1995 data: _this.getChartData( options ),
2045 _this.handleCallback( callback, data );
2054 var cfg = _this.deepMerge( {
2056 dateFormat: _this.config.dateFormat || "dateObject",
2066 cfg.data = cfg.data ? cfg.data : _this.getChartData( cfg );
2117 wb.Sheets[ cfg.name ] = sheet_from_array_of_arrays( _this.toArray( cfg ) );
2127 _this.handleCallback( callback, data );
2137 var cfg = _this.deepMerge( {
2138 data: _this.getChartData( options ),
2175 _this.handleCallback( callback, data );
2184 var cfg = _this.deepMerge( {
2257 _this.handleCallback( callback, data );
2273 callback.apply( _this, data );
2281 if ( _this.drawing.buffer.enabled ) {
2287_this.setup.wrapper.setAttribute( "class", _this.setup.chart.classNamePrefix + "-export-canvas act…
2291_this.setup.wrapper.setAttribute( "class", _this.setup.chart.classNamePrefix + "-export-canvas act…
2298 _this.drawing.handler.add( {
2316 var cfg = _this.deepMerge( {
2322 exportTitles: _this.config.exportTitles,
2323 exportFields: _this.config.exportFields,
2324 exportSelection: _this.config.exportSelection,
2325 columnNames: _this.config.columnNames
2340 if ( field && cfg.exportTitles && _this.setup.chart.type != "gantt" ) {
2350 if ( _this.setup.chart.type == "stock" ) {
2351 cfg.data = _this.setup.chart.mainDataSet.dataProvider;
2354 addField( _this.setup.chart.mainDataSet.categoryField );
2355 cfg.dateFields.push( _this.setup.chart.mainDataSet.categoryField );
2358 for ( i1 = 0; i1 < _this.setup.chart.mainDataSet.fieldMappings.length; i1++ ) {
2359 var fieldMap = _this.setup.chart.mainDataSet.fieldMappings[ i1 ];
2360 for ( i2 = 0; i2 < _this.setup.chart.panels.length; i2++ ) {
2361 var panel = _this.setup.chart.panels[ i2 ]
2375 for ( i1 = 0; i1 < _this.setup.chart.comparedGraphs.length; i1++ ) {
2376 var graph = _this.setup.chart.comparedGraphs[ i1 ];
2394 } else if ( _this.setup.chart.type == "gantt" ) {
2396 addField( _this.setup.chart.categoryField );
2397 cfg.dateFields.push( _this.setup.chart.categoryField );
2399 var field = _this.setup.chart.segmentsField;
2400 for ( i1 = 0; i1 < _this.setup.chart.dataProvider.length; i1++ ) {
2401 var dataItem = _this.setup.chart.dataProvider[ i1 ];
2404 …dataItem[ field ][ i2 ][ _this.setup.chart.categoryField ] = dataItem[ _this.setup.chart.categoryF…
2411 for ( i1 = 0; i1 < _this.setup.chart.graphs.length; i1++ ) {
2412 var graph = _this.setup.chart.graphs[ i1 ];
2424 } else if ( [ "pie", "funnel" ].indexOf( _this.setup.chart.type ) != -1 ) {
2425 cfg.data = _this.setup.chart.dataProvider;
2428 addField( _this.setup.chart.titleField );
2429 cfg.dateFields.push( _this.setup.chart.titleField );
2432 addField( _this.setup.chart.valueField );
2435 } else if ( _this.setup.chart.type != "map" ) {
2436 cfg.data = _this.setup.chart.dataProvider;
2439 if ( _this.setup.chart.categoryAxis ) {
2440 addField( _this.setup.chart.categoryField, _this.setup.chart.categoryAxis.title );
2441 if ( _this.setup.chart.categoryAxis.parseDates !== false ) {
2442 cfg.dateFields.push( _this.setup.chart.categoryField );
2447 for ( i1 = 0; i1 < _this.setup.chart.graphs.length; i1++ ) {
2448 var graph = _this.setup.chart.graphs[ i1 ];
2459 return _this.processData( cfg );
2466 var cfg = _this.deepMerge( {
2472 dataDateFormat: _this.setup.chart.dataDateFormat,
2473 dateFormat: _this.config.dateFormat || _this.setup.chart.dataDateFormat || "YYYY-MM-DD",
2474 exportTitles: _this.config.exportTitles,
2475 exportFields: _this.config.exportFields,
2476 exportSelection: _this.config.exportSelection,
2477 columnNames: _this.config.columnNames
2514 if ( cfg.exportTitles && _this.setup.chart.type != "gantt" ) {
2589 if ( _this.config.formats[ item.format ] ) {
2590 item = _this.deepMerge( {
2593 mimeType: _this.config.formats[ item.format ].mimeType,
2594 extension: _this.config.formats[ item.format ].extension,
2595 capture: _this.config.formats[ item.format ].capture,
2596 action: _this.config.action,
2597 fileName: _this.config.fileName
2600 item.label = item.label ? item.label : _this.i18l( "menu.label." + action );
2604 …ON", "XLSX" ].indexOf( item.format ) != -1 && [ "map", "gauge" ].indexOf( _this.setup.chart.type )…
2608 } else if ( !_this.setup.hasBlob && item.format != "UNDEFINED" ) {
2616 if ( _this.config.fabric.drawing.enabled ) {
2617 item.menu = item.menu ? item.menu : _this.config.fabric.drawing.menu;
2632 var items = item[ type ] || _this.config.fabric.drawing[ type ] || [];
2644 var url = ( io ? _this.config.path + "shapes/" : "" ) + items[ i2 ];
2663 tmp.label.style.width = _this.numberToPx( items[ i2 ] );
2664 tmp.label.style.height = _this.numberToPx( items[ i2 ] );
2673 tmp.label = _this.i18l( "menu.label.draw.modes." + items[ i2 ] );
2676 _this.drawing.mode = mode;
2688 if ( _this.drawing.handler[ action ] instanceof Function ) {
2697 } else if ( _this.drawing.buffer.enabled ) {
2752 …format == "PRINT" || ( item.format != "UNDEFINED" && item.capture ) ) && !_this.drawing.enabled ) {
2753 item.delay = item.delay ? item.delay : _this.config.delay;
2755 _this.delay( item, callback );
2760 callback.apply( _this, args );
2768 if ( _this.isElement( item.label ) ) {
2795 if ( _this.config.menuReviver ) {
2796 li = _this.config.menuReviver.apply( _this, [ item, li ] );
2827 if ( typeof _this.config.divId == "string" ) {
2828 _this.config.divId = container = document.getElementById( _this.config.divId );
2829 } else if ( _this.isElement( _this.config.divId ) ) {
2830 container = _this.config.divId;
2832 container = _this.setup.chart.containerDiv;
2837 if ( _this.isElement( _this.setup.menu ) ) {
2838 _this.setup.menu.innerHTML = "";
2840 _this.setup.menu = document.createElement( "div" );
2842_this.setup.menu.setAttribute( "class", _this.setup.chart.classNamePrefix + "-export-menu " + _thi…
2845 if ( _this.config.menuWalker ) {
2846 buildList = _this.config.menuWalker;
2848 buildList.apply( this, [ list, _this.setup.menu ] );
2851 if ( _this.setup.menu.childNodes.length ) {
2852 container.appendChild( _this.setup.menu );
2855 return _this.setup.menu;
2862 var cfg = _this.deepMerge( {
2867 var menu = _this.createMenu( [ {
2868 …label: _this.i18l( "capturing.delayed.menu.label" ).replace( "{{duration}}", AmCharts.toFixed( cfg…
2869 title: _this.i18l( "capturing.delayed.menu.title" ),
2874 _this.createMenu( _this.config.menu );
2885 _this.createMenu( _this.config.menu );
2888 …label.innerHTML = _this.i18l( "capturing.delayed.menu.label" ).replace( "{{duration}}", AmCharts.t…
2894 callback.apply( _this, arguments );
2945 _this.setup.fabric.add( clone );
2950 if ( _this.config.keyListener && _this.config.keyListener != "attached" ) {
2951 _this.config.keyListener = "attached";
2953 var current = _this.drawing.buffer.target;
2958 _this.setup.fabric.remove( current );
2961 } else if ( e.keyCode == 27 && _this.drawing.enabled ) {
2963 _this.drawing.handler.done();
2967 _this.drawing.buffer.copy = current;
2971 _this.drawing.buffer.copy = current;
2972 _this.setup.fabric.remove( current );
2976 if ( _this.drawing.buffer.copy ) {
2977 handleClone( _this.drawing.buffer.copy.clone( handleClone ) )
2984 _this.drawing.handler.redo();
2986 _this.drawing.handler.undo();
2993 if ( _this.config.fileListener ) {
2994 _this.setup.chart.containerDiv.addEventListener( "dragover", _this.handleDropbox );
2995 _this.setup.chart.containerDiv.addEventListener( "dragleave", _this.handleDropbox );
2996 _this.setup.chart.containerDiv.addEventListener( "drop", _this.handleDropbox );
3004 clearTimeout( _this.timer );
3005 _this.timer = setInterval( function() {
3006 if ( _this.setup.chart.containerDiv ) {
3007 clearTimeout( _this.timer );
3009 if ( _this.config.enabled ) {
3011 _this.setup.chart.AmExport = _this;
3014 if ( _this.config.overflow ) {
3015 _this.setup.chart.div.style.overflow = "visible";
3019 _this.loadListeners();
3022 _this.createMenu( _this.config.menu );
3034 _this.drawing.handler.cancel = _this.drawing.handler.done;
3038 _this.setup.hasBlob = !!new Blob;
3045 _this.defaults.fabric.drawing.fontSize = _this.setup.chart.fontSize || 11;
3048_this.config.drawing = _this.deepMerge( _this.defaults.fabric.drawing, _this.config.drawing || {},…
3049 _this.deepMerge( _this.defaults.fabric, _this.config, true );
3050 _this.deepMerge( _this.defaults.fabric, _this.config.fabric || {}, true );
3051 _this.deepMerge( _this.defaults.pdfMake, _this.config, true );
3052 _this.deepMerge( _this.defaults.pdfMake, _this.config.pdfMake || {}, true );
3053 _this.deepMerge( _this.libs, _this.config.libs || {}, true );
3056 _this.config.drawing = _this.defaults.fabric.drawing;
3057 _this.config.fabric = _this.defaults.fabric;
3058 _this.config.pdfMake = _this.defaults.pdfMake;
3059 _this.config = _this.deepMerge( _this.defaults, _this.config, true );
3062 if ( _this.config.fabric.drawing.enabled ) {
3063 if ( _this.config.fabric.drawing.menu === undefined ) {
3064 _this.config.fabric.drawing.menu = [];
3065 _this.deepMerge( _this.config.fabric.drawing.menu, [ {
3068 label: _this.i18l( "menu.label.draw.add" ),
3070 label: _this.i18l( "menu.label.draw.shapes" ),
3073 label: _this.i18l( "menu.label.draw.text" ),
3077 label: _this.i18l( "menu.label.draw.change" ),
3079 label: _this.i18l( "menu.label.draw.modes" ),
3082 label: _this.i18l( "menu.label.draw.colors" ),
3085 label: _this.i18l( "menu.label.draw.widths" ),
3088 label: _this.i18l( "menu.label.draw.opacities" ),
3092 label: _this.i18l( "menu.label.save.image" ),
3100 if ( _this.config.menu === undefined ) {
3101 _this.config.menu = [];
3103 _this.deepMerge( _this.config, {
3107 label: _this.i18l( "menu.label.save.image" ),
3110 label: _this.i18l( "menu.label.save.data" ),
3113 label: _this.i18l( "menu.label.draw" ),
3115 menu: _this.config.fabric.drawing.menu
3118 label: _this.i18l( "menu.label.print" )
3125 if ( !_this.libs.path ) {
3126 _this.libs.path = _this.config.path + "libs/";
3130 if ( _this.isSupported() ) {
3132 _this.loadDependencies( _this.libs.resources, _this.libs.reload );
3134 _this.setup.chart.addClassNames = true;
3136 _this.setup.chart[ _this.name ] = _this;
3138 _this.init();
3145 _this.config = config;
3148 } else if ( _this.setup.chart[ _this.name ] ) {
3149 _this.config = _this.setup.chart[ _this.name ];
3152 } else if ( _this.setup.chart.amExport || _this.setup.chart.exportConfig ) {
3153_this.config = _this.migrateSetup( _this.setup.chart.amExport || _this.setup.chart.exportConfig );
3161 _this.construct();
3164 return _this.deepMerge( this, _this );