Git Product home page Git Product logo

Comments (4)

EtienneLem avatar EtienneLem commented on June 12, 2024

Make sure your Layer has both a width and a height and is “visible”. To be sure, give it a temporary backgroundColor: 'hotpink'. If you cannot see it, that’d explain why the event isn’t triggered.

from react-canvas.

jide avatar jide commented on June 12, 2024

Yes the Layer is visible and has width / height. I'll come back with a test sample here.

from react-canvas.

jide avatar jide commented on June 12, 2024

Nailed it. It is because the Group component has a translateY prop set. It makes the children actually move, but not their hit zone it seems.

By the way, is there a reason for Group not supporting top / left ?

Here is a sample :

var React = require('react/addons');
var ReactCanvas = require('react-canvas');

var Surface = ReactCanvas.Surface;
var Layer = ReactCanvas.Layer;
var Image = ReactCanvas.Image;
var Group = ReactCanvas.Group;

var App = React.createClass({

  handleClick: function(event) {
    console.log(event);
  },

  render: function () {
    var surfaceWidth = window.innerWidth;
    var surfaceHeight = window.innerHeight;

    var groupStyle = {
      translateY: 100,
    };

    var layerStyle = {
      width: 100,
      height: 100,
      top: 0,
      left: 0,
      backgroundColor: '#ff0000'
    };

    return (
      <Surface width={surfaceWidth} height={surfaceHeight} left={0} top={0}>
        <Group style={ groupStyle }>
          <Layer onClick={ this.handleClick } style={ layerStyle } />
        </Group>
      </Surface>
    );
  }

});

React.render(<App />, document.getElementById('app'));

from react-canvas.

mjohnston avatar mjohnston commented on June 12, 2024

Group should support top/left values. Child values for top/left are not relative to the parent though (e.g. position: relative inside position: absolute). Everything is essentially absolutely positioned.

That being said, hit testing should account for ancestor translations. Your example looks good so this seems like a bug, will have a look.

from react-canvas.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.