Skip to content

Commit 8f70c0d

Browse files
committed
* picker: refactor DatePickerMenu to use protected class fields for improved encapsulation and maintainability.
1 parent 500b897 commit 8f70c0d

1 file changed

Lines changed: 15 additions & 15 deletions

File tree

lib/datetime-picker/src/component/date-picker-menu.tsx

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {ValueSelector} from './value-selector';
1212
import {getDate} from '../helpers';
1313

1414
export class DatePickerMenu extends Component<DatePickerMenuProps, DatePickerMenuState> {
15-
#ref: RefObject<HTMLDivElement> = createRef();
15+
protected _ref: RefObject<HTMLDivElement> = createRef();
1616

1717
constructor(props: DatePickerMenuProps) {
1818
super(props);
@@ -25,14 +25,14 @@ export class DatePickerMenu extends Component<DatePickerMenuProps, DatePickerMen
2525
};
2626
}
2727

28-
#handleClick = (event: MouseEvent) => {
28+
protected _handleClick = (event: MouseEvent) => {
2929
const $element = $(event.target as HTMLElement).closest('[data-set-date]');
3030
if ($element.length) {
3131
this.changeDate($element.dataset('set-date') as string);
3232
}
3333
};
3434

35-
#switchToPrevMonth = () => {
35+
protected _switchToPrevMonth = () => {
3636
const {year, month} = this.state;
3737
if (month === 1) {
3838
this.setState({year: year - 1, month: 12});
@@ -41,7 +41,7 @@ export class DatePickerMenu extends Component<DatePickerMenuProps, DatePickerMen
4141
}
4242
};
4343

44-
#switchToNextMonth = () => {
44+
protected _switchToNextMonth = () => {
4545
const {year, month} = this.state;
4646
if (month === 12) {
4747
this.setState({year: year + 1, month: 1});
@@ -50,15 +50,15 @@ export class DatePickerMenu extends Component<DatePickerMenuProps, DatePickerMen
5050
}
5151
};
5252

53-
#changeYear = (year: number) => {
53+
protected _changeYear = (year: number) => {
5454
this.setState({year, select: 'day'});
5555
};
5656

57-
#changeMonth = (month: number) => {
57+
protected _changeMonth = (month: number) => {
5858
this.setState({month, select: 'day'});
5959
};
6060

61-
#renderMenu(props: DatePickerMenuProps) {
61+
protected _renderMenu(props: DatePickerMenuProps) {
6262
return Menu.render(props.menu, [], {
6363
onClickItem: (item) => {
6464
const value = item.item.value;
@@ -69,7 +69,7 @@ export class DatePickerMenu extends Component<DatePickerMenuProps, DatePickerMen
6969
}, this);
7070
}
7171

72-
#renderFooter(props: DatePickerMenuProps) {
72+
protected _renderFooter(props: DatePickerMenuProps) {
7373
let {actions} = props;
7474
const {todayText = i18n.getLang('today'), clearText} = props;
7575
if (actions === undefined) {
@@ -119,8 +119,8 @@ export class DatePickerMenu extends Component<DatePickerMenuProps, DatePickerMen
119119
const minDate = minDateSetting ? minDateSetting : createDate('1970-1-1');
120120
const maxDate = maxDateSetting ? maxDateSetting : createDate('2099-12-31');
121121
return (
122-
<div className="date-picker-menu row" ref={this.#ref} onClick={this.#handleClick}>
123-
{this.#renderMenu(props)}
122+
<div className="date-picker-menu row" ref={this._ref} onClick={this._handleClick}>
123+
{this._renderMenu(props)}
124124
<div className="cell" style="width: 312px">
125125
<div className="row p-2">
126126
<Button type={select === 'year' ? 'primary-pale' : 'ghost'} size="sm" caret onClick={this._showSelect.bind(this, 'year')}>{formatString(yearText, year)}</Button>
@@ -130,8 +130,8 @@ export class DatePickerMenu extends Component<DatePickerMenuProps, DatePickerMen
130130
isSelectDay
131131
? (
132132
<div>
133-
<Button type="ghost" size="sm" square onClick={this.#switchToPrevMonth}><i className="chevron-left"></i></Button>
134-
<Button type="ghost" size="sm" square onClick={this.#switchToNextMonth}><i className="chevron-right"></i></Button>
133+
<Button type="ghost" size="sm" square onClick={this._switchToPrevMonth}><i className="chevron-left"></i></Button>
134+
<Button type="ghost" size="sm" square onClick={this._switchToNextMonth}><i className="chevron-right"></i></Button>
135135
</div>
136136
)
137137
: null
@@ -163,7 +163,7 @@ export class DatePickerMenu extends Component<DatePickerMenuProps, DatePickerMen
163163
value={year}
164164
min={minDate.getFullYear()}
165165
max={maxDate.getFullYear()}
166-
onChange={this.#changeYear}
166+
onChange={this._changeYear}
167167
/>
168168
)
169169
: (
@@ -174,13 +174,13 @@ export class DatePickerMenu extends Component<DatePickerMenuProps, DatePickerMen
174174
value={month}
175175
min={1}
176176
max={12}
177-
onChange={this.#changeMonth}
177+
onChange={this._changeMonth}
178178
/>
179179
)
180180
: null
181181
)
182182
}
183-
{isSelectDay ? this.#renderFooter(props) : null}
183+
{isSelectDay ? this._renderFooter(props) : null}
184184
</div>
185185
</div>
186186
);

0 commit comments

Comments
 (0)