react-planner-viewer
Version:
react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode
39 lines (33 loc) • 3.98 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
import { List } from 'immutable';
export default function GuideHorizontalStreak(_ref) {
var width = _ref.width,
height = _ref.height,
guide = _ref.guide;
var step = guide.properties.get('step');
var colors = void 0;
if (guide.properties.has('color')) {
colors = new List([guide.properties.get('color')]);
} else {
colors = guide.properties.get('colors');
}
var rendered = [];
var i = 0;
for (var y = 0; y <= height; y += step) {
var color = colors.get(i % colors.size);
i++;
rendered.push(React.createElement('line', { key: y, x1: '0', y1: y, x2: width, y2: y, strokeWidth: '1', stroke: color }));
}
return React.createElement(
'g',
null,
rendered
);
}
GuideHorizontalStreak.propTypes = {
width: PropTypes.number.isRequired,
height: PropTypes.number.isRequired,
guide: PropTypes.object.isRequired
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdlcjJkL2d1aWRlcy9ndWlkZS1ob3Jpem9udGFsLXN0cmVhay5qc3giXSwibmFtZXMiOlsiUmVhY3QiLCJQcm9wVHlwZXMiLCJMaXN0IiwiR3VpZGVIb3Jpem9udGFsU3RyZWFrIiwid2lkdGgiLCJoZWlnaHQiLCJndWlkZSIsInN0ZXAiLCJwcm9wZXJ0aWVzIiwiZ2V0IiwiY29sb3JzIiwiaGFzIiwicmVuZGVyZWQiLCJpIiwieSIsImNvbG9yIiwic2l6ZSIsInB1c2giLCJwcm9wVHlwZXMiLCJudW1iZXIiLCJpc1JlcXVpcmVkIiwib2JqZWN0Il0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFQLE1BQWtCLE9BQWxCO0FBQ0EsT0FBT0MsU0FBUCxNQUFzQixZQUF0QjtBQUNBLFNBQVFDLElBQVIsUUFBbUIsV0FBbkI7O0FBRUEsZUFBZSxTQUFTQyxxQkFBVCxPQUF1RDtBQUFBLE1BQXZCQyxLQUF1QixRQUF2QkEsS0FBdUI7QUFBQSxNQUFoQkMsTUFBZ0IsUUFBaEJBLE1BQWdCO0FBQUEsTUFBUkMsS0FBUSxRQUFSQSxLQUFROztBQUNwRSxNQUFJQyxPQUFPRCxNQUFNRSxVQUFOLENBQWlCQyxHQUFqQixDQUFxQixNQUFyQixDQUFYO0FBQ0EsTUFBSUMsZUFBSjs7QUFFQSxNQUFJSixNQUFNRSxVQUFOLENBQWlCRyxHQUFqQixDQUFxQixPQUFyQixDQUFKLEVBQW1DO0FBQ2pDRCxhQUFTLElBQUlSLElBQUosQ0FBUyxDQUFDSSxNQUFNRSxVQUFOLENBQWlCQyxHQUFqQixDQUFxQixPQUFyQixDQUFELENBQVQsQ0FBVDtBQUNELEdBRkQsTUFFTztBQUNMQyxhQUFTSixNQUFNRSxVQUFOLENBQWlCQyxHQUFqQixDQUFxQixRQUFyQixDQUFUO0FBQ0Q7O0FBRUQsTUFBSUcsV0FBVyxFQUFmO0FBQ0EsTUFBSUMsSUFBSSxDQUFSO0FBQ0EsT0FBSyxJQUFJQyxJQUFJLENBQWIsRUFBZ0JBLEtBQUtULE1BQXJCLEVBQTZCUyxLQUFLUCxJQUFsQyxFQUF3QztBQUN0QyxRQUFJUSxRQUFRTCxPQUFPRCxHQUFQLENBQVdJLElBQUlILE9BQU9NLElBQXRCLENBQVo7QUFDQUg7QUFDQUQsYUFBU0ssSUFBVCxDQUFjLDhCQUFNLEtBQUtILENBQVgsRUFBYyxJQUFHLEdBQWpCLEVBQXFCLElBQUlBLENBQXpCLEVBQTRCLElBQUlWLEtBQWhDLEVBQXVDLElBQUlVLENBQTNDLEVBQThDLGFBQVksR0FBMUQsRUFBOEQsUUFBUUMsS0FBdEUsR0FBZDtBQUNEOztBQUVELFNBQVE7QUFBQTtBQUFBO0FBQUlIO0FBQUosR0FBUjtBQUNEOztBQUVEVCxzQkFBc0JlLFNBQXRCLEdBQWtDO0FBQ2hDZCxTQUFPSCxVQUFVa0IsTUFBVixDQUFpQkMsVUFEUTtBQUVoQ2YsVUFBUUosVUFBVWtCLE1BQVYsQ0FBaUJDLFVBRk87QUFHaENkLFNBQU9MLFVBQVVvQixNQUFWLENBQWlCRDtBQUhRLENBQWxDIiwiZmlsZSI6Imd1aWRlLWhvcml6b250YWwtc3RyZWFrLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQge0xpc3R9IGZyb20gJ2ltbXV0YWJsZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEd1aWRlSG9yaXpvbnRhbFN0cmVhayh7d2lkdGgsIGhlaWdodCwgZ3VpZGV9KSB7XG4gIGxldCBzdGVwID0gZ3VpZGUucHJvcGVydGllcy5nZXQoJ3N0ZXAnKTtcbiAgbGV0IGNvbG9ycztcblxuICBpZiAoZ3VpZGUucHJvcGVydGllcy5oYXMoJ2NvbG9yJykpIHtcbiAgICBjb2xvcnMgPSBuZXcgTGlzdChbZ3VpZGUucHJvcGVydGllcy5nZXQoJ2NvbG9yJyldKTtcbiAgfSBlbHNlIHtcbiAgICBjb2xvcnMgPSBndWlkZS5wcm9wZXJ0aWVzLmdldCgnY29sb3JzJyk7XG4gIH1cblxuICBsZXQgcmVuZGVyZWQgPSBbXTtcbiAgbGV0IGkgPSAwO1xuICBmb3IgKGxldCB5ID0gMDsgeSA8PSBoZWlnaHQ7IHkgKz0gc3RlcCkge1xuICAgIGxldCBjb2xvciA9IGNvbG9ycy5nZXQoaSAlIGNvbG9ycy5zaXplKTtcbiAgICBpKys7XG4gICAgcmVuZGVyZWQucHVzaCg8bGluZSBrZXk9e3l9IHgxPVwiMFwiIHkxPXt5fSB4Mj17d2lkdGh9IHkyPXt5fSBzdHJva2VXaWR0aD1cIjFcIiBzdHJva2U9e2NvbG9yfS8+KTtcbiAgfVxuXG4gIHJldHVybiAoPGc+e3JlbmRlcmVkfTwvZz4pO1xufVxuXG5HdWlkZUhvcml6b250YWxTdHJlYWsucHJvcFR5cGVzID0ge1xuICB3aWR0aDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgZ3VpZGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZFxufTtcbiJdfQ==