@oddle.me/react-calendar-timeline 0.29.0-rc3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/LICENSE.md +8 -0
  2. package/README.md +1298 -0
  3. package/lib/Timeline.css +107 -0
  4. package/lib/index.js +77 -0
  5. package/lib/lib/Timeline.js +929 -0
  6. package/lib/lib/columns/Columns.js +137 -0
  7. package/lib/lib/default-config.js +73 -0
  8. package/lib/lib/headers/CustomDateHeader.js +48 -0
  9. package/lib/lib/headers/CustomHeader.js +276 -0
  10. package/lib/lib/headers/DateHeader.js +206 -0
  11. package/lib/lib/headers/HeadersContext.js +94 -0
  12. package/lib/lib/headers/Interval.js +131 -0
  13. package/lib/lib/headers/SidebarHeader.js +130 -0
  14. package/lib/lib/headers/TimelineHeaders.js +180 -0
  15. package/lib/lib/headers/constants.js +10 -0
  16. package/lib/lib/interaction/PreventClickOnDrag.js +99 -0
  17. package/lib/lib/items/Item.js +627 -0
  18. package/lib/lib/items/Items.js +178 -0
  19. package/lib/lib/items/defaultItemRenderer.js +40 -0
  20. package/lib/lib/items/styles.js +65 -0
  21. package/lib/lib/layout/Sidebar.js +120 -0
  22. package/lib/lib/markers/MarkerCanvas.js +159 -0
  23. package/lib/lib/markers/MarkerCanvasContext.js +28 -0
  24. package/lib/lib/markers/TimelineMarkersContext.js +157 -0
  25. package/lib/lib/markers/TimelineMarkersRenderer.js +69 -0
  26. package/lib/lib/markers/implementations/CursorMarker.js +137 -0
  27. package/lib/lib/markers/implementations/CustomMarker.js +79 -0
  28. package/lib/lib/markers/implementations/TodayMarker.js +123 -0
  29. package/lib/lib/markers/implementations/shared.js +51 -0
  30. package/lib/lib/markers/markerType.js +12 -0
  31. package/lib/lib/markers/public/CursorMarker.js +97 -0
  32. package/lib/lib/markers/public/CustomMarker.js +116 -0
  33. package/lib/lib/markers/public/TimelineMarkers.js +27 -0
  34. package/lib/lib/markers/public/TodayMarker.js +121 -0
  35. package/lib/lib/row/GroupRow.js +94 -0
  36. package/lib/lib/row/GroupRows.js +117 -0
  37. package/lib/lib/scroll/ScrollElement.js +289 -0
  38. package/lib/lib/timeline/TimelineStateContext.js +155 -0
  39. package/lib/lib/utility/calendar.js +672 -0
  40. package/lib/lib/utility/dom-helpers.js +62 -0
  41. package/lib/lib/utility/events.js +23 -0
  42. package/lib/lib/utility/generic.js +44 -0
  43. package/lib/resize-detector/container.js +36 -0
  44. package/lib/resize-detector/window.js +25 -0
  45. package/package.json +160 -0
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+
12
+ var _HeadersContext = require("./HeadersContext");
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _SidebarHeader = _interopRequireDefault(require("./SidebarHeader"));
17
+
18
+ var _constants = require("./constants");
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
23
+
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { if (i % 2) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } else { Object.defineProperties(target, Object.getOwnPropertyDescriptors(arguments[i])); } } return target; }
25
+
26
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
27
+
28
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
29
+
30
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
31
+
32
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
33
+
34
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
35
+
36
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
37
+
38
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
39
+
40
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
41
+
42
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
43
+
44
+ var TimelineHeaders =
45
+ /*#__PURE__*/
46
+ function (_React$Component) {
47
+ _inherits(TimelineHeaders, _React$Component);
48
+
49
+ function TimelineHeaders(props) {
50
+ var _this;
51
+
52
+ _classCallCheck(this, TimelineHeaders);
53
+
54
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(TimelineHeaders).call(this, props));
55
+
56
+ _defineProperty(_assertThisInitialized(_this), "getRootStyle", function () {
57
+ return _objectSpread({}, _this.props.style, {
58
+ display: 'flex',
59
+ width: '100%'
60
+ });
61
+ });
62
+
63
+ _defineProperty(_assertThisInitialized(_this), "getCalendarHeaderStyle", function () {
64
+ var _this$props = _this.props,
65
+ leftSidebarWidth = _this$props.leftSidebarWidth,
66
+ rightSidebarWidth = _this$props.rightSidebarWidth,
67
+ calendarHeaderStyle = _this$props.calendarHeaderStyle;
68
+ return _objectSpread({}, calendarHeaderStyle, {
69
+ overflow: 'hidden',
70
+ width: "calc(100% - ".concat(leftSidebarWidth + rightSidebarWidth, "px)")
71
+ });
72
+ });
73
+
74
+ _defineProperty(_assertThisInitialized(_this), "handleRootRef", function (element) {
75
+ if (_this.props.headerRef) {
76
+ _this.props.headerRef(element);
77
+ }
78
+ });
79
+
80
+ _defineProperty(_assertThisInitialized(_this), "isSidebarHeader", function (child) {
81
+ if (child.type === undefined) return false;
82
+ return child.type.secretKey === _SidebarHeader["default"].secretKey;
83
+ });
84
+
85
+ return _this;
86
+ }
87
+
88
+ _createClass(TimelineHeaders, [{
89
+ key: "render",
90
+ value: function render() {
91
+ var _this2 = this;
92
+
93
+ var rightSidebarHeader;
94
+ var leftSidebarHeader;
95
+ var calendarHeaders = [];
96
+ var children = Array.isArray(this.props.children) ? this.props.children.filter(function (c) {
97
+ return c;
98
+ }) : [this.props.children];
99
+
100
+ _react["default"].Children.map(children, function (child) {
101
+ if (_this2.isSidebarHeader(child)) {
102
+ if (child.props.variant === _constants.RIGHT_VARIANT) {
103
+ rightSidebarHeader = child;
104
+ } else {
105
+ leftSidebarHeader = child;
106
+ }
107
+ } else {
108
+ calendarHeaders.push(child);
109
+ }
110
+ });
111
+
112
+ if (!leftSidebarHeader) {
113
+ leftSidebarHeader = _react["default"].createElement(_SidebarHeader["default"], null);
114
+ }
115
+
116
+ if (!rightSidebarHeader && this.props.rightSidebarWidth) {
117
+ rightSidebarHeader = _react["default"].createElement(_SidebarHeader["default"], {
118
+ variant: "right"
119
+ });
120
+ }
121
+
122
+ return _react["default"].createElement("div", {
123
+ ref: this.handleRootRef,
124
+ style: this.getRootStyle(),
125
+ className: (0, _classnames["default"])('rct-header-root', this.props.className)
126
+ }, leftSidebarHeader, _react["default"].createElement("div", {
127
+ ref: this.props.registerScroll,
128
+ style: this.getCalendarHeaderStyle(),
129
+ className: (0, _classnames["default"])('rct-calendar-header', this.props.calendarHeaderClassName)
130
+ }, calendarHeaders), rightSidebarHeader);
131
+ }
132
+ }]);
133
+
134
+ return TimelineHeaders;
135
+ }(_react["default"].Component);
136
+
137
+ _defineProperty(TimelineHeaders, "propTypes", {
138
+ registerScroll: _propTypes["default"].func.isRequired,
139
+ leftSidebarWidth: _propTypes["default"].number.isRequired,
140
+ rightSidebarWidth: _propTypes["default"].number.isRequired,
141
+ style: _propTypes["default"].object,
142
+ children: _propTypes["default"].node,
143
+ className: _propTypes["default"].string,
144
+ calendarHeaderStyle: _propTypes["default"].object,
145
+ calendarHeaderClassName: _propTypes["default"].string,
146
+ headerRef: _propTypes["default"].func
147
+ });
148
+
149
+ var TimelineHeadersWrapper = function TimelineHeadersWrapper(_ref) {
150
+ var children = _ref.children,
151
+ style = _ref.style,
152
+ className = _ref.className,
153
+ calendarHeaderStyle = _ref.calendarHeaderStyle,
154
+ calendarHeaderClassName = _ref.calendarHeaderClassName;
155
+ return _react["default"].createElement(_HeadersContext.TimelineHeadersConsumer, null, function (_ref2) {
156
+ var leftSidebarWidth = _ref2.leftSidebarWidth,
157
+ rightSidebarWidth = _ref2.rightSidebarWidth,
158
+ registerScroll = _ref2.registerScroll;
159
+ return _react["default"].createElement(TimelineHeaders, {
160
+ leftSidebarWidth: leftSidebarWidth,
161
+ rightSidebarWidth: rightSidebarWidth,
162
+ registerScroll: registerScroll,
163
+ style: style,
164
+ className: className,
165
+ calendarHeaderStyle: calendarHeaderStyle,
166
+ calendarHeaderClassName: calendarHeaderClassName
167
+ }, children);
168
+ });
169
+ };
170
+
171
+ TimelineHeadersWrapper.propTypes = {
172
+ style: _propTypes["default"].object,
173
+ children: _propTypes["default"].node,
174
+ className: _propTypes["default"].string,
175
+ calendarHeaderStyle: _propTypes["default"].object,
176
+ calendarHeaderClassName: _propTypes["default"].string
177
+ };
178
+ TimelineHeadersWrapper.secretKey = 'TimelineHeaders';
179
+ var _default = TimelineHeadersWrapper;
180
+ exports["default"] = _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RIGHT_VARIANT = exports.LEFT_VARIANT = void 0;
7
+ var LEFT_VARIANT = 'left';
8
+ exports.LEFT_VARIANT = LEFT_VARIANT;
9
+ var RIGHT_VARIANT = 'right';
10
+ exports.RIGHT_VARIANT = RIGHT_VARIANT;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
15
+
16
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
17
+
18
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19
+
20
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
21
+
22
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
23
+
24
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
25
+
26
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
27
+
28
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
29
+
30
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
31
+
32
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
33
+
34
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
35
+
36
+ var PreventClickOnDrag =
37
+ /*#__PURE__*/
38
+ function (_Component) {
39
+ _inherits(PreventClickOnDrag, _Component);
40
+
41
+ function PreventClickOnDrag() {
42
+ var _getPrototypeOf2;
43
+
44
+ var _this;
45
+
46
+ _classCallCheck(this, PreventClickOnDrag);
47
+
48
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
49
+ args[_key] = arguments[_key];
50
+ }
51
+
52
+ _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(PreventClickOnDrag)).call.apply(_getPrototypeOf2, [this].concat(args)));
53
+
54
+ _defineProperty(_assertThisInitialized(_this), "handleMouseDown", function (evt) {
55
+ _this.originClickX = evt.clientX;
56
+ });
57
+
58
+ _defineProperty(_assertThisInitialized(_this), "handleMouseUp", function (evt) {
59
+ if (Math.abs(_this.originClickX - evt.clientX) > _this.props.clickTolerance) {
60
+ _this.cancelClick = true;
61
+ }
62
+ });
63
+
64
+ _defineProperty(_assertThisInitialized(_this), "handleClick", function (evt) {
65
+ if (!_this.cancelClick) {
66
+ _this.props.onClick(evt);
67
+ }
68
+
69
+ _this.cancelClick = false;
70
+ _this.originClickX = null;
71
+ });
72
+
73
+ return _this;
74
+ }
75
+
76
+ _createClass(PreventClickOnDrag, [{
77
+ key: "render",
78
+ value: function render() {
79
+ var childElement = _react["default"].Children.only(this.props.children);
80
+
81
+ return _react["default"].cloneElement(childElement, {
82
+ onMouseDown: this.handleMouseDown,
83
+ onMouseUp: this.handleMouseUp,
84
+ onClick: this.handleClick
85
+ });
86
+ }
87
+ }]);
88
+
89
+ return PreventClickOnDrag;
90
+ }(_react.Component);
91
+
92
+ _defineProperty(PreventClickOnDrag, "propTypes", {
93
+ children: _propTypes["default"].element.isRequired,
94
+ onClick: _propTypes["default"].func.isRequired,
95
+ clickTolerance: _propTypes["default"].number.isRequired
96
+ });
97
+
98
+ var _default = PreventClickOnDrag;
99
+ exports["default"] = _default;