249 Commits

Author SHA1 Message Date
Thomas Tracy
200f19dd9a feat: [MICROBA-1528] add schedule email UI (#36)
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.
2022-05-04 12:49:02 -04:00
Thomas Tracy
a37d63a4a3 chore: update edx frontend packages (#35) 2022-04-25 09:22:31 -04:00
Thomas Tracy
d67348929d fix: [MICROBA-1799] fix bulk email tool on safari (#34)
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.
2022-04-15 13:47:24 -04:00
Jawayria
dc292f5084 Merge pull request #33 from edx/jenkins/npm-8-f2c66eb
chore: Install dependencies using npm 8
open-release/nutmeg.1 open-release/nutmeg.3 open-release/nutmeg.2
2022-04-06 16:40:30 +05:00
edX requirements bot
9101b9540a chore: Install dependencies using npm 8 2022-04-05 10:48:48 -04:00
Thomas Tracy
f2c66ebcf6 fix: disable emoticons to prevent messages from being cut off (#31) 2022-03-30 10:34:54 -04:00
Thomas Tracy
d0de55d11a fix: Support feedback of tool (#30)
- 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.
2022-03-25 12:29:16 -04:00
Thomas Tracy
90a26d7897 fix: [MICROBA-1760] code block on toolbar (#29) 2022-03-15 12:00:52 -04:00
Justin Hynes
eb01e6e439 Merge pull request #19 from edx/jenkins/node-16-1b1e304
build: Added support for node v16
2022-03-14 14:48:06 -04:00
Justin Hynes
2dae2b1c42 Merge pull request #28 from edx/jhynes/microba-1743_fix-logo
fix: fix oversized logo in header
2022-03-14 11:58:13 -04:00
Justin Hynes
9bc69e39e2 fix: fix oversized logo in header
[MICROBA-1743]

* Add styling overrides for images and text in header to make logo sizes consistent in the PageContainer component.
2022-03-14 09:58:40 -04:00
Justin Hynes
4d04a72663 Merge pull request #27 from edx/jhynes/microba-1743_course-title-in-header_v2
feat: suggested UI improvements from bugbash
2022-03-11 14:54:46 -05:00
Justin Hynes
1477460abc feat: suggested UI improvements from bugbash
[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.
2022-03-11 11:35:00 -05:00
Thomas Tracy
cf239370df Revert "fix: [Microba-1741] Fix email image upload (#25)" (#26)
This reverts commit 08499922c3.
2022-03-09 16:56:43 -05:00
Thomas Tracy
08499922c3 fix: [Microba-1741] Fix email image upload (#25)
Image uploads were broken for 2 reasons on stage:
  1. Our bleaching on the server was too strong. it was pulling out
     attributes inside of the image tags that allowed base64 encoding to
     work properly.
  2. The paste_data_images needs to be set to true to allow for dragging
     and dropping of images into the editor

Since bleach has been rolled back for now, adding this setting should
allow for images to be properly uploaded.
2022-03-09 16:29:42 -05:00
Justin Hynes
408a6e9afe Merge pull request #24 from edx/jhynes/microba-1743_webpack-config-update
fix: Update webpack config to be less strict
2022-03-08 14:39:20 -05:00
Justin Hynes
2387d621d7 fix: Update webpack config to be less strict
[MICROBA-1743]

Fixes an issue where we couldn't override the header and footer with the branded versiom within the Comms MFE because some of the dependencies of the branded components are not currently Webpack5 compliant. Adds a rule to make webpack5 less strict with imports that do not include a file extension.

This also includes a change so that the Comms MFE uses the Open edX branded colors/styles by default.
2022-03-08 14:22:22 -05:00
Justin Hynes
9dbd47bc58 Merge pull request #23 from edx/jhynes/microba-1743
fix: (MICROBA-1743) Minor UI updates after bug bash
2022-03-07 15:25:57 -05:00
Justin Hynes
8987ccd01c fix: (MICROBA-1743) Minor UI updates after bug bash
[MICROBA-1743]

* Remove `instructor` from the path of the bulk course email tool in the Comms MFE.
* Remove `file` option from TinyMCE text editor.
2022-03-07 10:33:01 -05:00
Thomas Tracy
762cfe2a99 fix: [MICROBA-1709] Fix cohort display bug (#22)
There was a small issue with the cohorts looking a little weird in the
checkbox list. This even out the list and forces each item to be the
same size.
2022-02-28 16:16:19 -05:00
Thomas Tracy
97364e42d9 chore: update readme, fix (#21) 2022-02-24 14:30:16 -05:00
Thomas Tracy
ad87d08d04 feat: [MICROBA-1664] Add copy email button (#20)
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.
2022-02-11 14:26:41 -05:00
Jawayria
1f8e64e454 fix: update events 2022-02-10 18:12:24 +05:00
edX requirements bot
15a0946d8d build: Added support for node v16 2022-02-10 08:10:35 -05:00
Thomas Tracy
1b1e304cfc fix: [MICROBA-1703] Add missing form instructions (#18)
Add/move instructions for submitting the email form.
Also fixes a sneaky bug when selecting cohorts.
2022-02-08 15:05:53 -05:00
Thomas Tracy
031d73d78b feat: add features to text editor (#17) 2022-02-08 13:52:48 -05:00
Thomas Tracy
a168c90ca2 feat: [MICROBA-1688] Add cohorts to recipients (#16) 2022-02-03 13:48:52 -05:00
Thomas Tracy
7d2fa72768 chore: add edx-next theme to repo (#15) 2022-02-02 11:14:41 -05:00
Justin Hynes
59767c8604 Merge pull request #14 from edx/jhynes/mb-1621_tests
feat: add tests for bulk course email task manager components
2022-01-31 14:23:11 -05:00
Justin Hynes
9498dbc691 feat: add tests for bulk course email task manager components
[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
2022-01-31 14:18:19 -05:00
Thomas Tracy
ce9cdf642b feat: [MICROBA-1620] Wire BulkEmailForm to API (#11)
- 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
2022-01-27 14:51:17 -05:00
Justin Hynes
95b960964c Merge pull request #12 from edx/jhynes/microba-1621_data-tables-continued
feat: Implement task history and pending task tables
2022-01-25 11:10:59 -05:00
Justin Hynes
796b8010b1 feat: Implement task history and pending task tables
[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.
2022-01-25 08:29:08 -05:00
Thomas Tracy
2eac5bc12d chore: update setupTest to mock out edX libraries (#13) 2022-01-20 14:25:59 -05:00
Justin Hynes
a7eab9a3d5 Merge pull request #10 from edx/jhynes/microba-1621_data-tables
feat: Add historical email content data to bulk course email task manager
2022-01-18 14:39:58 -05:00
Justin Hynes
50747195bf feat: Add historical email content data to bulk course email task manager
[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.
2022-01-12 15:44:16 -05:00
Thomas Tracy
ab274d1ea9 feat: [Microba-1620] Add email form to BulkEmailTool (#8)
* feat: [MB-1620] Add email body editor

Add email body and subject line to bulk email tool.
2022-01-12 15:26:43 -05:00
Thomas Tracy
ab56f12087 chore: Add exception for non es5 transpiled dep (#9)
During our CI checks on PRs, we check to see if all code can be properly
transpiled into es5 to support IE11. We've since dropped support
officially for IE11, but the check is still present. A dependency of
TinyMCE is triggering an error in the is-es5 check.

Adding this webpack config will except the package from the check, to
prevent the CI from failing. Since we no longer support IE11, This check
is not needed, and ok to bypass.
2022-01-10 14:41:28 -05:00
Justin Hynes
92be05859d Merge pull request #7 from edx/jhynes/microba-1621_continued
feat: add API calls to get data needed by the bulk email task manager section
2022-01-10 12:25:48 -05:00
Justin Hynes
2a927017ca feat: add API calls to get data needed by the bulk email task manager section
[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.
2022-01-07 08:29:12 -05:00
Thomas Tracy
fa46bd5fc5 feat: protect bulk email from non staff (#6)
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.
2022-01-06 11:15:26 -05:00
Justin Hynes
b7579d38c4 Merge pull request #5 from edx/jhynes/microba-1621_task-manager
feat: Add some basic scaffolding for the bulk email tool task manager section of the comms MFE
2022-01-06 08:38:16 -05:00
Justin Hynes
432b6f89be feat: Add some basic scaffolding for the bulk email tool task manager section of the comms MFE
[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
2022-01-06 08:18:16 -05:00
Thomas Tracy
008165073a feat: Add top navigation menu (#4)
Adds course navigation menu to the top of the app
2022-01-04 14:10:16 -05:00
Thomas Tracy
3f4b1a1ca5 feat:[MICROBA-1618] Add proper routing and some data (#3)
* feat: add proper routing and some data management
2021-12-13 09:58:34 -05:00
Thomas Tracy
8d1cc534b7 chore: [MICROBA-1498] Add bulk email component structure (#2)
* chore: Add bulk email component structure
2021-12-09 09:38:09 -05:00
Thomas Tracy
03097cbb61 Merge pull request #1 from edx/ttracy/find-replace-template
chore: find replace template string <-> repo name and delete example code
2021-12-03 13:26:03 -05:00
Thomas Tracy
434ba53702 chore: find replace template string 2021-12-03 12:41:03 -05:00
Matt Tuchfarber
62bcd459cb Initial commit 2021-12-03 11:33:31 -05:00