Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script>
- var width = window.innerWidth;
- var height = window.innerHeight;
- var stage = new Konva.Stage({
- container: 'container',
- width: width,
- height: height
- });
- var layer = new Konva.Layer();
- stage.add(layer);
- var itemURL = '';
- document
- .getElementById('drag-items')
- .addEventListener('dragstart', function(e) {
- itemURL = e.target.src;
- });
- var con = stage.container();
- con.addEventListener('dragover', function(e) {
- e.preventDefault();
- });
- var images = [];
- con.addEventListener('drop', function(e) {
- e.preventDefault();
- stage.setPointersPositions(e);
- Konva.Image.fromURL(itemURL, function(image) {
- layer.add(image);
- image.position(stage.getPointerPosition());
- image.draggable(true);
- layer.draw();
- images.push(image);
- });
- });
- stage.on('click tap', function(e) {
- // console.log(images);
- if (images.includes(e.target)) {
- // destroy the others
- stage.find('Transformer').destroy();
- // create new transformer
- var tr = new Konva.Transformer();
- layer.add(tr);
- tr.attachTo(e.target);
- layer.draw();
- return;
- }
- // if click on empty area - remove all transformers
- if (e.target === stage) {
- stage.find('Transformer').destroy();
- layer.draw();
- return;
- }
- // remove old transformers
- // TODO: we can skip it if current rect is already selected
- stage.find('Transformer').destroy();
- });
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement