var Discrete = React.createClass({ getInitialState: function () { return { tracking: undefined }; }, componentDidMount: function () { var self = this; nutella.net.subscribe("location/tracking/discrete/updated", function(message) { var tracking = message["tracking"]; if(_.isEmpty(tracking)) { tracking = undefined; } self.setState({tracking: tracking}); }); nutella.net.request("location/tracking/discrete", {}, function(reply) { var tracking = reply["tracking"]; if(_.isEmpty(tracking)){ tracking = undefined; } self.setState({tracking: tracking}); }); }, handleEnable: function () { var tracking = { x: 0, y: 0, width: this.props.room.x, height: this.props.room.y, n_x: 5, n_y: 5, t_x: 'NUMBER', t_y: 'NUMBER' }; nutella.net.publish("location/tracking/discrete/update", {tracking: tracking}); self.setState({tracking: tracking}); }, handleDisable: function () { self.setState({tracking: undefined}); nutella.net.publish("location/tracking/discrete/update", {tracking: {}}); }, handleKeyPress: function (event) { if(event.which == 13) { event.target.textContent = event.target.textContent.trim(); event.target.blur(); } }, handleModifyAttribute: function (name, key, value) { var tracking = this.state.tracking; switch(key) { case "n_x": case "n_y": tracking[key] = parseInt(value); break; case "width": case "height": case "x": case "y": tracking[key] = parseFloat(value); break; } nutella.net.publish("location/tracking/discrete/update", {tracking: tracking}); this.setState({tracking: tracking}); }, handleTypeChange: function (axis_type, type) { var tracking = this.state.tracking; tracking[axis_type] = type; nutella.net.publish("location/tracking/discrete/update", {tracking: tracking}); this.setState({tracking: tracking}); }, render: function () { var self = this; if(self.state.tracking == undefined) { return(
); } else { var t_x = ""; var t_y = ""; switch(self.state.tracking.t_x) { case 'NUMBER': t_x = NUMBER; break; case 'LETTER': t_x = LETTER; break; } switch(self.state.tracking.t_y) { case 'NUMBER': t_y = NUMBER; break; case 'LETTER': t_y = LETTER; break; } return( ); } } });