Commit Graph

69 Commits

Author SHA1 Message Date
Feanil Patel
1c9e20e6a7 fix: Correct test parameters.
This test should be suppling a `courseModes` parameter not a
`courseMode` parameter with a missing `s`.
2025-09-25 10:13:24 -04:00
PKulkoRaccoonGang
b106d0694f fix: fixed some problems with tests 2025-09-25 10:55:05 -03:00
oleksandr.buhaienko
ef6c498bb7 build: Upgrade to Node 24 2025-09-25 10:55:05 -03:00
Jacobo Dominguez
f8e2b3de03 refactor: replacing injectIntl with useIntl part 1 (#245) 2025-08-13 13:03:13 -04:00
Jacobo Dominguez
b5e4505665 refactor: replacing injectIntl with useIntl part 2 (#246) 2025-08-13 10:51:53 -04:00
Brian Smith
0c1eb6cae0 feat: import FooterSlot from component package instead of slot package (#226) 2025-04-24 12:10:52 -04:00
Brian Smith
ad19426aee feat: upgrade to react 18 (#219) 2025-04-04 13:46:15 -04:00
Brian Smith
3a14119d01 fix: import FooterSlot from frontend-slot-footer package 2024-05-17 09:37:27 -03:00
Brian Smith
cb3b2b4670 feat: use frontend-plugin-framework to provide a FooterSlot 2024-05-09 16:54:37 -03:00
eemaanamir
6dd835d63f refactor: converted functions to memos for best practice 2024-03-06 09:15:44 -03:00
eemaanamir
87c1cb5bd2 test: updated tests for both components to accommodate changes 2024-03-06 09:15:44 -03:00
eemaanamir
5875631a6c refactor: updated code according to best practices 2024-03-06 09:15:44 -03:00
eemaanamir
176a95c352 fix: converted UTC time to localtime in all the bulk email history tables 2024-03-06 09:15:44 -03:00
Taras Lytvynenko
20f212501f fix: Added maxLength and default tip for email subject (#154)
* fix: Added maxLength and default tip for email subject

* fix: lint
2024-02-27 15:14:56 -03:00
Eugene Dyudyunov
852d0ef2d9 refactor: apply review suggestions 2024-02-27 15:00:14 -03:00
Taras Lytvynenko
809112d4b2 docs: Unnecessary comment deleted 2024-02-27 15:00:14 -03:00
Taras Lytvynenko
d249b5e4aa fix: Logical operations moved into a separate variable 2024-02-27 15:00:14 -03:00
Taras Lytvynenko
dad6c84d46 fix: Course mode is used to show the correct bulk email options 2024-02-27 15:00:14 -03:00
Brian Smith
5f61578e28 chore(deps): update paragon and frontend-build to openedx scope (#190) 2024-01-22 17:23:16 -05:00
Ihor Romaniuk
a037f5b340 fix: date format depends on locale date format (#175) 2023-11-16 07:05:57 -03:00
o.bugaenko
7a299eb064 fix: wrong id placement on the h1 tag 2023-11-14 16:13:56 -03:00
vladislavkeblysh
f25ce0b95d feat: fixed layout 2023-11-14 12:32:37 -03:00
Tobias Macey
765857f380 fix: Disable URL rewriting when creating links
The default behavior of the TinyMCE editor is to rewrite links that share the same
domain as the component to be relative to that path. Relative URLs will never work in
email contents, so they _always_ need to be absolute URLs. This adds the configuration
settings for `relative_urls` and `remove_script_host` in TinyMCE to always be false,
enabling it to always use absolute URLs. See
[here](https://www.tiny.cloud/docs/configure/url-handling/) for reference.
2023-06-12 19:18:12 +01:00
Mashal Malik
c2b4d04b5d Migrate off paragon modal deprecated component (#95)
* refactor: migrate off paragon modal deprecated component

* refactor: migrate off paragon modal deprecated component

* refactor: resource the close button string

* refactor: remove extra file

* refactor: add message in messages  file
2023-06-05 14:47:53 -04:00
Ghassan Maslamani
a198557e67 fix: getting course-id when public path is set (#127) 2023-06-01 14:30:35 -03:00
Adolfo R. Brandes
559a1061b6 Merge pull request #125 from arbrandes/runtime-config 2023-05-23 08:54:59 -03:00
Adolfo R. Brandes
53fa594207 feat: Support runtime configuration
frontend-platform supports runtime configuration since 2.5.0 (see the PR
that introduced it[1], but it requires MFE cooperation.  This implements
just that: by avoiding making configuration values constant, it should
now be possible to change them after initialization.

Only a single change related to the `LMS_BASE_URL` setting was required.

[1] openedx/frontend-platform#335
2023-05-22 10:00:22 -03:00
Mashal Malik
0c34d86610 feat: upgrade to node v18 and related fixes (#123) 2023-05-17 14:19:00 -03:00
renovate[bot]
a2b2d55db0 chore(deps): update dependency ejs to 3.1.7 [security]
* ignore lint errors (for now) to prioritize getting an updated version of the Comms MFE out with a compromised dependency
2023-03-09 13:27:42 -05:00
Thomas Tracy
bc64c9e278 fix: [APER-1936] Changes for a11y review (#71)
* fix: [APER-1936] Changes for a11y review

- Fixes skip nav link to work properly
- inline styles pending tasks link
- adds <main>
- adds sr-only span to "view message" links in task history table
- header/footer updated in seperate PR

* chore: add sr-only span to unit test

* fix: fix space before sr-only span"
2022-08-19 10:31:30 -04:00
Maxwell Frank
c905ede6fe fix: cohorts disabled when 'all learners' is selected 2022-08-04 14:17:57 -04:00
Thomas Tracy
eea663675b fix: [MICROBA-1903] validate date time (#62)
* fix: [MICROBA-1903] validate date time

Currently, we do not validate date and time to be a date on the future on the front end. We do handle this on the backend. This updates form validation to force the user to enter a data in the future.
2022-08-03 09:57:25 -04:00
Maxwell Frank
9c6644c1b9 Mfrank/microba 1881 microba 1908 (#63)
* refactor: replaced Pending Tasks with alert and made general styling/accesibility updates

* addressed linter flags

* refactor: replaced Pending Tasks with alert and made general styling/accesibility updates

* fixed linting issues again

* refactor: replaced Pending Tasks with alert and made general styling/accesibility updates

* fixed checkbox responsiveness and darkened text under input

Co-authored-by: Maxwell Frank <mfrank@2u.com>
2022-08-02 11:41:27 -04:00
Thomas Tracy
339f9b303f fix: await post to properly update form (#59) 2022-07-29 09:24:42 -04:00
Thomas Tracy
aec97816fb fix: [MICROBA-1877] fix cancel button (#56)
The various form states were getting mixed up during error handling,
which lead to some strange situations where the cancel button was
appearing when it shouldnt have been. This PR centralizes all of the
form state changes into a useEffect hook to handle any and all state
changes throughout the form. This approach not only centralizes the
fragmented code, but prevents the state mixups that were happening
previously.

It also has the added benefit if down the line more state changes need
to be added, the changes are all happening in one place.
2022-07-25 15:02:02 -04:00
Thomas Tracy
31669aa1f2 feat: [MICROBA-1902] Confirm email deletion (#55)
This PR adds an alert style pop up to confirm with the user that they
are deleting an email from the scheduled email table intentionally.
2022-07-21 12:58:58 -04:00
Thomas Tracy
3deaeece2c feat: Add cancel button for editing an email (#49)
Right now, canceling edit mode is clunky. This adds a button to
explicitly cancel the mode for the editor.
2022-07-13 11:51:10 -04:00
Maxwell Frank
5a20359856 WIP - Removing Pending tasks and styling changes - Microba 1824 (#47)
* refactor: replaced Pending Tasks with alert and made general styling/accesibility updates

* addressed linter flags

* refactor: replaced Pending Tasks with alert and made general styling/accesibility updates

* fixed linting issues again

* refactor: replaced Pending Tasks with alert and made general styling/accesibility updates

Co-authored-by: Maxwell Frank <mfrank@2u.com>
2022-06-28 10:04:55 -04:00
Thomas Tracy
99b9a51598 feat: [MICROBA-1840] delete/edit scheduled emails (#44)
This PR adds delete and edit functionality to emails that are scheduled to be sent at a future date. The workflow for editing is as such:

    A user clicks edit on the table
    The contents of the email are copied to the editor, and the user makes edits
    The user is warned that this is editing an email, and that it will not create a new task, instead updating the selected one
    If they accept, the email is updated.

For delete, the user just hits the delete button, and its gone. There is now warning popup as of yet.

This PR also adds the toast component for success and errors when sending emails.
2022-06-23 14:20:48 -04:00
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
Justin Hynes
298f573113 fix: use originalUserIsStaff to gate bulk email tool over isStaff
[MICROBA-1822][CR-4822]

* use `originalUserIsStaff` to gate bulk email tool access over `isStaff`

Additional Context
Access to this tool was originally gated by looking at the `isStaff` value from the CourseMetadata data returned to us from the LMS. The user masquerading feature seems to have some interesting interactions with the Instructor Dashboard and we may be denying legitimate staff/admin/instructors access to the tool. Instead of using the value of `isStaff` we will now use `originalUserIsStaff` to determine if the user accessing the tool should be allowed access (and this follows how the Learning MFE gates content).
2022-06-01 14:24:04 -04:00
Thomas Tracy
6dd09451a3 refactor: [MICROBA-1506] refactor message modal (#41)
This pr extracts out the message modal so that it can be reused
elsewhere in the app. Specifically so we can reuse it for the "view"
button in the scheduled emails table.
2022-05-17 12:05:27 -04:00
Thomas Tracy
ffa0361c22 feat: [MICROBA-1506] bulkEmailTool data context (#39)
Currently, our bulk email tool in concept looks something like this:
- BulkEmailTool
	- BulkEmailForm
	- BulkEmailTaskManager

Right now, the two components under the parent BulkEmailTool dont really
need to communicate with each other. For scheduled email, these two
components are going to be relying on the same data, and there need to
be provided that data by the parent. In order to make things more
manageable, this PR sets up some boilerplate and patterning for this
data. What this PR will include:
- Documentation around the pattern
- Necessary boilerplate to leverage the context store for the
  BulkEmailTool
- Tests around said store

What this PR will not include:
- Changes to the UI or form functionality
2022-05-16 11:43:04 -04:00
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
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
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