Skip to content

Commit 81d2874

Browse files
[Dialog] Remove warnings on DatePicker and TimePicker
1 parent c03f3f9 commit 81d2874

File tree

5 files changed

+17
-65
lines changed

5 files changed

+17
-65
lines changed

src/date-picker/calendar.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const Calendar = React.createClass({
3838
locale: React.PropTypes.string.isRequired,
3939
disableYearSelection: React.PropTypes.bool,
4040
initialDate: React.PropTypes.object,
41-
isActive: React.PropTypes.bool,
41+
open: React.PropTypes.bool,
4242
minDate: React.PropTypes.object,
4343
maxDate: React.PropTypes.object,
4444
onDayTouchTap: React.PropTypes.func,
@@ -296,7 +296,7 @@ const Calendar = React.createClass({
296296
},
297297

298298
_handleWindowKeyDown(e) {
299-
if (this.props.isActive) {
299+
if (this.props.open) {
300300

301301
switch (e.keyCode) {
302302
case KeyCode.UP:

src/date-picker/date-picker-dialog.jsx

Lines changed: 6 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ const DatePickerDialog = React.createClass({
4949
maxDate: React.PropTypes.object,
5050
minDate: React.PropTypes.object,
5151
onAccept: React.PropTypes.func,
52-
onClickAway: React.PropTypes.func,
5352
onDismiss: React.PropTypes.func,
5453
onShow: React.PropTypes.func,
5554
style: React.PropTypes.object,
@@ -87,7 +86,6 @@ const DatePickerDialog = React.createClass({
8786
getInitialState() {
8887
return {
8988
open: false,
90-
isCalendarActive: false,
9189
muiTheme: this.context.muiTheme ? this.context.muiTheme : ThemeManager.getMuiTheme(DefaultRawTheme),
9290
};
9391
},
@@ -108,6 +106,8 @@ const DatePickerDialog = React.createClass({
108106
onAccept,
109107
style,
110108
container,
109+
onDismiss,
110+
onShow,
111111
...other,
112112
} = this.props;
113113

@@ -164,9 +164,8 @@ const DatePickerDialog = React.createClass({
164164
contentStyle={styles.dialogContent}
165165
bodyStyle={styles.dialogBodyContent}
166166
actions={actions}
167-
onDismiss={this._handleDialogDismiss}
168-
onShow={this._handleDialogShow}
169-
onClickAway={this._handleDialogClickAway}
167+
onDismiss={typeof onDismiss === 'function' && onDismiss}
168+
onShow={typeof onShow === 'function' && onShow}
170169
repositionOnUpdate={false}
171170
open={this.state.open}
172171
onRequestClose={this.dismiss}>
@@ -176,7 +175,7 @@ const DatePickerDialog = React.createClass({
176175
ref="calendar"
177176
onDayTouchTap={this._onDayTouchTap}
178177
initialDate={this.props.initialDate}
179-
isActive={this.state.isCalendarActive}
178+
open={this.state.open}
180179
minDate={this.props.minDate}
181180
maxDate={this.props.maxDate}
182181
shouldDisableDate={this.props.shouldDisableDate}
@@ -216,36 +215,8 @@ const DatePickerDialog = React.createClass({
216215
this.dismiss();
217216
},
218217

219-
_handleDialogShow() {
220-
this.setState({
221-
isCalendarActive: true,
222-
});
223-
224-
if (this.props.onShow) this.props.onShow();
225-
},
226-
227-
_handleDialogDismiss() {
228-
CssEvent.onTransitionEnd(ReactDOM.findDOMNode(this.refs.dialog), () => {
229-
this.setState({
230-
isCalendarActive: false,
231-
});
232-
});
233-
234-
if (this.props.onDismiss) this.props.onDismiss();
235-
},
236-
237-
_handleDialogClickAway() {
238-
CssEvent.onTransitionEnd(ReactDOM.findDOMNode(this.refs.dialog), () => {
239-
this.setState({
240-
isCalendarActive: false,
241-
});
242-
});
243-
244-
if (this.props.onClickAway) this.props.onClickAway();
245-
},
246-
247218
_handleWindowKeyUp(e) {
248-
if (this.state.isCalendarActive) {
219+
if (this.state.open) {
249220
switch (e.keyCode) {
250221
case KeyCode.ENTER:
251222
this._handleOKTouchTap();

src/date-picker/date-picker.jsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ const DatePicker = React.createClass({
124124
initialDate={this.state.dialogDate}
125125
onAccept={this._handleDialogAccept}
126126
onShow={onShow}
127-
onDismiss={this._handleDialogDismiss}
127+
onDismiss={onDismiss}
128128
minDate={minDate}
129129
maxDate={maxDate}
130130
autoOk={autoOk}
@@ -173,10 +173,6 @@ const DatePicker = React.createClass({
173173
if (this.props.valueLink) this.props.valueLink.requestChange(d);
174174
},
175175

176-
_handleDialogDismiss() {
177-
if (this.props.onDismiss) this.props.onDismiss();
178-
},
179-
180176
_handleInputFocus(e) {
181177
e.target.blur();
182178
if (this.props.onFocus) this.props.onFocus(e);

src/dialog.jsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ let Dialog = React.createClass({
111111
contentClassName: React.PropTypes.string,
112112
contentStyle: React.PropTypes.object,
113113
openImmediately: React.PropTypes.bool,
114-
onClickAway: React.PropTypes.func,
115114
repositionOnUpdate: React.PropTypes.bool,
116115
style: React.PropTypes.object,
117116
title: React.PropTypes.node,
@@ -290,10 +289,10 @@ let Dialog = React.createClass({
290289
warning(!this.props.hasOwnProperty('openImmediately'),
291290
'openImmediately has been deprecated in favor of defaultOpen');
292291

293-
warning(!this.props.hasOwnProperty('onShow'),
292+
warning(!(typeof this.props.onShow === 'function'),
294293
'onShow will be removed in favor of explicitly setting open');
295294

296-
warning(!this.props.hasOwnProperty('onDismiss'),
295+
warning(!(typeof this.props.onDismiss === 'function'),
297296
'onDismiss will be removed in favor of explicitly setting open and can be replaced by onRequestClose');
298297

299298
warning(!this.props.hasOwnProperty('modal'),

src/time-picker/time-picker-dialog.jsx

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ const TimePickerDialog = React.createClass({
6464
onAccept,
6565
format,
6666
autoOk,
67+
onShow,
68+
onDismiss,
6769
...other,
6870
} = this.props;
6971

@@ -85,7 +87,7 @@ const TimePickerDialog = React.createClass({
8587
key={0}
8688
label="Cancel"
8789
secondary={true}
88-
onTouchTap={this._handleCancelTouchTap} />,
90+
onTouchTap={this.dismiss} />,
8991
<FlatButton
9092
key={1}
9193
label="OK"
@@ -102,8 +104,8 @@ const TimePickerDialog = React.createClass({
102104
bodyStyle={this.mergeAndPrefix(styles.body)}
103105
actions={actions}
104106
contentStyle={styles.dialogContent}
105-
onDismiss={this._handleDialogDismiss}
106-
onShow={this._handleDialogShow}
107+
onDismiss={typeof onDismiss === 'function' && onDismiss}
108+
onShow={typeof onShow === 'function' && onShow}
107109
repositionOnUpdate={false}
108110
open={this.state.open}
109111
onRequestClose={this.dismiss}>
@@ -128,31 +130,15 @@ const TimePickerDialog = React.createClass({
128130
});
129131
},
130132

131-
_handleCancelTouchTap() {
132-
this.dismiss();
133-
},
134-
135133
_handleOKTouchTap() {
136134
this.dismiss();
137135
if (this.props.onAccept) {
138136
this.props.onAccept(this.refs.clock.getSelectedTime());
139137
}
140138
},
141139

142-
_handleDialogShow() {
143-
if (this.props.onShow) {
144-
this.props.onShow();
145-
}
146-
},
147-
148-
_handleDialogDismiss() {
149-
if (this.props.onDismiss) {
150-
this.props.onDismiss();
151-
}
152-
},
153-
154140
_handleWindowKeyUp(event) {
155-
if (this.refs.dialogWindow.isOpen()) {
141+
if (this.state.open) {
156142
switch (event.keyCode) {
157143
case KeyCode.ENTER:
158144
this._handleOKTouchTap();

0 commit comments

Comments
 (0)