diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b4ca6bf3f..ac5245af72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,10 +3,10 @@ ### NEXT RELEASE * _Contributing to this repo? Add info about your change here to be included in next release_ -* Fix: Added on the empty Scheduled Jobs page a message that notifies about jobs not being run by parse-server but requires further setup -* Feature: When editing Object or Array fields the data is displayed in a prettier format and the textarea is resizable -* Fix: Display bug on safari when table has empty cells ('') -* Feature: UI for managing push audiences, thanks to [Davi Macedo](https://github.com/davimacedo) +* Feature: UI for managing push audiences (#712), thanks to [Davi Macedo](https://github.com/davimacedo) +* Feature: When editing Object or Array fields the data is displayed in a prettier format and the textarea is resizable (#734), thanks to [Samuli Siivinen](https://github.com/ssamuli) +* Fix: Display bug on safari when table has empty cells ('') (#731), thanks to [Samuli Siivinen](https://github.com/ssamuli) +* Fix: Added message that notifies Background Jobs requiring additional setup (#740 & #741), thanks to [Samuli Siivinen](https://github.com/ssamuli) and [Natan Rolnik](https://github.com/natanrolnik) ### 1.0.28 * Feature: Add ability to search Object columns (#727), thanks to [Samuli Siivinen](https://github.com/ssamuli) diff --git a/src/dashboard/Data/Jobs/JobScheduleReminder.react.js b/src/dashboard/Data/Jobs/JobScheduleReminder.react.js new file mode 100644 index 0000000000..a430195be9 --- /dev/null +++ b/src/dashboard/Data/Jobs/JobScheduleReminder.react.js @@ -0,0 +1,21 @@ +import React from 'react'; +import { horizontalCenter } from 'stylesheets/base.scss' + +export default class JobScheduleReminder extends React.Component { + render() { + return ( +
+

+ {"Be noted that "} + {"parse-server doesn't run the jobs in the scheduled times"} + {" by itself."} +

+

+ {"Please take a look at the "} + {'docs'} + {" on how to do that."} +

