This handles a few things around the scheduled email UI. This includes:
1. Adding the schedule email UI date/time picker.
2. Adds states to the submit button for scheduling emails.
3. Drys out intl code and some submitting states.
4. Matches the email form UI to mocks.
This however does not include:
1. A table to show scheduled emails. Scheduled emails at the moment are
displayed in the "pending tasks" section.
2. Matching the tasks section to the mocks.
Course teams were having issues sending bulk emails to themselves and
students. This was caused by two problems.
1. The language selector tool was failing because of no default language
settings in safari is possible
2. The translated string for the "continue" button on the submit modal
was messing with the markup and causing the event to POST the email
to not properly fire.
To fix the language issue for now, we are disabling the language
selector plugin. To fix the markup issue, we are forcing the string to
render in a fragment to remove the additional span, allowing the event
to fire no matter where the user clicks the button.
- Missing left align tool (just a typo)
- Missing advanced image options (missing configuration)
- Page title was never set
Other issues such as email title, google+, and sender address are not
related to the MFE and are quirks to do with the staging environment.
[MICROBA-1743]
* Use `LearningHeader` component which can display the course information (title, org, number) in the header to the learner (matching existing design).
* Refactor components to introduce a `PageContainer` component in order to support displaying course information in header.
* Refactor the BulkEmailTool component to take advantage of the new course metadata context provider.
* Add tests for new `PageContainer` component.
* Fix existing tests due to refactor.
* Add "Email" label above recipient selection checkboxes to match existing design.
The old tool had a button in the modal used to view past emails that
allowed you to copy the content into the editor. This replicates that
functionality, but without the ability to fill in the subject field of
the email. This was done to keep certain components more seperate.
[MICROBA-1621]
* Fix display bug for the error Alert component found during test writing
* Add tests for BulkEmailTaskHistory component
* Fix bug with a column name in the bulk course email content history table
* Add tests for the BulkEmailContentHistory component
* Add tests for the BulkEmailPendingTasks component
- Wires up the BulkEmailForm to be able to actually send email tasks to
the instructor api
- Adds testing for the BulkEmailForm, as well as BulkEmailTool itself
- Does some cleanup, and adds some additional testing tools as needed
[MICROBA-1621]
* Add a table to the BulkEmailTaskHistory component of the task manager.
* Add a table to the BulkEmailPendingTasks component of the task manager.
* Extract messages to messages.js.
* Add custom hook used to make REST API calls to edx-platform on a regular cadence (every 30 seconds).
* Use the new hook in BulkEmailPendingTasks to retrieve pending instructor tasks for display in a table.
* Create a new BulkEmailHistoryTable component to cutdown on code duplication between task manager componenets that display tables.
* Refactor existing components to use the new BulkEmailHistoryTable component (and reduce amount of duplicate code in the task manager)
* Use a StatefulButton (over a regular button) to show a spinner/loading icon when fetching data for our tables.
[MICROBA-1621]
* Add table that displays info about previously sent bulk course email messages through our tool.
* Add modal to view the contents of previously sent messages.
* Extract strings to a dedicated `messages.js` file to help make the `BulkEmailContentHistory.jsx` file more readable.
[MICROBA-1621]
* Add support to the Instructor Dashboard `list_instructor_tasks`, `list_email_content`, and `list_background_email_tasks` REST API endpoints of edx-platform.
This will protect the bulk email tool and ONLY the bulk email tool from non-staff users if they know the direct URL. this will not protect the entire app from non-staff entirely.
[MICROBA-1621]
* Adds a section for the pending tasks section of the task manager
* Adds a section for the bulk course email task history data
* Adds a section for the bulk course email content history data