fabric.js/demos/events/index.html

86 lines
3.2 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Event inspector — Fabric.js demos</title>
<script src="../../dist/all.js"></script>
<style>
.canvas-container { border: 1px solid #ccc; display: inline-block; vertical-align: top; }
h2 span { font-weight: normal; }
pre { background: #eef; display: inline-block; padding-right: 15px; margin-left: 15px }
p { margin-top: 3px; margin-bottom: 3px; }
#log1, #log2 { display: inline-block; width: 200px; height: 500px; overflow-y: auto; font-family: monospace; font-size: 11px; }
</style>
<link rel="stylesheet" href="../../lib/master.css" type="text/css">
</head>
<body>
<ul id="header">
<li><a href="../index.html">Demos</a></li>
<li><a href="../../benchmarks/index.html">Benchmarks</a></li>
<li><a href="../../docs/index.html">Docs</a></li>
<li><a href="../../test/unit/suite_runner.html">Tests</a></li>
</ul>
<div id="bd-wrapper">
<h2><span>Fabric.js demos</span> &middot; Event inspector</h2>
<canvas id="c1" width="200" height="200"></canvas>
<canvas id="c2" width="200" height="200"></canvas>
<div id="observing-events-log" style="position:absolute;top:110px;left:450px;">
<strong style="margin-bottom:10px;display:block">Observing these events:</strong>
</div>
<div>
<div id="log1">&nbsp;</div>
<div id="log2">&nbsp;</div>
</div>
<script id="main">
var canvas1 = new fabric.Canvas('c1');
canvas1.add(new fabric.Rect({ width: 50, height: 50, fill: 'red', top: 100, left: 100 }));
canvas1.add(new fabric.Rect({ width: 30, height: 30, fill: 'green', top: 50, left: 50 }));
var canvas2 = new fabric.Canvas('c2');
canvas2.add(new fabric.Rect({ width: 50, height: 50, fill: 'red', top: 100, left: 100 }));
canvas2.add(new fabric.Rect({ width: 30, height: 30, fill: 'green', top: 50, left: 50 }));
var log1 = document.getElementById('log1');
var log2 = document.getElementById('log2');
function log(message, where) {
var el = document.createElement('p');
el.appendChild(document.createTextNode(message));
var containerEl = (where === 1 ? log1 : log2);
containerEl.insertBefore(el, containerEl.firstChild);
}
function logObservingEvent(eventName) {
var el = document.getElementById('observing-events-log');
var para = document.createElement('p');
para.appendChild(document.createTextNode(eventName));
el.appendChild(para);
}
function observe(eventName) {
logObservingEvent(eventName);
canvas1.observe(eventName, function(){ log(eventName, 1) });
canvas2.observe(eventName, function(){ log(eventName, 2) });
}
observe('object:modified');
observe('object:moving');
observe('object:selected');
observe('before:selection:cleared');
observe('selection:cleared');
observe('selection:created');
// observe('after:render');
observe('mouse:up');
observe('mouse:down');
</script>
</div>
</body>
</html>