Skip to content
This repository was archived by the owner on Oct 20, 2020. It is now read-only.
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions lib/components/Elements/Segment.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"use strict";
81 changes: 81 additions & 0 deletions lib/components/Elements/Segmented.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
'use strict';

Object.defineProperty(exports, "__esModule", {
value: true
});

var _react = require('react');

var _react2 = _interopRequireDefault(_react);

var _formatDate = require('../../utils/formatDate');

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

// eslint-disable-next-line no-unused-vars
var Segmented = function Segmented(_ref) {
var title = _ref.title,
start = _ref.start,
end = _ref.end,
style = _ref.style,
tooltip = _ref.tooltip;
return _react2.default.createElement(
'div',
{ className: 'element', style: style },
_react2.default.createElement(
'div',
{ className: 'element__content', 'aria-hidden': 'true' },
'Segmented'
),
_react2.default.createElement(
'div',
{ className: 'element__tooltip' },
tooltip ? _react2.default.createElement(
'div',
null,
tooltip
) : _react2.default.createElement(
'div',
null,
_react2.default.createElement(
'div',
null,
'Segmented'
),
_react2.default.createElement(
'div',
null,
_react2.default.createElement(
'strong',
null,
'Start'
),
' ',
(0, _formatDate.getDayMonth)(start)
),
_react2.default.createElement(
'div',
null,
_react2.default.createElement(
'strong',
null,
'End'
),
' ',
(0, _formatDate.getDayMonth)(end)
)
)
)
);
};

Segmented.propTypes = {
title: _react.PropTypes.string,
start: _react.PropTypes.instanceOf(Date),
end: _react.PropTypes.instanceOf(Date),
style: _react.PropTypes.shape({}),
tooltip: _react.PropTypes.string
};

exports.default = Segmented;
module.exports = exports['default'];
21 changes: 21 additions & 0 deletions lib/components/Elements/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
'use strict';

Object.defineProperty(exports, "__esModule", {
value: true
});

var _Basic = require('./Basic');

var _Basic2 = _interopRequireDefault(_Basic);

var _Segmented = require('./Segmented');

var _Segmented2 = _interopRequireDefault(_Segmented);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

exports.default = {
Basic: _Basic2.default,
Segmented: _Segmented2.default
};
module.exports = exports['default'];
19 changes: 12 additions & 7 deletions lib/components/Timeline/Tracks/Element.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,32 @@ var _react = require('react');

var _react2 = _interopRequireDefault(_react);

var _Basic = require('../../Elements/Basic');
var _Elements = require('../../Elements');

var _Basic2 = _interopRequireDefault(_Basic);
var _Elements2 = _interopRequireDefault(_Elements);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var Element = function Element(_ref) {
var time = _ref.time,
var TrackElement = function TrackElement(_ref) {
var _ref$type = _ref.type,
type = _ref$type === undefined ? 'Basic' : _ref$type,
time = _ref.time,
style = _ref.style,
id = _ref.id,
title = _ref.title,
start = _ref.start,
end = _ref.end,
tooltip = _ref.tooltip;

var Element = _Elements2.default[type];
return _react2.default.createElement(
'div',
{
key: id,
className: 'track__element',
style: time.toStyleLeftAndWidth(start, end)
},
_react2.default.createElement(_Basic2.default, {
_react2.default.createElement(Element, {
tooltip: tooltip,
title: title,
start: start,
Expand All @@ -43,7 +47,8 @@ var Element = function Element(_ref) {
);
};

Element.propTypes = {
TrackElement.propTypes = {
type: _react.PropTypes.string,
time: _react.PropTypes.shape({}).isRequired,
style: _react.PropTypes.shape({}),
id: _react.PropTypes.string.isRequired,
Expand All @@ -53,5 +58,5 @@ Element.propTypes = {
tooltip: _react.PropTypes.string
};

exports.default = Element;
exports.default = TrackElement;
module.exports = exports['default'];
34 changes: 34 additions & 0 deletions src/components/Elements/Segmented.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import React, { PropTypes } from 'react'

import { getDayMonth } from '../../utils/formatDate'

// eslint-disable-next-line no-unused-vars
const Segmented = ({ title, start, end, style, tooltip }) =>
<div className="element" style={style}>
<div className="element__content" aria-hidden="true">
Segmented
</div>
<div className="element__tooltip">
{
tooltip
? <div>{tooltip}</div>
: (
<div>
<div>Segmented</div>
<div><strong>Start</strong> {getDayMonth(start)}</div>
<div><strong>End</strong> {getDayMonth(end)}</div>
</div>
)
}
</div>
</div>

Segmented.propTypes = {
title: PropTypes.string,
start: PropTypes.instanceOf(Date),
end: PropTypes.instanceOf(Date),
style: PropTypes.shape({}),
tooltip: PropTypes.string
}

export default Segmented
7 changes: 7 additions & 0 deletions src/components/Elements/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import Basic from './Basic'
import Segmented from './Segmented'

export default {
Basic,
Segmented
}
41 changes: 24 additions & 17 deletions src/components/Timeline/Tracks/Element.jsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,29 @@
import React, { PropTypes } from 'react'
import BasicElement from '../../Elements/Basic'
import elements from '../../Elements'

const Element = ({ time, style, id, title, start, end, tooltip }) =>
<div
key={id}
className="track__element"
style={time.toStyleLeftAndWidth(start, end)}
>
<BasicElement
tooltip={tooltip}
title={title}
start={start}
end={end}
style={{ ...style }}
/>
</div>
const TrackElement = ({ type = 'Basic', time, style, id, title, start, end, tooltip }) => {
const Element = elements[type]
return (
<div
key={id}
className="track__element"
style={time.toStyleLeftAndWidth(start, end)}
>
{
<Element
tooltip={tooltip}
title={title}
start={start}
end={end}
style={{ ...style }}
/>
}
</div>
)
}

Element.propTypes = {
TrackElement.propTypes = {
type: PropTypes.string,
time: PropTypes.shape({}).isRequired,
style: PropTypes.shape({}),
id: PropTypes.string.isRequired,
Expand All @@ -26,4 +33,4 @@ Element.propTypes = {
tooltip: PropTypes.string
}

export default Element
export default TrackElement