Commit Graph

66 Commits

Author SHA1 Message Date
Jansen Kantor
fbd7d4ca4c fix: set focus on target after clicking anchor (#35446) 2024-09-09 12:00:07 -04:00
ABBOUD Moncef
02dc68221b fix: replace resize event with ResizeObserver in xblock iframe (#34387) 2024-03-20 18:04:29 +05:00
Artur Gaspar
7da99848a7 fix: edxnotes visibility in courseware and courseware API (#33096)
This retrieves user preferences for edxnotes visibility by:
1. Adding a `bind_course_for_student` method to course overview model.
2. Using a bound XBlock in the `toggle_notes.html` template.

The previously used unbound course instance was returning a default value.
2023-09-07 17:59:51 +02:00
Usama Sadiq
852246db8c fix: replace ugettext with gettext (#33022) 2023-08-16 17:07:23 +05:00
Jansen Kantor
ef30d2d32e feat: add cta buttons to public video xblock page
* feat: video share page buttons
* feat: pass along utm params
* feat: disbale register button on public video page
* fix: convert to class-based view
2023-03-07 14:24:27 -05:00
Kristin Aoki
c20aa28c2f fix: video captions skip to end and skip to start 2022-10-20 11:58:17 -04:00
Ihor Romaniuk
60f81897a8 fix: add ability to observe iframe content height on content load and change (#30942)
These changes allow the ability to adapt to update/resize the unit content after loading and interaction. Main cases were with Open Response Assessment (ORA) and Discussion blocks.
2022-09-27 11:21:14 -04:00
Michael Terry
04d56f9229 fix: tell MFE about xblock iframe resizes more often
Previously, we missed some kinds of resize events (like css changes)
when the DOM inside an xblock changed. And then the MFE iframe
wouldn't be the right size.

This switches from a MutateObserver to the more appropriate
ResizeObserver which catches more cases.

AA-1252
2022-04-04 16:21:14 -04:00
Ghassan Maslamani
e27a8ad125 fix: add as style for the link tag that preloads (#30094)
Adding a as `as="style"` for link tag which preloads a CSS resource
That is requried to set otherwise chrome/browser would issue a warning about it. 
Ref: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/preload
2022-03-28 14:57:23 -04:00
Arjun Singh Yadav
6a52bfa4ce fix: courseware-chromeless: cancel click event only when target is found
Cancel the click event on anchor tag only when the target
element is found.

Fixes: TNL-8445
2021-07-10 04:27:36 +05:30
Kristin Aoki
456d6c502c fix: Update course preview redirect
This PR changes the preview URL redirect from Studio. Before when a user clicked on the course preview button to check unpublished changes, the preview in the New Experience would show the most recently published version of the course. The unpublished changes that the user was hoping to view are no present. At the moment users have been publishing the content to check it then having to republish the old version if they did not like the changes. As a short-term fix, this PR redirects to the Legacy experience where the preview option previously worked. Now the user can see the unpublished changes. A long-term fix is still being explored. This change will impact the Course Author.
2021-06-21 13:36:21 -04:00
Kristin Aoki
3cf541cc76 fix: Autoscroll on page when using jump_to_id (#27952)
This PR changes the default function of HTML anchor tags that focus on
another element on a different page in the course. Previously the anchor
tags that were set to scroll on a different page would open up the page
but remain at the top of the page. As a result, users would have to
manually scroll to the correct part of the page if that information is
known or they will read the entire page. Now when the anchor tag is used
to focus on a different page, the link of the new page is checked for a
hash and sends the location of the hash to the parent page to scroll to
the correct location. This change will impact the Learner in the New
Experience view.
2021-06-16 13:43:56 -04:00
Kristin Aoki
9ca8c430de fix: anchor tag scroll based on name attribute
This PR changes the default function of HTML anchor tags that focus on another element on the page based on the name attribute. Previously the anchor tags that were set to scroll on the page to another element would do nothing since the scroll was set to only look for the id attribute. As a result, users would have to manually scroll to the location of the name attribute, if it is previously known. Otherwise, the link appears to be broken. Now when the anchor tag is used to focus it and send the location of the focus element to the parent page to scroll to the correct location. This change will impact the Learner in the New Experience view.
2021-06-10 12:12:46 -04:00
Kristin Aoki
2d97abef1a fix: Scroll page when html anchor tag clicked
This PR changes the default function of HTML anchor tags that focus on another element on the page. Previously the anchor tags that were set to scroll on the page to another element would open the link outside of the iframe and redirect the parent page. As a result, users would have to have to click the back arrow to navigate back to the course and continue the unit. Now when the anchor tag is used to focus it and send the location of the focus element to the parent page to scroll to the correct location. This change will impact the Learner in the New Experience view.

Jira issue: TNL-8312
2021-06-09 11:33:06 -04:00
jawad khan
186cc9f16c LEARNER-7858 (#26967)
Removed tabindex="-1" from main element to fix accessibility issue
Description

Removed tabindex="-1"  from main
We had a strange issue where TalkBack wasn’t reading content in some xBlocks but was reading some others. I figured out that if you remove tabindex=-1 from <main>, TalkBack works as expected again. Tangentially, this breaks the old method of implementing SkipNav links. Further tangentially, the SkipNav links were already broken (or in this case redundant on mobile). @wittjeff  will file two separate issues after this one PR is merged — one  for a better way to implement SkipNav links for  Learning MFE, and one for a better / functional way to implement SkipNav links for Mobile.

How to reproduce
Go to [this unit](https://courses.edx.org/xblock/block-v1:W3Cx+WAI0.1x+3T2019+type@html+block@2eb3c86c479f44ba964f88ff0bfd9211) on mobile and turn on TalkBack. It will skip main content. For further information on testing go to [Jira Ticket](https://openedx.atlassian.net/browse/LEARNER-7858)
2021-03-24 11:15:16 +05:00
Kyle McCormick
90be80e645 fix: assign $$course_id in <head> to fix course-team-authored JS (#26745)
Course-team-authored JS expects $$course_id to be defined
in the global scope. This has worked fine in Legacy courseware,
but due to some differences in page loading (which I don't
understand) between Legacy and Chromeless (ie New/MFE) XBlock
rendering templates, $$course_id wasn't being assigned before
course-team-authored JS was run, causing the scripts to break
on the undefined variable.

The fix here is to assign $$course_id in the <head>,
guaranteeing that the variable is assigned before
any other JS is run.

TNL-7993
2021-02-25 15:54:03 -05:00
David Ormsbee
691472e475 [feat]: Don't use Mathjax if an HTMLBlock has no math. (#26478)
Mobile apps load HTML (and other) XBlocks individually using the
render_xblock endpoint. This is an attmept to reduce the number
of requests and JS processing needed to do so by detecting when
we have math content in HTMLBlocks and only adding the Mathjax
resources when necessary.

This is controlled by the "courseware.optimized_render_xblock"
CourseWaffleFlag. For maximum safety, we currently only optimize
in this way when directly hitting HTMLBlocks, and not for
ProblemBlock or VerticalBlock.

This was made as part of edX's Hackathon XXV.
2021-02-11 13:31:17 -05:00
Carla Duarte
9a59d48e0a AA-387: WIP 2020-10-22 14:30:26 -04:00
Michael Terry
c2033f9667 Small PLS courseware banner fixes
- Hide the submit-button CTA link to reset dates in the mobile
  app. They are working on their own solution.
- Don't show the dates_banner.html code in the courseware. It has
  new CTA banner support with updated wording.
2020-08-10 09:44:43 -04:00
Nicholas D'Alfonso
b454f9be1d AA-151 dates banner on course outline and refactor
- use new dates banner template on course outline page
- remove old banner from main.html
- let dates tab use new dates banner template
- remove dates banner completely from the courseware problem view
  on the web app
- use new banner on the courseware problem view on the mobile app
- update banner util to use get_course_blocks
2020-05-21 13:23:05 -04:00
stvn
d608b43471 Revert "Add logging to Learning MFE iframe, temporarily"
This reverts commit 2ddc35cd79.
2020-05-06 19:43:11 -07:00
stvn
6c5edee219 Stop skipping chromeless iframe resize onload event
in the case where the MutationObserver has already tried resizing the
iframe prior to it fully loading.
2020-04-29 11:04:12 -07:00
stvn
2ddc35cd79 Add logging to Learning MFE iframe, temporarily
to debug Firefox event handling that cannot be reproduced locally.

See TNL-7187 [1] for more details.

- [1] https://openedx.atlassian.net/browse/TNL-7187
2020-04-28 10:08:21 -07:00
stvn
fb830eea88 Add audit access expiration message to courseware_api
to display the banner in the Learner MFE.
2020-04-13 18:01:50 -07:00
Dave St.Germain
543611fbb7 Added edxnotes information to the courseware API.
Added notes visibility toggle support for courseware MFE.
Removed notes and calculator from chromeless view when rendered in courseware MFE.
2020-04-09 13:59:01 -04:00
Nicholas D'Alfonso
fe8d28bccf AA fix mobile reset dates banner 2020-04-03 15:22:50 -04:00
Nicholas D'Alfonso
ac9d2bfd30 AA-85 mobile reset dates
- render reset dates banner in webview for mobile app.
- improve banner redirect mechanism
2020-04-02 00:37:54 -04:00
Adam Butterworth
9094617d64 Prevent scrolling in chromeless view when iframed into learning mfe (#23291)
TNL-7094
2020-03-03 16:37:31 -05:00
Adam Butterworth
04083cf4ab Allow chromeless courseware content to be centered (#23201)
TNL-7093 Use inline styles to reset display to block from table-cell and width to auto
2020-02-28 12:27:14 -05:00
Dave St.Germain
a5b0f71108 Several optimizations for improving vertical rendering performance. 2020-02-20 11:41:21 -05:00
Adam Butterworth
6fbfc328ee fix: update courseware iframe check for learning mfe (#22974)
document.referrer may include a trailing slash or path which is now handled by the new condition
2020-01-29 14:54:35 -05:00
Adam Butterworth
59bb664fb4 Report iframed courseware content dimensions to parent window (#22972)
TNL-7044
2020-01-29 12:44:24 -05:00
Adam Butterworth
2968401e09 Links in courseware iframed in MFEs navigate parent window (#22962)
[TNL-7043] If vertical block content is in an iframe in the learning microfrontend app, add a base tag in the head (of the iframe document) to force links to navigate the parent window.
2020-01-28 15:49:54 -05:00
Calen Pennington
07a15c681f Reapply the XBlock RequireJS -> Webpack changes
This reverts commit 105db2cf59, reversing
changes made to 447457594f.
2018-06-27 22:27:07 -04:00
Usman Khalid
8b1aad080a Add complete on view support to render_xblock view. 2018-06-22 14:46:03 -04:00
Eric Fischer
e72549cdbe Revert "Merge pull request #18340 from cpennington/fix-studio-xblock-rendering"
This reverts commit 9a70ca78a5, reversing
changes made to efd5b9abbd.

Hopefully fixes EDUCATOR-3053
2018-06-15 13:18:27 -04:00
Calen Pennington
be3c7e05c5 Reapply "Switch container factory to webpack"
This reverts commit 18d93b00ba.
2018-06-07 15:52:05 -04:00
Calen Pennington
18d93b00ba Revert "Switch container factory to webpack" 2018-06-07 13:46:47 -04:00
Calen Pennington
b9a72a4dc9 Remove hard-coded codemirror script tags from LMS XBlock pages 2018-06-06 12:52:12 -04:00
Clinton Blackburn
3a005c492f Disabled anonymous access for tabs that require enrollment 2017-11-14 08:00:16 -05:00
George Song
d020d7a2f9 Merge pull request #15474 from open-craft/mtyaka/chromeless-class
Add chromeless class to the wrapper when in chromeless mode.
2017-07-10 13:32:31 -07:00
Andy Armstrong
a113ab51d9 Removed unused accessible_modal template 2017-07-07 11:37:53 -04:00
Matjaz Gregoric
c448426cd3 Add chromeless class to the wrapper when in chromeless mode.
This makes it easier for CSS rules to target chromeless mode. This is
useful for xblocks which want to use some CSS tweaks specific to the
chromeless view.
2017-07-06 09:18:57 +02:00
Sanford Student
0a5ec53189 moving main 2017-02-16 09:20:44 -05:00
Sanford Student
7fd5278060 just seeing what happens if i do this 2017-02-16 09:20:44 -05:00
Sanford Student
3df7286d72 moving tabindex 2017-02-16 09:20:44 -05:00
Sanford Student
85f6401458 only show nav utils if populated 2017-02-06 14:36:10 -05:00
Tim Krones
3649f8181d Have DiscussionXBlock take care of loading JS and CSS files it depends on.
* Add openedx.core.lib.xblock_builtin.get_css_dependencies and get_js_dependencies,
  which respect PIPELINE_ENABLED setting when determining dependencies.
* Move new discussion-related Sass files into discussion subdirectory.
* Use "load_unicode" instead of "render_template" to load JS to add to fragment for DiscussionXBlock.
* Remove unused "course" parameter from context for DiscussionXBlock.student_view.
* Add RTL stylesheet for DiscussionXBlock, and enable the block to load correct stylesheet.
* Load MathJax only once, and include code for configuring MathJax in discussion bundle.
* Make sure username renders correctly in DiscussionXBlock response header.
* Move WYSIWYIG Markdown editor styles to _build-discussion.scss.
* Remove unnecessary import of discussion/utilities/v1-compatibility from _build-discussion.scss.
* Keep courseware-chromeless.html in sync with courseware.html.
* Load CSS for discussions on Teams tab.  This makes it possible to remove CSS for discussions from Sass files for "Course" tab.
* Load js/src/tooltip_manager.js, jquery.autocomplete.js and jquery.autocomplete.css on "Course" tab.
2016-10-12 01:22:42 +10:30
Jesse Zoldak
dbab855742 Revert "Have DiscussionXBlock take care of loading assets it depends on" 2016-10-05 12:37:12 -04:00
Tim Krones
baa9d06e97 Have DiscussionXBlock take care of loading JS and CSS files it depends on.
* Add openedx.core.lib.xblock_builtin.get_css_dependencies and get_js_dependencies,
  which respect PIPELINE_ENABLED setting when determining dependencies.
* Move new discussion-related Sass files into discussion subdirectory.
* Use "load_unicode" instead of "render_template" to load JS to add to fragment for DiscussionXBlock.
* Remove unused "course" parameter from context for DiscussionXBlock.student_view.
* Add RTL stylesheet for DiscussionXBlock, and enable the block to load correct stylesheet.
* Load MathJax only once, and include code for configuring MathJax in discussion bundle.
* Make sure username renders correctly in DiscussionXBlock response header.
* Move WYSIWYIG Markdown editor styles to _build-discussion.scss.
* Remove unnecessary import of discussion/utilities/v1-compatibility from _build-discussion.scss.
* Keep courseware-chromeless.html in sync with courseware.html.
* Load CSS for discussions on Teams tab.  This makes it possible to remove CSS for discussions from Sass files for "Course" tab.
* Load js/src/tooltip_manager.js, jquery.autocomplete.js and jquery.autocomplete.css on "Course" tab.
2016-10-03 22:11:31 +10:30