Commit Graph

1234 Commits

Author SHA1 Message Date
Navin Karkera
e2a9a37d68 feat: show alert while editing v2 library content [FC-0062] (#35700)
Adds warning alert in edit modal for library v2 content in both legacy and new
MFE editors. For the Libraries Relaunch Beta.

Part of: https://github.com/openedx/frontend-app-authoring/issues/1340

Co-authored-by: Chris Chávez <xnpiochv@gmail.com>
2024-10-23 16:03:26 +00:00
Daniel Valenzuela
085b15a014 feat: itembank green button (#35706)
Adds Problem Bank to the main New Components buttons.

For the Libraries Relaunch Beta [FC-0062]

Part of: https://github.com/openedx/frontend-app-authoring/issues/1415

Co-authored-by: Jillian Vogel <jill@opencraft.com>
2024-10-23 08:33:05 -04:00
Jillian
784b2b8c3c feat: add "beta" label to libraries v2 content + item bank buttons (#35690) 2024-10-22 09:18:45 -07:00
Navin Karkera
7e8fb4393e feat: adds Library Content (v2) button to Studio Unit page (#35670)
Requires that v2 libraries are enabled.
2024-10-21 10:32:54 -07:00
Braden MacDonald
e2d6765637 feat: expand support for versioned URLs in v2 XBlock runtime (#35676)
* fix: problem block could not be used with versioned handler URls

* refactor: simplify REST API handling of usage keys

* feat: add more version awareness and update tests

* fix: make the preview changes modal bigger as requested

* refactor: parse version at the urlconf layer too
2024-10-21 09:14:17 -07:00
Braden MacDonald
83827a3dc2 feat: Confirmation modal to preview and accept v2 library updates (#35669) 2024-10-18 12:21:16 -07:00
Sagirov Evgeniy
e4a1e41367 feat: new Studio view for rendering a Unit in an iframe [FC-0070]
The first attempt at creating a new MFE-driven page for Studio Unit
rendering involved rendering each XBlock separately in its own iframe.
This turned out to be prohibitively slow because of the many redundant
assets and JavaScript processing (e.g. MathJax) that happens for each
XBlock component.

In order to mitigate some of these issues, we decided to try a hybrid
approach where we render the entire Unit's worth of XBlocks at once on
the server side in a Studio view + template, and then invoke that from
frontend-app-authoring as an iframe. The frontend-app-authoring MFE
would still be responsible for displaying most of the interactive UI,
but the per-component actions like "edit" would be triggered by buttons
on the server-rendered Unit display. When one of those buttons is
pressed, the server-rendered UI code in the iframe would use
postMessage to communicate to the frontend-app-authoring MFE, which
would then display the appropriate actions.

To make this work, we're making a new view and template that copies
a lot of existing code used to display the Unit in pre-MFE Studio, and
then modifying that to remove things like the header/footer so that it
can be invoked from an iframe.

This entire design is a compromise in order to do as much of the UI
development in frontend-app-authoring as possible while keeping
XBlock rendering performance tolerable. We hope that we can find
better solutions for this later.

Authored-by: Sagirov Eugeniy <evhenyj.sahyrov@raccoongang.com>
2024-10-18 10:03:07 -04:00
Muhammad Farhan Khan
375b9d9286 feat: Expose xmodule xblocks Sass variables as vanilla CSS variables (#35233)
* feat: Expose xmodule xblocks Sass variables as vanilla CSS variables
* https://github.com/openedx/edx-platform/issues/35173
2024-08-20 20:05:02 +05:00
Kaustav Banerjee
d43a2f73eb feat: default grade designations configurable from settings (#32406) 2024-05-08 01:14:03 +05:30
Yusuf Musleh
a3924f687b feat: Tag sections, subsections, and the whole course (#34690)
(In the legacy UI, if the 'new_studio_mfe.use_tagging_taxonomy_list_page' waffle flag is enabled)
2024-05-07 10:29:35 -07:00
Bryann Valderrama
8f886734f6 feat: show message in subsection visibility tab when hft is enabled (#33981)
Shows a message in the visibility tab of the subsections when the Hide From TOC is enabled.

Ref: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3853975595/Feature+Enhancement+Proposal+Hide+Sections+from+course+outline
2024-03-07 15:31:50 -04:00
Bryann Valderrama
19bc5c802c feat: add share link button when hide from toc is enabled in sections (#34043)
* feat: add share link modal when hide from toc is enabled

Adds a new button in the child subsections of sections with Hide From TOC enabled.
This button displays a new modal with two tabs. The first tab displays a button
that allows you to copy the link of that subsection to the clipboard. The second
tab displays a button that allows you to copy the embedded link of the same
subsection to the clipboard.

Ref: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3853975595/Feature+Enhancement+Proposal+Hide+Sections+from+course+outline
2024-03-07 14:12:17 -04:00
Maria Grimaldi
f544a4825d feat: make hide from TOC a visibility section setting (#33952)
Exposes the hide_from_toc xblock attribute so course authors can configure it as a section visibility option in Studio. Before this change, the Hide from TOC functionality was mainly used by OLX components. Hence, it wasn't available for configuration through the Studio UI. Still, its implementation existed in the platform and could be used by setting the attribute: hide_from_toc=true as part of the OLX definition.
Ref: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3853975595/Feature+Enhancement+Proposal+Hide+Sections+from+course+outline
2024-02-29 11:13:33 -04:00
bogdan3d
09d4835d2b fix: fixing the prompt view cancel button style for color and cursor shape (#33895) 2024-02-02 11:03:02 -04:00
Chris Chávez
5838d68efc feat: Tagging UX refinements - refresh tag count on edit (#34059)
* style: drawer-cover color updated for all tagging drawers
* feat: Update TagList component when a tag is updated on Manage tags drawer
* feat: Refactor TagCount to be able to refresh the count
* feat: Sync tag count in units
2024-01-25 10:33:47 -08:00
Chris Chávez
6763928d60 style: UX Refinements on tagging components (#33884) 2023-12-13 11:28:27 -08:00
Pooja Kulkarni
f5b246d0e9 feat: copy/paste unit from within a unit in Studio - feature flagged (#33724)
(requires the contentstore.enable_copy_paste_units waffle flag)
2023-12-01 11:33:34 -08:00
Chris Chávez
f72710e261 feat: Display tags on the Unit page in Studio (feature-flagged) - Take 2 (#33761) 2023-11-21 12:12:17 -08:00
Kyle McCormick
e800ae7622 feat: provisionally support V2 libraries in LibraryContentBlock (randomized only) (#33263)
Refactors and reworks the LibraryContentBlock so that its
sync-from-library operations are asynchronous and work with
V2 content libraries. This also required us to make
library_content block duplication asynchronous, as that
involves syncing from the source library.

For the sake of clarity, this PR includes two major method renames:

* update_children(...) -> sync_from_library(...)
* refresh_library(...) -> sync_from_library(upgrade_to_latest=True, ...)

an an XBlock HTTP handler rename:

  /refresh_children -> /upgrade_and_sync

There are still a couple issues with import or duplication
of library_content blocks referencing V2 libraries other than
latest. These will be resolved in an upcoming PR.

Part of: https://openedx.atlassian.net/wiki/spaces/COMM/pages/3820617729/Spec+Memo+Content+Library+Authoring+Experience+V2
Follow-up work: https://github.com/openedx/edx-platform/issues/33640

Co-authored-by: Connor Haugh <chaugh@2u.com>
Co-authored-by: Eugene Dyudyunov <evgen.dyudyunov@raccoongang.com>
2023-11-20 15:58:10 +00:00
Rebecca Graber
c66ed87f65 Revert "feat: Tag List on Unit page (feature-flagged) (#33645)" (#33740)
This reverts commit 104d42c67a.
2023-11-17 20:12:47 +00:00
Chris Chávez
104d42c67a feat: Tag List on Unit page (feature-flagged) (#33645) 2023-11-17 10:03:28 -08:00
Yusuf Musleh
e311ef50ec feat: Studio menu/button to display Unit's Tags (feature flagged) (#33563) 2023-11-08 12:23:05 -08:00
Yusuf Musleh
3eb4e0ce9c feat: Update new files notification banner styles (#33197)
Uses the updated styles for the notification based on the new designs.
Includes a button to open view the files directly in the notification.

This also fix a bug where the notification was not appearing when paste
a whole Unit.
2023-09-15 08:58:50 -07:00
German
3f20c75043 feat: [ACADEMIC-16209] Unit summary settings (#32855)
* feat: [ACADEMIC-16209] Unit summary settings

[https://jira.2u.com/browse/ACADEMIC-16209](https://jira.2u.com/browse/ACADEMIC-16209)

1. Add unit xpert unit summaries settings behind flag `summaryhook_summaries_configuration` added [here](https://github.com/edx/ai-aside/pull/45/files)
2. Only show the checkbox when the value is a `boolean` otherwise the feature is considerer `disabled` by the flag.
3. Update block handler to update this value via `api` exposed [here](https://github.com/edx/ai-aside/pull/43)
4. Create `AiAsideSummary` configuration class to provide access to the `ai_aside.api` endpoints.
2023-08-21 14:55:22 -03:00
Braden MacDonald
08fda1b3eb feat: new actions menu for copy/pasting units in Studio (behind waffle flag) (#32891) 2023-08-14 11:58:24 -07:00
Andrey Cañon
516eff0633 Decouple XModule styles from LMS/Studio styles (attempt 3) (#32237)
This basically changes how the xmodule static files are
generated and consumed in order to separate the Xblock
styles from general style files. Includes:

* build: decople XModule style assets by using a custom webpack loader
* build: move scss imports to its specific file
* build: fix: add system dirs to theme lookup paths.  (fixes attempt 1)
* build: fix: use bootstrap variables instead of lms variables (fixes attempt 2)

This is an amendment to #32188,
which itself was an amendment to #32018.

Addressing the issue https://github.com/openedx/edx-platform/issues/31624
2023-05-18 09:00:44 -04:00
Leangseu Kim
aa8594ff03 chore: update styling for selection 2023-05-08 09:47:59 -04:00
Kyle McCormick
05487e9279 Revert "Decouple XModule styles from LMS/Studio styles (attempt 2) (#32188)" (#32191)
This reverts commit c34f8efc0e.
2023-05-05 15:06:32 -04:00
Braden MacDonald
4b72194b98 feat: Show a preview of what's in the user's clipboard (#32132)
This also fixes Studio container view 404.
2023-05-05 17:35:03 +02:00
Andrey Cañon
c34f8efc0e Decouple XModule styles from LMS/Studio styles (attempt 2) (#32188)
This basically changes how the xmodule static files are
generated and consumed in order to separate the Xblock
styles from general style files. Includes:

* build: decople XModule style assets by using a custom webpack loader
* build: move scss imports to its specific file
* build: fix: add system dirs to theme lookup paths. 

This is an amendment to #32018

Addressing the issue #31624
2023-05-05 10:02:18 -04:00
connorhaugh
b9be2b1e56 Revert "build: Decouple XModule styles from LMS/Studio styles (#32018)" (#32183)
This reverts commit 471ba9121b.
2023-05-04 09:59:15 -04:00
Andrey Cañon
471ba9121b build: Decouple XModule styles from LMS/Studio styles (#32018)
This basically changes how the xmodule static files are
generated and consumed in order to separate the Xblock
styles from general style files. Includes:

* build: decople XModule style assets by using a custom webpack loader
* build: move scss imports to its specific file

Addressing the issue https://github.com/openedx/edx-platform/issues/31624
2023-05-04 08:21:09 -04:00
Leangseu Kim
0dc881e25a feat: course level public sharing video options
feat: add video sharing option field course field

chore: add social sharing document url

chore: add course check because library also using this
2023-05-02 14:57:25 -04:00
Braden MacDonald
8ee1f66ffb feat: Paste Components (OLX) into any Unit in Studio (#31969)
* feat: Implement paste button

* chore: improve docs and add tests for python API

* fix: drive-by fix to use a better API for comparing XML

* feat: track which XBlock something was copied from

* feat: add tests

* feat: enable import linter so content_staging's public API is respected

* fix: error seen when trying to paste drag-and-drop-v2 blocks

* fix: use strip_text=True consistently for XML comparisons

* refactor: rename get_user_clipboard_status to get_user_clipboard

* feat: Better error reporting when pasting in Studio

* chore: convert new test suite to pytest assertions

* refactor: push READY status check into the API per review suggestion

* fix: use strip_text=True consistently for XML comparisons

* fix: store "copied_from_block" as a string to avoid Reference field issues

* fix: minor lint error

* refactor: move data types to data.py per OEP-49
2023-04-27 09:58:04 -07:00
Kristin Aoki
766fdc5197 fix: missing blockquote margin xblock preview (#32120) 2023-04-24 16:59:12 -04:00
Jansen Kantor
de047cd6f9 feat: add assignment type count warning (#32068)
* feat: add assignment type count warning

* style: quality
2023-04-14 12:26:29 -04:00
connorhaugh
2d4a1b3623 feat: add drag-and-drop v2 as bug green button (#31980)
Adds a big green button for the drag-and-drop-V2 xblock, as it is no longer hidden in the "problem" section.
2023-03-22 16:51:56 -04:00
Jeremy Ristau
ef0a7bc50f Merge pull request #31671 from raccoongang/lunyachek/fix/cosmetic-fix-units-hover-tooltips-studio
fix: Fix units hover tooltips in studio which are overlapping by other page content
2023-03-21 14:42:13 -04:00
Braden MacDonald
6805654d40 feat: New actions menu for components in Studio (behind waffle flag) (#31853) 2023-03-03 10:09:27 -08:00
Cristhian Garcia
3427a9a491 feat: added organization dropdown in studio (#30975)
Adds a dropdown to select the organization. The dropdown will only be activated for users with CourseCreator permission to specific organizations in Studio.

Use cases:

When FEATURES['ENABLE_CREATOR_GROUP'] = True and the user has CourseCreator permission granted, a dropdown will appear with all specific organizations allowed. In case of all_organizations setting is enabled, all organizations will appear in the dropdown.

In case the user is staff, he can create organizations it will work as before
2023-02-08 10:48:15 -04:00
lunyachek
138e306eb6 fix: Fix units hover tooltips in studio which are overlapping by other page content 2023-01-30 20:38:24 +02:00
Kristin Aoki
601904c6ad fix: readability of course creator access request button text 2022-09-06 15:41:57 -04:00
Sagirov Evgeniy
0ff6d50734 [BD-14] feat: Take the Library Content xblocks out the Advanced section to the top default level (#30803)
* feat: Take the Library Content xblocks out the Advanced section to the top default level

* feat: remove library component from library category
2022-08-16 08:25:46 -04:00
Kshitij Sobti
8fa962b1c8 feat: Add Studio UI to edit discussions toggle [TNL-7349] (#29720)
Adds a UI in studio to toggle discussions for a units if a course is using a discussion provider that supports it and per-unit discussion control is enabled.

Co-authored-by: Kshitij Sobti <kshitij@opencraft.com

Co-authored-by: Agrendalath <piotr@surowiec.it>
2022-01-19 11:21:32 +05:00
Julia Eskew
05ff94a993 feat: Change the text of the Studio button to add an HTML component
to read "Text" and display a text icon instead of a "</>" icon.
2021-12-16 11:59:10 -05:00
Awais Ansari
f59397e63f fix: update hover state for textbooks breadcrumbs (#28690) 2021-09-09 15:11:15 +05:00
Matt Tuchfarber
622d56026c Certificate Display Settings revamp (round 2) (#28286)
feat: reimagine certificate display settings

The course settings `certificate_available_date` (CAD) and
`certificates_display_behavior` (CDB) were previously
acting indedependantly of one another. They now work in
tandem. This change:
- limits CDB to a dropdown
- removes "early_with_info" and adds "end_with_date"
- only takes CAD into account if "end_with_date" is selected
- Moves CDB to the main course schedule settings page
- updates CourseOverview model and CourseDetails objects to
validate these fields and choose sane defaults if they aren't
expected values

This work was previously done in bd9e7dd (complete with bugs), so this
version is toggleable via the ENABLE_V2_CERT_DISPLAY_SETTINGS setting
2021-08-02 11:30:15 -04:00
Sofia Yoon
898684287a feat: AA-885 show offsets in studio self paced course outline for a subsection
feat: AA-883 basic prototype for custom pacing pls in studio

refactor: merge with basic prototype for self paced courses from AA-844

feat: add due date estimate message in self paced courses studio modal

refactor: merge with main that has up to date self paced custom pls editor and tests

fix: only display projected date if start date exists

fix: tests to check grading date in outline

fix: only one warning message show at a time

fix: do not show projected date when it is before the start date
2021-07-26 16:26:22 -04:00
Matt Tuchfarber
63cb6a97ff Revert "feat: Reimagine certificate_availability_date and certificates_display_behavior" 2021-07-07 16:53:05 -04:00
Matt Tuchfarber
2a7106acfb feat: reimagine certificate display settings
The course settings `certificate_available_date` (CAD) and
`certificates_display_behavior` (CDB) were previously acting indedependantly
of one another. They now work in tandem. This change:
- limits CDB to a dropdown
- removes "early_with_info" and adds "end_with_date"
- only takes CAD into account if "end_with_date" is selected
- Moves CDB to the main course schedule settings page
- updates CourseOverview to validate these fields and choose sane
defaults if they aren't expected values

Certificates will now show under the following circumstances:
"Immediately upon passing"
certificate_availability_date = null
certificates_display_behavior = "early_no_info"

"End date of course"
certificate_availability_date = null
certificates_display_behavior = "end"

"A date after the course end date"
certificate_availability_date = <date>
certificates_display_behavior = "end_with_date"
2021-07-06 16:45:23 -04:00