Commit Graph

3147 Commits

Author SHA1 Message Date
Chris Chávez
30ace04469 fix: clear buttons in advanced components editors in Libraries (#36752) 2025-05-21 11:03:39 +09:30
Daniel Valenzuela
c20e6ec7f3 fix: open mfe modal editor of new duplicated xblock (#36641)
When duplicating an xblock in the authoring MFE, the iframe was opening its own editor modal instead of the MFE modal.
2025-05-20 21:29:32 +00:00
ihor-romaniuk
6366592dd0 fix: improve calculation for xblock action dropdown menu on unit page 2025-05-01 14:42:04 -03:00
ihor-romaniuk
389547cc2b fix: unit xblock adaptivity and small visual enhancements 2025-04-30 16:56:28 -03:00
Chris Chávez
54ec998bee fix: Broken CSS styles of ora2 block editor [FC-0076] (#36220)
* It was this error 'Uncaught TypeError: el.timepicker is not a function' while rendering the editor. It's fixed adding the timepicker pluging in xblock_v2/xblock_iframe.html
* Added '.openassessment_cancel_button' and '.openassessment_save_button' as action buttons.
* Use openassessment manifest.json to load css from dist
2025-04-22 21:08:02 +00:00
Arunmozhi
9f299df3a0 feat: adds scrollToXBlock message handler for cms iframe view (#36478)
This commit adds a new message handler to the XBlockContainerPage
CMS view, that allows the MFE to send a signal to the IFrame
and scroll to a specific XBlock.
2025-04-15 22:00:31 +05:30
Ihor Romaniuk
f5c17bb88c feat: [FC-0070] add events and style for rendering Split xblock in chromeless template (#35813)
This feature introduces functionalities to improve XBlock interactions within iframes:

  * Add styles that adopt default styles for Split Test which renders chromless template via iframe in MFE Authoring.
  * When the isIframeEmbed option is enabled, the XBlock sends a postMessage to the parent window. When sending such a message, the standard link transition is cancelled and the transition is carried out in MFE Authoring.
2025-03-31 18:31:59 -03:00
Robert Raposa
399be67fc4 style: remove eslint with frontend code removal ADR
- Add ADR for frontend code removal
- Drop eslint, as explained in the ADR
2025-03-20 11:03:41 -04:00
Braden MacDonald
3b5edaa1ad chore: fix a few JS lint issues that eslint is warning about (#36177) 2025-03-13 10:08:02 -07:00
Peter Kulko
cf7e45cf4d feat: manage tag events for new Unit page (#35751) 2025-03-03 10:59:05 -03:00
Peter Kulko
0319d62a78 feat: course unit - edit iframe modal window (#35777)
Adds logic to support the functionality of editing xblocks via the legacy modal editing window.
2025-02-20 17:02:43 -03:00
Kyle D. McCormick
6124695fdf refactor: Remove broken Force-Publish UI from Studio
Co-Authored-By: Feanil Patel <feanil@axim.org>
2025-02-19 09:07:57 -05:00
Kyle McCormick
569c2d9ad2 Revert "fix: Remove pointless Maintenance and Announcement apps (#35852)"
This reverts commit 9274852f2d.
2025-02-19 09:07:57 -05:00
Chris Chávez
d29ff63e2c fix: Render Word cloud block editor in libraries [FC-0076] (#36199)
* fix: Render Word cloud and conditional block editor

- The xmodule-type to render is MetadataOnlyEditingDescriptor
- The xmodule type `MetadataOnlyEditingDescriptor` renders a `<div>` with the block metadata in the `data-metadata` attribute. But is necessary to call `XBlockEditorView.xblockReady()` to run the scripts to build the editor using the metadata.
- To call XBlockEditorView.xblockReady() we need a specific require.config

* fix: Adding save and cancel button

* fix: save with studio_submit of conditional_block and word_cloud_block

* test: Tests for studio_submit of conditional and word cloud

* revert: Delete studio_submit of conditional block. It is not supported

* style: Fix lint

---------

Co-authored-by: Navin Karkera <navin@opencraft.com>
2025-02-19 18:05:55 +05:30
Chris Chávez
0bede61246 fix: Advanced editor styles [FC-0076] (#36221)
* Adds padding to the text of the competition block editor.
* Fix the style of the Save and Cancel buttons of the PDF block editor.
* Moves the Save and Cancel buttons to the bottom of the modal.
* Moves the Save and Cancel button to the right.
* Which edX user roles will this change impact? "Course Author"
2025-02-13 11:21:32 -05:00
Muhammad Faraz Maqsood
9ae7566b1c fix: studio edx.org-next theme
Attaching jira ticket for reference: https://2u-internal.atlassian.net/browse/TNL-11731

- compile_sass script was generating the `studio-main-v1.scss` file but it wasn't correct and wasn't picking the changes from paragon. As a result, `edx.org-next` theme wasn't being applied to the studio. And the reason was this line: https://github.com/openedx/edx-platform/pull/35233/files#:~:text=//%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D-,%40import%20%27_builtin%2Dblock%2Dvariables%27%3B,-%40import%20%27bourbon.
- This PR fixes the studio theme as I have rearranged `studio-main-v1.scss` file so that theme changes can be applied correctly.
2025-02-12 18:29:59 +05:00
Peter Kulko
925716415c chore: iframe rendering optimization (#35959)
Iframe reload optimizations for various xblock related actions. Added some improvements related to scrolling to the current xblock. Fixed behavior of the xblock action dropdown list.
2025-02-11 16:30:38 -03:00
Saad Yousaf
eaf6f66828 fix: styling fix for course optimizer legacy tool link 2025-02-07 15:46:19 +05:00
Raymond Zhou
02fc9c928f 2u/course optimizer (#35887) 2025-02-06 12:47:17 -05:00
Rômulo Penido
4f13ee0171 fix: advanced editor styling on library authoring [FC-0076] (#36146)
Fixes the styles for the advanced editors (poll, survey, LTI Provider, etc). Updated the code if `xblock_v2/xblock_iframe.html` to use `course-unit-mfe-iframe-bundle.scss`
2025-01-30 17:36:21 +00:00
Ihor Romaniuk
8aeaaf4e21 feat: [FC-0070] add message events and styles to the library content page (#35785)
This introduces improvements for XBlock interactions within iframes:

* Add default styles for Library Content that renders in the iframe in the new Studio unit page
* When the `isIframeEmbed` option is enabled, the XBlock sends a `postMessage` to the parent window. When sending such a message, the standard link transition is cancelled and the transition is carried out in the MFE.
2025-01-16 14:05:26 -03:00
Peter Kulko
755bf98091 feat: [FC-0070] Listen to xBlock interaction events (#35694)
This is part of the effort to support the new Studio Unit Page embedded in the authoring MFE.  It introduces several changes to improve the handling of XBlock events and the user interface in the CMS. The most important changes include adding event listeners for message handling, refining the postMessage logic, and updating the CSS for better visual consistency.
2025-01-14 11:56:51 -05:00
Navin Karkera
e6ddd9c7c1 refactor: remove unnecessary padding from lib component picker (#36073)
Library component picker and Problem bank picker iframe had unnecessary
padding resulting in multiple border/shadow in the modal.
2025-01-10 10:30:58 -05:00
Adolfo R. Brandes
f4d110c896 feat: Reimplement the Zooming Image Tool
This recreates the Zooming Image Tool template for the HTML block.  It
does it in such a way that doesn't depend on any external resources:
both the loupe code and sample image are inlined.

Some benefits to this version are:

* We can now maintain the loupe javascript code properly

* Because the javascript is included in the contents of the block
  itself, the course author can customize it as needed

* As opposed to the previous iteration, the magnified image URL is now
  optional: if it's not present, the regular image will be used for
  magnification

* There can now be two or more instances of the tool in the same unit.

This also removes some CSS left over from the previous iteration.
2024-12-13 11:34:28 -03:00
Kyle McCormick
9274852f2d fix: Remove pointless Maintenance and Announcement apps (#35852)
The Studio Maintenance app had two features:

* "Force Course Publish", which literally doesn't do anything. All it
  does is tell you what version *would* be seen by users *if* the course
  were to be published--no publishing actually occurs via this feature.

* "Announcements", which writes to the announcements_announcement
  database table, but doesn't actually display anywhere.

Having these pages in the platform is actively misleading and creates a
maintenance burden for edx-platform developers, so we remove them.

Note that this commit does not include a migration for the announcements
Django app. So, announcements_announcement table will not be deleted.
Given the small expected size of any past-authored announcements, we are
not worried about leaving them in the database perpetually.
2024-11-26 15:15:27 +00:00
Navin Karkera
73ba58ae11 feat: iframe messaging for component picker in problem bank (#35888) 2024-11-22 11:44:13 -05:00
Navin Karkera
49330a222a feat: post message on preview library block changes (#35861)
Posts message with library xblock changes info instead of displaying a modal if the unit is rendered in an iframe.
2024-11-19 19:07:28 +00:00
ihor-romaniuk
a34a54d29f feat: [FC-0070] add message events to the unit page container 2024-11-18 11:23:33 -03:00
Rômulo Penido
cb1e6eeb3f fix: error while loading iframe on mfe Unit Outline [FC-0062] (#35828)
On the Course unit page after merging the PR with new iframe for xblocks, an issue with infinite loading of the iframe appeared if the unit/xblock has tags. This PR solves the problem with the error that appeared. Addition and processing of the tagging functionality is planned in future PRs.
2024-11-15 17:54:56 +00:00
Navin Karkera
d9f6afa264 feat: add beta flag to component templates (#35802)
Mark components like libraryv2 and problem bank beta in API to be used by both legacy templates and new authoring mfe.

Also updates order of components.
2024-11-13 18:27:54 +00:00
Muhammad Anas
fb5e26952b fix: removed all the usage of useV2CertDisplaySettings 2024-10-30 17:41:16 +05:00
Muhammad Anas
051eacb024 fix: certificate display behaiviour not showing date-picker for end-with-date 2024-10-30 17:41:16 +05:00
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
Braden MacDonald
4158a44307 feat: multi-select when adding blocks to problem bank (#35705)
This implements basic multi-select for adding components to a problem bank,
for the Libraries Relaunch Beta [FC-0062].

Part of: https://github.com/openedx/frontend-app-authoring/issues/1385
2024-10-23 08:29:16 -04:00
Braden MacDonald
9e28ba92ec feat: minimal UI for the Problem Bank block 2024-10-22 17:27:04 -07: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
Artur Gaspar
90fc5f8dbf feat: open new editors from non-unit Studio container page (#33575)
Make the edit button on a container page for a non-unit block
(i.e. an individual text, problem or video block) open the new
editor when the relevant flag is enabled.
2024-05-31 11:30:59 -04:00
Rômulo Penido
b42da7429f feat: Enable taxonomy/tagging feature in MFE by default (#34633)
* feat: make tagging feature enabled by default

* fix: use the correct flag for tagging enabled

* fix: make compatible with other changes from master

* fix: more compatibility fixes

* fix: show tag counts at all levels of the outline, not just units

* chore: typo

* test: fix counts in test suite now that tagging is on by default

---------

Co-authored-by: Braden MacDonald <braden@opencraft.com>
Co-authored-by: Yusuf Musleh <yusuf@opencraft.com>
2024-05-09 18:57:05 +05:30
Chris Chávez
6738faa8f7 feat: Avoid to close tag drawer when click outside (#34740) 2024-05-09 17:29:21 +05:30
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
Maria Grimaldi
b792222772 fix: add support to Group Configuration view for Teams partitions (#34643) 2024-05-06 11:46:02 -04:00
XnpioChV
b9da8969e6 fix: Update tag counts when changes are saved in the tag drawer
* fix: courseAuthoringUrl on message listener
2024-05-03 11:26:47 -04:00
Omar Al-Ithawi
a10fce3379 feat!: remove Transifex calls for FC-0012 - OEP-58 (#34355) 2024-03-14 13:38:28 +00:00