Thomas Tracy 5d88b19c07 feat: Add ScheduledBulkEmailTable (#42)
This PR refactors some of the code around the context store to be more in line with the project organization ADR in this repo. Essentially, it splits the reducers and actions into slices used by the components that need them to prevent pollution of data in the store.

This PR also handles most of the refactor around the BulkEmailTool making use of the BulkEmailToolProvider in order to share data between components. This allows for better copyToEditor functionality, amongst other changes, as the email form now handles its state within the context store.

The Provider and its store is purposefully tied to the BulkEmailTool as to prevent any bleeding of state information between tools that may be added to the comms MFE in the future.

This PR also adds the first iteration of the scheduled emails table. This table will allow for viewing, deleting, and editing emails in the future. For now, it only adds viewing. The viewing modal DOES support copy to editor functionality but it is NOT editing the original entry and WILL schedule a new email if submitted.
2022-06-06 10:27:31 -04:00
2021-12-03 11:33:31 -05:00
2021-12-03 11:33:31 -05:00
2021-12-03 11:33:31 -05:00
2021-12-03 11:33:31 -05:00
2021-12-03 11:33:31 -05:00
2021-12-03 11:33:31 -05:00
2021-12-03 11:33:31 -05:00
2021-12-03 11:33:31 -05:00
2021-12-03 11:33:31 -05:00
2021-12-03 11:33:31 -05:00
2021-12-03 11:33:31 -05:00
2021-12-03 11:33:31 -05:00
2022-02-24 14:30:16 -05:00
2021-12-03 11:33:31 -05:00

|Codecov| |license|

.. |codecov| image:: https://codecov.io/gh/edx/frontend-app-learning/branch/master/graph/badge.svg?token=3z7XvuzTq3
   :target: https://codecov.io/gh/edx/frontend-app-communications
.. |license| image:: https://img.shields.io/badge/license-AGPL-informational
   :target: https://github.com/edx/frontend-app-account/blob/master/LICENSE

frontend-app-communications
==============================

Please tag **edx-aperture** on any PRs or issues.  Thanks!

Introduction
------------

A tool used by course teams to communicate with thier learners. The interface for anything related to instructor to learner communications. Instructor bulk email, for example.


Getting started
------------

For now, this repo is not intergrated with devstack. You'll be running the app locally and not through docker. This does make setup a little easier.

1. Clone the repo into your usual workspace

   .. code-block::

      mkdir -p ~/workspace/
      cd ~/workspace/
      git clone https://github.com/edx/frontend-app-communications.git

2. Install frontend dependencies

   .. code-block::

      npm i

3. Start the devserver. The app will be running at ``localhost:1984``, or whatever port you change it too.

   .. code-block::

      npm start

Environment Variables/Setup Notes
---------------------------------

If you wish to add new environment varibles for local testing, they should be listed in 2 places:

1. In ``.env.development``
2. Added to the ``mergeConfig`` found in ``src/index.jsx``

.. code-block::

   initialize({
      config: () => {
       mergeConfig({
       EXAMPLE_VALUE: true,
       }, 'CommuncationsAppConfig');

Running Tests
---------------------------

Tests use `jest` and `react-test-library`. To run all the tests for this repo:

   .. code-block::

      npm test
Description
No description provided
Readme AGPL-3.0 6.4 MiB
Languages
JavaScript 98.1%
Makefile 1.1%
SCSS 0.5%
HTML 0.3%