@@ -857,7 +857,9 @@ return /******/ (function(modules) { // webpackBootstrap
857
857
},
858
858
_react2["default"].createElement(
859
859
"ul",
860
- { className: "list-unstyled" },
860
+ {
861
+ styleName: "widget-content",
862
+ className: "widget-content list-unstyled" },
861
863
_react2["default"].createElement(_componentsModeSwitcherModeSwitcherJs2["default"], { onSwitch: this.props.togglePicker, showTimePicker: this.props.showTimePicker }),
862
864
this.renderDatePicker(),
863
865
this.renderTimePicker()
@@ -3684,10 +3686,10 @@ return /******/ (function(modules) { // webpackBootstrap
3684
3686
3685
3687
var _cssDatepickerCss2 = _interopRequireDefault(_cssDatepickerCss);
3686
3688
3687
- var DatePicker = (function (_Component) {
3688
- _inherits(DatePicker , _Component);
3689
+ var DatesPicker = (function (_Component) {
3690
+ _inherits(DatesPicker , _Component);
3689
3691
3690
- _createClass(DatePicker , null, [{
3692
+ _createClass(DatesPicker , null, [{
3691
3693
key: "propTypes",
3692
3694
value: {
3693
3695
subtractMonth: _react.PropTypes.func.isRequired,
@@ -3710,12 +3712,12 @@ return /******/ (function(modules) { // webpackBootstrap
3710
3712
enumerable: true
3711
3713
}]);
3712
3714
3713
- function DatePicker (props) {
3715
+ function DatesPicker (props) {
3714
3716
var _this = this;
3715
3717
3716
- _classCallCheck(this, _DatePicker );
3718
+ _classCallCheck(this, _DatesPicker );
3717
3719
3718
- _get(Object.getPrototypeOf(_DatePicker .prototype), "constructor", this).call(this, props);
3720
+ _get(Object.getPrototypeOf(_DatesPicker .prototype), "constructor", this).call(this, props);
3719
3721
3720
3722
this.showMonths = function () {
3721
3723
return _this.setState({
@@ -3818,7 +3820,7 @@ return /******/ (function(modules) { // webpackBootstrap
3818
3820
this.state = viewModes[viewMode] || viewModes[_Object$keys(viewModes)[viewMode]] || viewModes.days;
3819
3821
}
3820
3822
3821
- _createClass(DatePicker , [{
3823
+ _createClass(DatesPicker , [{
3822
3824
key: "render",
3823
3825
value: function render() {
3824
3826
return _react2["default"].createElement(
@@ -3831,12 +3833,12 @@ return /******/ (function(modules) { // webpackBootstrap
3831
3833
}
3832
3834
}]);
3833
3835
3834
- var _DatePicker = DatePicker ;
3835
- DatePicker = (0, _reactCssModules2["default"])(_cssDatepickerCss2["default"])(DatePicker ) || DatePicker ;
3836
- return DatePicker ;
3836
+ var _DatesPicker = DatesPicker ;
3837
+ DatesPicker = (0, _reactCssModules2["default"])(_cssDatepickerCss2["default"])(DatesPicker ) || DatesPicker ;
3838
+ return DatesPicker ;
3837
3839
})(_react.Component);
3838
3840
3839
- exports["default"] = DatePicker ;
3841
+ exports["default"] = DatesPicker ;
3840
3842
module.exports = exports["default"];
3841
3843
3842
3844
/***/ },
@@ -5265,7 +5267,7 @@ return /******/ (function(modules) { // webpackBootstrap
5265
5267
/***/ function(module, exports) {
5266
5268
5267
5269
// removed by extract-text-webpack-plugin
5268
- module.exports = {"widget":"widget__widget___3fXFu","timepicker-sbs":"widget__timepicker-sbs___2jAbM","bottom":"widget__bottom___-6Tde","top":"widget__top___2yTOa","pull-right":"widget__pull-right___1iZ6B","timepicker-hour":"widget__timepicker-hour___yKTId","timepicker-minute":"widget__timepicker-minute___3pdDA","timepicker-second":"widget__timepicker-second___3euia","separator":"widget__separator___q1q2K","datepicker":"widget__datepicker___38_rc","hour":"widget__hour___3NOXy","minute":"widget__minute___16a-Q","second":"widget__second___2EROI","active":"widget__active___3KVz9","disabled":"widget__disabled___3sPo0","old":"widget__old___38IBP","list-unstyled":"widget__list-unstyled___gwHmb","timepicker":"widget__timepicker___3eGjD","timepicker-picker":"widget__timepicker-picker___3Vueh","table-condensed":"widget__table-condensed___O9OoF","wide":"widget__wide___1L6kX","right-side ":"widget__right-side___-S7eD "};
5270
+ module.exports = {"widget":"widget__widget___3fXFu","widget-content":"widget__widget-content___3payV"," timepicker-sbs":"widget__timepicker-sbs___2jAbM","bottom":"widget__bottom___-6Tde","top":"widget__top___2yTOa","pull-right":"widget__pull-right___1iZ6B","timepicker-hour":"widget__timepicker-hour___yKTId","timepicker-minute":"widget__timepicker-minute___3pdDA","timepicker-second":"widget__timepicker-second___3euia","separator":"widget__separator___q1q2K","datepicker":"widget__datepicker___38_rc","hour":"widget__hour___3NOXy","minute":"widget__minute___16a-Q","second":"widget__second___2EROI","active":"widget__active___3KVz9","disabled":"widget__disabled___3sPo0","old":"widget__old___38IBP","list-unstyled":"widget__list-unstyled___gwHmb","timepicker":"widget__timepicker___3eGjD","timepicker-picker":"widget__timepicker-picker___3Vueh","table-condensed":"widget__table-condensed___O9OoF","wide":"widget__wide___1L6kX","right-panel ":"widget__right-panel___2bKsh "};
5269
5271
5270
5272
/***/ },
5271
5273
/* 124 */
@@ -5306,40 +5308,40 @@ return /******/ (function(modules) { // webpackBootstrap
5306
5308
_classCallCheck(this, StickyWrapper);
5307
5309
5308
5310
_get(Object.getPrototypeOf(StickyWrapper.prototype), 'constructor', this).apply(this, arguments);
5309
-
5310
- this.state = {
5311
- style: {
5312
- background: 'black',
5313
- position: 'absolute'
5314
- }
5315
- };
5316
5311
}
5317
5312
5318
5313
_createClass(StickyWrapper, [{
5319
- key: 'getScrollTop ',
5320
- value: function getScrollTop( ) {
5321
- return window.pageYOffset || (document.documentElement || document.body.parentNode || document.body).scrollTop ;
5314
+ key: 'getPickerWidth ',
5315
+ value: function getPickerWidth(node ) {
5316
+ return _reactDom2['default'].findDOMNode(this).querySelector(this.props.datepickerSelector).clientWidth ;
5322
5317
}
5323
5318
}, {
5324
- key: 'getOffset',
5325
- value: function getOffset(node) {
5326
- var gBCR = _reactDom2['default'].findDOMNode(node).getBoundingClientRect();
5327
- return {
5328
- left: gBCR.left + window.scrollX,
5329
- top: gBCR.top + window.scrollY
5330
- };
5319
+ key: 'getWindowWidth',
5320
+ value: function getWindowWidth() {
5321
+ return document.getElementsByTagName('body')[0].clientWidth;
5331
5322
}
5323
+
5324
+ // Position the element relative to its target
5332
5325
}, {
5333
5326
key: 'componentDidMount',
5334
5327
value: function componentDidMount() {
5335
- var offset = this.getOffset(this.props.target);
5336
- var width = _reactDom2['default'].findDOMNode(this).querySelector(this.props.datepickerSelector).clientWidth;
5337
- this.setState({
5338
- style: (0, _lodash.assign)({}, this.state.style, {
5339
- right: offset.left - width / 2,
5340
- top: 30
5341
- })
5342
- });
5328
+ var style = {
5329
+ position: 'absolute',
5330
+ top: this.props.offset.top || 0
5331
+ };
5332
+ var targetNode = _reactDom2['default'].findDOMNode(this.props.target);
5333
+ var width = this.getPickerWidth();
5334
+ var relativeNodeLeft = targetNode.offsetLeft + targetNode.clientWidth;
5335
+ var windowWidth = this.getWindowWidth();
5336
+ var left = relativeNodeLeft + width / 2 + (this.props.offset.left || 0);
5337
+ // Check if the right side is out of bounds
5338
+ if (targetNode.getBoundingClientRect().right + width > windowWidth) {
5339
+ console.log('whaat');
5340
+ style.right = 0;
5341
+ } else {
5342
+ style.left = left;
5343
+ }
5344
+ this.setState({ style: style });
5343
5345
}
5344
5346
}, {
5345
5347
key: 'render',
@@ -5353,14 +5355,16 @@ return /******/ (function(modules) { // webpackBootstrap
5353
5355
}], [{
5354
5356
key: 'propTypes',
5355
5357
value: {
5356
- target: _react.PropTypes.node.isRequired,
5357
- datepickerSelector: _react.PropTypes.string
5358
+ target: _react.PropTypes.object.isRequired,
5359
+ datepickerSelector: _react.PropTypes.string,
5360
+ offset: _react.PropTypes.object
5358
5361
},
5359
5362
enumerable: true
5360
5363
}, {
5361
5364
key: 'defaultProps',
5362
5365
value: {
5363
- datepickerSelector: '.bootstrap-datetimepicker-widget'
5366
+ datepickerSelector: '.bootstrap-datetimepicker-widget',
5367
+ offset: { top: 30 }
5364
5368
},
5365
5369
enumerable: true
5366
5370
}]);
@@ -18115,7 +18119,7 @@ return /******/ (function(modules) { // webpackBootstrap
18115
18119
18116
18120
return _react2["default"].createElement(
18117
18121
"li",
18118
- { className: "pull-left" },
18122
+ { className: "pull-left left-panel " },
18119
18123
_react2["default"].createElement(_componentsDatepickerJs2["default"], {
18120
18124
addDecade: _this.props.addDecade,
18121
18125
addMonth: _this.props.addMonth,
@@ -18146,11 +18150,13 @@ return /******/ (function(modules) { // webpackBootstrap
18146
18150
{ styleName: "widget wide", className: (0, _classnames2["default"])(this.props.widgetClasses) },
18147
18151
_react2["default"].createElement(
18148
18152
"ul",
18149
- { className: "list-unstyled" },
18153
+ { styleName: "widget-content", className: "widget-content list-unstyled" },
18150
18154
this.renderDatePicker(),
18151
18155
_react2["default"].createElement(
18152
18156
"li",
18153
- { styleName: "right-side" },
18157
+ {
18158
+ className: "right-panel",
18159
+ styleName: "right-panel" },
18154
18160
_react2["default"].createElement(_componentsTimeSidePanelTimeSidePanelJs2["default"], {
18155
18161
selectedDate: this.props.selectedDate,
18156
18162
timesShown: this.props.timesShown,
@@ -18230,6 +18236,10 @@ return /******/ (function(modules) { // webpackBootstrap
18230
18236
18231
18237
var _reactCssModules2 = _interopRequireDefault(_reactCssModules);
18232
18238
18239
+ var _classnames = __webpack_require__(36);
18240
+
18241
+ var _classnames2 = _interopRequireDefault(_classnames);
18242
+
18233
18243
var _moment = __webpack_require__(33);
18234
18244
18235
18245
var _moment2 = _interopRequireDefault(_moment);
@@ -18265,10 +18275,14 @@ return /******/ (function(modules) { // webpackBootstrap
18265
18275
'li',
18266
18276
{
18267
18277
key: index,
18268
- styleName: isSameTime ? 'selected' : '' },
18278
+ styleName: isSameTime ? 'selected' : '',
18279
+ className: (0, _classnames2['default'])({
18280
+ active: isSameTime
18281
+ }) },
18269
18282
_react2['default'].createElement(
18270
18283
'button',
18271
18284
{
18285
+ styleName: 'btn',
18272
18286
className: 'btn btn-link',
18273
18287
onClick: _this.onSelectTime.bind(_this, time) },
18274
18288
(0, _libConvertMilitaryTimeToAmpmJs2['default'])({ hour: hour, minute: minute })
@@ -18304,8 +18318,7 @@ return /******/ (function(modules) { // webpackBootstrap
18304
18318
return _react2['default'].createElement(
18305
18319
'ul',
18306
18320
{
18307
- styleName: 'side-panel',
18308
- className: 'list-unstyled' },
18321
+ className: 'list-unstyled side-panel' },
18309
18322
this.renderTimes()
18310
18323
);
18311
18324
}
@@ -18332,7 +18345,7 @@ return /******/ (function(modules) { // webpackBootstrap
18332
18345
/***/ function(module, exports) {
18333
18346
18334
18347
// removed by extract-text-webpack-plugin
18335
- module.exports = {"side-panel ":"time-side-panel__side-panel___2Jhij ","selected ":"time-side-panel__selected___2UTOt "};
18348
+ module.exports = {"selected ":"time-side-panel__selected___2UTOt ","btn ":"time-side-panel__btn___3Ao1N "};
18336
18349
18337
18350
/***/ },
18338
18351
/* 132 */
@@ -18443,7 +18456,7 @@ return /******/ (function(modules) { // webpackBootstrap
18443
18456
{ styleName: "widget", className: (0, _classnames2["default"])(this.props.widgetClasses) },
18444
18457
_react2["default"].createElement(
18445
18458
"ul",
18446
- { className: "list-unstyled" },
18459
+ { styleName: "widget-content", className: "widget-content list-unstyled" },
18447
18460
_react2["default"].createElement(
18448
18461
"li",
18449
18462
null,
@@ -18568,7 +18581,9 @@ return /******/ (function(modules) { // webpackBootstrap
18568
18581
},
18569
18582
_react2["default"].createElement(
18570
18583
"ul",
18571
- { className: "list-unstyled" },
18584
+ {
18585
+ styleName: "widget-content",
18586
+ className: "widget-content list-unstyled" },
18572
18587
_react2["default"].createElement(
18573
18588
"li",
18574
18589
null,
0 commit comments