Skip to content
This repository was archived by the owner on Nov 16, 2018. It is now read-only.

Commit 8737535

Browse files
committed
support direction
1 parent 7629540 commit 8737535

File tree

2 files changed

+20
-21
lines changed

2 files changed

+20
-21
lines changed

src/DateTimeField.jsx

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -187,26 +187,20 @@ DateTimeField = React.createClass({
187187
scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
188188
placePosition = this.props.direction === 'up' ? 'top' : this.props.direction === 'bottom' ? 'bottom' : this.props.direction === 'auto' ? offset.top + this.refs.widget.getDOMNode().offsetHeight > window.offsetHeight + scrollTop && this.refs.widget.offsetHeight + this.refs.datetimepicker.getDOMNode().offsetHeight > offset.top ? 'top' : 'bottom' : void 0;
189189
if (placePosition === 'top') {
190-
offset.top -= this.refs.widget.getDOMNode().offsetHeight + this.refs.datetimepicker.getDOMNode().offsetHeight + 15;
190+
offset.top = -this.refs.widget.getDOMNode().offsetHeight - this.getDOMNode().clientHeight - 2;
191191
classes["top"] = true;
192192
classes["bottom"] = false;
193+
classes['pull-right'] = true;
193194
} else {
194-
offset.top += 1;
195+
offset.top = 40;
195196
classes["top"] = false;
196197
classes["bottom"] = true;
197-
}
198-
if (document.body.clientWidth < offset.left + this.refs.widget.getDOMNode().offsetWidth) {
199-
offset.right = document.body.clientWidth - offset.left - this.refs.dtpbutton.getDOMNode().offsetWidth;
200-
offset.left = "auto";
201198
classes['pull-right'] = true;
202-
} else {
203-
offset.right = "auto";
204-
classes["pull-right"] = false;
205199
}
206200
styles = {
207201
display: 'block',
208202
position: 'absolute',
209-
top: 40,
203+
top: offset.top,
210204
left: 'auto',
211205
right: 40
212206
};

src/coffee/DateTimeField.jsx.coffee

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -145,31 +145,36 @@ DateTimeField = React.createClass(
145145
'bottom'
146146

147147
if placePosition == 'top'
148-
offset.top -= @refs.widget.getDOMNode().offsetHeight + @refs.datetimepicker.getDOMNode().offsetHeight + 15
148+
# offset.top -= @refs.widget.getDOMNode().offsetHeight + @refs.datetimepicker.getDOMNode().offsetHeight + 15
149+
offset.top = - @refs.widget.getDOMNode().offsetHeight-this.getDOMNode().clientHeight-2
149150
classes["top"] = true
150151
classes["bottom"] = false
152+
classes['pull-right'] = true
151153
else
152-
offset.top += 1
154+
# offset.top += 1
155+
offset.top = 40
153156
classes["top"] = false
154157
classes["bottom"] = true
158+
classes['pull-right'] = true
159+
155160

156161
# if @props.orientation == 'left'
157162
# classes["left-oriented"] = true
158163
# offset.left = offset.left - @refs.widget.getDOMNode.
159164

160-
if document.body.clientWidth < offset.left + @refs.widget.getDOMNode().offsetWidth
161-
offset.right = document.body.clientWidth - offset.left - @refs.dtpbutton.getDOMNode().offsetWidth
162-
offset.left = "auto"
163-
classes['pull-right'] = true
164-
else
165-
offset.right = "auto"
166-
classes["pull-right"] = false
165+
# if document.body.clientWidth < offset.left + @refs.widget.getDOMNode().offsetWidth
166+
# offset.right = document.body.clientWidth - offset.left - @refs.dtpbutton.getDOMNode().offsetWidth
167+
# offset.left = "auto"
168+
# classes['pull-right'] = true
169+
# else
170+
# offset.right = "auto"
171+
# classes["pull-right"] = false
167172

168173
styles =
169174
display: 'block'
170175
position: 'absolute'
171-
# top: offset.top
172-
top: 40
176+
top: offset.top
177+
# top: 40
173178
# left: offset.left
174179
# right: offset.right
175180
left: 'auto'

0 commit comments

Comments
 (0)