mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-09-22 16:26:08 +08:00
fix(scheduler): fix top banner
This commit is contained in:
parent
2226e85e65
commit
6b2d820316
|
@ -45,6 +45,12 @@ export default class ProposedTimePicker extends React.Component {
|
||||||
return new ProposedTimeCalendarDataSource()
|
return new ProposedTimeCalendarDataSource()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_bannerComponents = () => {
|
||||||
|
return {
|
||||||
|
week: "Click and drag to propose times."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
_footerComponents = () => {
|
_footerComponents = () => {
|
||||||
return {
|
return {
|
||||||
week: [this._leftFooterComponents(), this._rightFooterComponents()],
|
week: [this._leftFooterComponents(), this._rightFooterComponents()],
|
||||||
|
@ -114,6 +120,7 @@ export default class ProposedTimePicker extends React.Component {
|
||||||
return (
|
return (
|
||||||
<NylasCalendar
|
<NylasCalendar
|
||||||
dataSource={this._dataSource()}
|
dataSource={this._dataSource()}
|
||||||
|
bannerComponents={this._bannerComponents()}
|
||||||
footerComponents={this._footerComponents()}
|
footerComponents={this._footerComponents()}
|
||||||
onCalendarMouseUp={this._onCalendarMouseUp}
|
onCalendarMouseUp={this._onCalendarMouseUp}
|
||||||
onCalendarMouseDown={this._onCalendarMouseDown}
|
onCalendarMouseDown={this._onCalendarMouseDown}
|
||||||
|
|
|
@ -17,6 +17,17 @@ export default class NylasCalendar extends React.Component {
|
||||||
*/
|
*/
|
||||||
dataSource: React.PropTypes.instanceOf(CalendarDataSource).isRequired,
|
dataSource: React.PropTypes.instanceOf(CalendarDataSource).isRequired,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Any extra info you want to display on the top banner of calendar
|
||||||
|
* components
|
||||||
|
*/
|
||||||
|
bannerComponents: React.PropTypes.shape({
|
||||||
|
day: React.PropTypes.node,
|
||||||
|
week: React.PropTypes.node,
|
||||||
|
month: React.PropTypes.node,
|
||||||
|
year: React.PropTypes.node,
|
||||||
|
}),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Any extra header components for each of the supported View types of
|
* Any extra header components for each of the supported View types of
|
||||||
* the NylasCalendar
|
* the NylasCalendar
|
||||||
|
@ -52,6 +63,7 @@ export default class NylasCalendar extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
static defaultProps = {
|
static defaultProps = {
|
||||||
|
bannerComponents: {day: false, week: false, month: false, year: false},
|
||||||
headerComponents: {day: false, week: false, month: false, year: false},
|
headerComponents: {day: false, week: false, month: false, year: false},
|
||||||
footerComponents: {day: false, week: false, month: false, year: false},
|
footerComponents: {day: false, week: false, month: false, year: false},
|
||||||
}
|
}
|
||||||
|
@ -90,6 +102,7 @@ export default class NylasCalendar extends React.Component {
|
||||||
<CurrentView
|
<CurrentView
|
||||||
dataSource={this.props.dataSource}
|
dataSource={this.props.dataSource}
|
||||||
currentMoment={this.state.currentMoment}
|
currentMoment={this.state.currentMoment}
|
||||||
|
bannerComponents={this.props.bannerComponents[this.state.currentView]}
|
||||||
headerComponents={this.props.headerComponents[this.state.currentView]}
|
headerComponents={this.props.headerComponents[this.state.currentView]}
|
||||||
footerComponents={this.props.footerComponents[this.state.currentView]}
|
footerComponents={this.props.footerComponents[this.state.currentView]}
|
||||||
changeCurrentView={this._changeCurrentView}
|
changeCurrentView={this._changeCurrentView}
|
||||||
|
|
|
@ -3,10 +3,17 @@ import React from 'react'
|
||||||
export default class TopBanner extends React.Component {
|
export default class TopBanner extends React.Component {
|
||||||
static displayName = "TopBanner";
|
static displayName = "TopBanner";
|
||||||
|
|
||||||
|
static propTypes = {
|
||||||
|
bannerComponents: React.PropTypes.node,
|
||||||
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
if (!this.props.bannerComponents) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<div className="top-banner">
|
<div className="top-banner">
|
||||||
This is the top banner
|
{this.props.bannerComponents}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@ export default class WeekView extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
dataSource: React.PropTypes.instanceOf(CalendarDataSource).isRequired,
|
dataSource: React.PropTypes.instanceOf(CalendarDataSource).isRequired,
|
||||||
currentMoment: React.PropTypes.instanceOf(moment).isRequired,
|
currentMoment: React.PropTypes.instanceOf(moment).isRequired,
|
||||||
|
bannerComponents: React.PropTypes.node,
|
||||||
headerComponents: React.PropTypes.node,
|
headerComponents: React.PropTypes.node,
|
||||||
footerComponents: React.PropTypes.node,
|
footerComponents: React.PropTypes.node,
|
||||||
changeCurrentView: React.PropTypes.func,
|
changeCurrentView: React.PropTypes.func,
|
||||||
|
@ -42,6 +43,7 @@ export default class WeekView extends React.Component {
|
||||||
|
|
||||||
static defaultProps = {
|
static defaultProps = {
|
||||||
changeCurrentView: () => {},
|
changeCurrentView: () => {},
|
||||||
|
bannerComponents: false,
|
||||||
headerComponents: false,
|
headerComponents: false,
|
||||||
footerComponents: false,
|
footerComponents: false,
|
||||||
}
|
}
|
||||||
|
@ -232,11 +234,7 @@ export default class WeekView extends React.Component {
|
||||||
Today
|
Today
|
||||||
</button>
|
</button>
|
||||||
);
|
);
|
||||||
const right = (
|
const right = false
|
||||||
<button key="month" className="btn" style={{order: 100}}>
|
|
||||||
<RetinaImg name="ic-calendar-month.png" mode={RetinaImg.Mode.ContentIsMask} />
|
|
||||||
</button>
|
|
||||||
);
|
|
||||||
return [left, right, this.props.headerComponents]
|
return [left, right, this.props.headerComponents]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -396,7 +394,7 @@ export default class WeekView extends React.Component {
|
||||||
onCalendarMouseDown={this.props.onCalendarMouseDown}
|
onCalendarMouseDown={this.props.onCalendarMouseDown}
|
||||||
onCalendarMouseMove={this.props.onCalendarMouseMove}
|
onCalendarMouseMove={this.props.onCalendarMouseMove}
|
||||||
>
|
>
|
||||||
<TopBanner />
|
<TopBanner bannerComponents={this.props.bannerComponents} />
|
||||||
|
|
||||||
<HeaderControls title={this._currentWeekText()}
|
<HeaderControls title={this._currentWeekText()}
|
||||||
headerComponents={this._headerComponents()}
|
headerComponents={this._headerComponents()}
|
||||||
|
|
Loading…
Reference in a new issue