MCPcopy Index your code
hub / github.com/apache/echarts / initRecordCanvas

Function initRecordCanvas

test/lib/testHelper.js:1588–1644  ·  view source on GitHub ↗
(opt, chart, recordCanvasContainer)

Source from the content-addressed store, hash-verified

1586 } // End of initInputs
1587
1588 function initRecordCanvas(opt, chart, recordCanvasContainer) {
1589 if (!opt.recordCanvas) {
1590 return;
1591 }
1592 recordCanvasContainer.innerHTML = ''
1593 + '<button>Show Canvas Record</button>'
1594 + '<button>Clear Canvas Record</button>'
1595 + '<div class="content-area"><textarea></textarea><br><button>Close</button></div>';
1596 var buttons = recordCanvasContainer.getElementsByTagName('button');
1597 var canvasRecordButton = buttons[0];
1598 var clearButton = buttons[1];
1599 var closeButton = buttons[2];
1600 var recordArea = recordCanvasContainer.getElementsByTagName('textarea')[0];
1601 var contentAraa = recordArea.parentNode;
1602 canvasRecordButton.addEventListener('click', function () {
1603 var content = [];
1604 eachCtx(function (zlevel, ctx) {
1605 content.push('\nLayer zlevel: ' + zlevel, '\n\n');
1606 if (typeof ctx.stack !== 'function') {
1607 alert('Missing: <script src="test/lib/canteen.js"></script>');
1608 return;
1609 }
1610 var stack = ctx.stack();
1611 for (var i = 0; i < stack.length; i++) {
1612 var line = stack[i];
1613 content.push(JSON.stringify(line), ',\n');
1614 }
1615 });
1616 contentAraa.style.display = 'block';
1617 recordArea.value = content.join('');
1618 });
1619 clearButton.addEventListener('click', function () {
1620 eachCtx(function (zlevel, ctx) {
1621 ctx.clear();
1622 });
1623 recordArea.value = 'Cleared.';
1624 });
1625 closeButton.addEventListener('click', function () {
1626 contentAraa.style.display = 'none';
1627 });
1628
1629 function eachCtx(cb) {
1630 var painter = chart.getZr().painter;
1631 if (painter.type !== 'canvas') {
1632 return;
1633 }
1634 var layers = painter.getLayers();
1635 for (var zlevel in layers) {
1636 if (layers.hasOwnProperty(zlevel)) {
1637 var layer = layers[zlevel];
1638 var canvas = layer.dom;
1639 var ctx = canvas.getContext('2d');
1640 cb(zlevel, ctx);
1641 }
1642 }
1643 }
1644 }
1645

Callers 1

testHelper.jsFile · 0.85

Calls 3

eachCtxFunction · 0.85
addEventListenerMethod · 0.80
clearMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…