+
+ ); + } +} diff --git a/src/dashboard/Data/Jobs/Jobs.react.js b/src/dashboard/Data/Jobs/Jobs.react.js index 12c2dec92b..1ed03a0db5 100644 --- a/src/dashboard/Data/Jobs/Jobs.react.js +++ b/src/dashboard/Data/Jobs/Jobs.react.js @@ -5,25 +5,26 @@ * This source code is licensed under the license found in the LICENSE file in * the root directory of this source tree. */ -import { ActionTypes } from 'lib/stores/JobsStore'; -import Button from 'components/Button/Button.react'; -import * as DateUtils from 'lib/DateUtils'; -import CategoryList from 'components/CategoryList/CategoryList.react'; -import EmptyState from 'components/EmptyState/EmptyState.react'; -import history from 'dashboard/history'; -import Icon from 'components/Icon/Icon.react'; -import Modal from 'components/Modal/Modal.react'; -import React from 'react'; -import ReleaseInfo from 'components/ReleaseInfo/ReleaseInfo'; -import RunNowButton from 'dashboard/Data/Jobs/RunNowButton.react'; -import SidebarAction from 'components/Sidebar/SidebarAction'; -import StatusIndicator from 'components/StatusIndicator/StatusIndicator.react'; -import styles from 'dashboard/Data/Jobs/Jobs.scss'; -import browserStyles from 'dashboard/Data/Browser/Browser.scss'; -import subscribeTo from 'lib/subscribeTo'; -import TableHeader from 'components/Table/TableHeader.react'; -import TableView from 'dashboard/TableView.react'; -import Toolbar from 'components/Toolbar/Toolbar.react'; +import { ActionTypes } from 'lib/stores/JobsStore'; +import Button from 'components/Button/Button.react'; +import * as DateUtils from 'lib/DateUtils'; +import CategoryList from 'components/CategoryList/CategoryList.react'; +import EmptyState from 'components/EmptyState/EmptyState.react'; +import history from 'dashboard/history'; +import Icon from 'components/Icon/Icon.react'; +import JobScheduleReminder from 'dashboard/Data/Jobs/JobScheduleReminder.react'; +import Modal from 'components/Modal/Modal.react'; +import React from 'react'; +import ReleaseInfo from 'components/ReleaseInfo/ReleaseInfo'; +import RunNowButton from 'dashboard/Data/Jobs/RunNowButton.react'; +import SidebarAction from 'components/Sidebar/SidebarAction'; +import StatusIndicator from 'components/StatusIndicator/StatusIndicator.react'; +import styles from 'dashboard/Data/Jobs/Jobs.scss'; +import browserStyles from 'dashboard/Data/Browser/Browser.scss'; +import subscribeTo from 'lib/subscribeTo'; +import TableHeader from 'components/Table/TableHeader.react'; +import TableView from 'dashboard/TableView.react'; +import Toolbar from 'components/Toolbar/Toolbar.react'; let subsections = { all: 'All Jobs', @@ -180,6 +181,14 @@ export default class Jobs extends TableView { } } + renderFooter() { + if (this.props.params.section === 'scheduled') { + return + } + + return null; + } + renderEmpty() { if (this.props.params.section === 'all') { return ( @@ -196,13 +205,7 @@ export default class Jobs extends TableView {

{'On this page you can create JobSchedule objects.'}


-

- {"Be noted that "} - {"parse-server doesn't schedule or run them. "} - {"Please take a look at the "} - {'docs'} - {" on how to do that."} -

+
icon='cloud-happy' /> ); diff --git a/src/dashboard/Data/Jobs/JobsForm.react.js b/src/dashboard/Data/Jobs/JobsForm.react.js index ae64589dee..643a957ba6 100644 --- a/src/dashboard/Data/Jobs/JobsForm.react.js +++ b/src/dashboard/Data/Jobs/JobsForm.react.js @@ -5,23 +5,24 @@ * This source code is licensed under the license found in the LICENSE file in * the root directory of this source tree. */ -import DashboardView from 'dashboard/DashboardView.react'; -import DateTimeInput from 'components/DateTimeInput/DateTimeInput.react'; -import Dropdown from 'components/Dropdown/Dropdown.react'; -import Field from 'components/Field/Field.react'; -import Fieldset from 'components/Fieldset/Fieldset.react'; -import FlowView from 'components/FlowView/FlowView.react'; -import IntervalInput from 'components/IntervalInput/IntervalInput.react'; -import Label from 'components/Label/Label.react'; -import Option from 'components/Dropdown/Option.react'; -import pluralize from 'lib/pluralize'; -import React from 'react'; -import ReleaseInfo from 'components/ReleaseInfo/ReleaseInfo'; -import styles from 'dashboard/Data/Jobs/Jobs.scss'; -import TextInput from 'components/TextInput/TextInput.react'; -import TimeInput from 'components/TimeInput/TimeInput.react'; -import Toggle from 'components/Toggle/Toggle.react'; -import Toolbar from 'components/Toolbar/Toolbar.react'; +import DashboardView from 'dashboard/DashboardView.react'; +import DateTimeInput from 'components/DateTimeInput/DateTimeInput.react'; +import Dropdown from 'components/Dropdown/Dropdown.react'; +import Field from 'components/Field/Field.react'; +import Fieldset from 'components/Fieldset/Fieldset.react'; +import FlowView from 'components/FlowView/FlowView.react'; +import IntervalInput from 'components/IntervalInput/IntervalInput.react'; +import JobScheduleReminder from 'dashboard/Data/Jobs/JobScheduleReminder.react'; +import Label from 'components/Label/Label.react'; +import Option from 'components/Dropdown/Option.react'; +import pluralize from 'lib/pluralize'; +import React from 'react'; +import ReleaseInfo from 'components/ReleaseInfo/ReleaseInfo'; +import styles from 'dashboard/Data/Jobs/Jobs.scss'; +import TextInput from 'components/TextInput/TextInput.react'; +import TimeInput from 'components/TimeInput/TimeInput.react'; +import Toggle from 'components/Toggle/Toggle.react'; +import Toolbar from 'components/Toolbar/Toolbar.react'; import { hoursFrom, dateStringUTC } from 'lib/DateUtils'; export default class JobsForm extends DashboardView { @@ -139,6 +140,7 @@ export default class JobsForm extends DashboardView { } return (
+
diff --git a/src/dashboard/TableView.react.js b/src/dashboard/TableView.react.js index a5171e1a6d..679912835a 100644 --- a/src/dashboard/TableView.react.js +++ b/src/dashboard/TableView.react.js @@ -21,9 +21,14 @@ export default class TableView extends DashboardView { return widths; } + renderFooter() { + return null; + } + renderContent() { let toolbar = this.renderToolbar(); let data = this.tableData(); + let footer = this.renderFooter(); let content = null; let headers = null; if (data !== undefined) { @@ -40,6 +45,7 @@ export default class TableView extends DashboardView { {data.map((row) => this.renderRow(row))} + {footer}
); headers = this.renderHeaders();