feat: Drop the legacy_studio.text_editor flag.
Remove the flag and update the code paths as if it's always set to true.
This commit is contained in:
@@ -86,25 +86,6 @@ def exam_setting_view_enabled(course_key):
|
||||
return not LEGACY_STUDIO_EXAM_SETTINGS.is_enabled(course_key)
|
||||
|
||||
|
||||
# .. toggle_name: legacy_studio.text_editor
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Temporarily fall back to the old Text component (a.k.a. html block) editor.
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2025-03-14
|
||||
# .. toggle_target_removal_date: 2025-09-14
|
||||
# .. toggle_tickets: https://github.com/openedx/edx-platform/issues/36275
|
||||
# .. toggle_warning: In Ulmo, this toggle will be removed. Only the new (React-based) experience will be available.
|
||||
LEGACY_STUDIO_TEXT_EDITOR = CourseWaffleFlag("legacy_studio.text_editor", __name__)
|
||||
|
||||
|
||||
def use_new_text_editor(course_key):
|
||||
"""
|
||||
Returns a boolean = true if new text editor is enabled
|
||||
"""
|
||||
return not LEGACY_STUDIO_TEXT_EDITOR.is_enabled(course_key)
|
||||
|
||||
|
||||
# .. toggle_name: legacy_studio.video_editor
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
|
||||
@@ -53,11 +53,9 @@ from cms.djangoapps.contentstore.toggles import (
|
||||
use_new_home_page,
|
||||
use_new_import_page,
|
||||
use_new_schedule_details_page,
|
||||
use_new_text_editor,
|
||||
use_new_textbooks_page,
|
||||
use_new_unit_page,
|
||||
use_new_updates_page,
|
||||
use_new_video_editor,
|
||||
use_new_video_uploads_page,
|
||||
)
|
||||
from cms.djangoapps.models.settings.course_grading import CourseGradingModel
|
||||
@@ -289,11 +287,10 @@ def get_editor_page_base_url(course_locator) -> str:
|
||||
Gets course authoring microfrontend URL for links to the new base editors
|
||||
"""
|
||||
editor_url = None
|
||||
if use_new_text_editor(course_locator) or use_new_video_editor(course_locator):
|
||||
mfe_base_url = get_course_authoring_url(course_locator)
|
||||
course_mfe_url = f'{mfe_base_url}/course/{course_locator}/editor'
|
||||
if mfe_base_url:
|
||||
editor_url = course_mfe_url
|
||||
mfe_base_url = get_course_authoring_url(course_locator)
|
||||
course_mfe_url = f'{mfe_base_url}/course/{course_locator}/editor'
|
||||
if mfe_base_url:
|
||||
editor_url = course_mfe_url
|
||||
return editor_url
|
||||
|
||||
|
||||
|
||||
@@ -504,12 +504,11 @@ function($, _, Backbone, gettext, BasePage,
|
||||
if (!options || options.view !== 'visibility_view') {
|
||||
const primaryHeader = $(event.target).closest('.xblock-header-primary, .nav-actions');
|
||||
|
||||
var useNewTextEditor = primaryHeader.attr('use-new-editor-text'),
|
||||
useNewVideoEditor = primaryHeader.attr('use-new-editor-video'),
|
||||
var useNewVideoEditor = primaryHeader.attr('use-new-editor-video'),
|
||||
useNewProblemEditor = primaryHeader.attr('use-new-editor-problem'),
|
||||
blockType = primaryHeader.attr('data-block-type');
|
||||
|
||||
if((useNewTextEditor === 'True' && blockType === 'html')
|
||||
if((blockType === 'html')
|
||||
|| (useNewVideoEditor === 'True' && blockType === 'video')
|
||||
|| (useNewProblemEditor === 'True' && blockType === 'problem')
|
||||
) {
|
||||
@@ -1170,8 +1169,7 @@ function($, _, Backbone, gettext, BasePage,
|
||||
},
|
||||
|
||||
onNewXBlock: function(xblockElement, scrollOffset, is_duplicate, data) {
|
||||
var useNewTextEditor = this.$('.xblock-header-primary').attr('use-new-editor-text'),
|
||||
useNewVideoEditor = this.$('.xblock-header-primary').attr('use-new-editor-video'),
|
||||
var useNewVideoEditor = this.$('.xblock-header-primary').attr('use-new-editor-video'),
|
||||
useVideoGalleryFlow = this.$('.xblock-header-primary').attr("use-video-gallery-flow"),
|
||||
useNewProblemEditor = this.$('.xblock-header-primary').attr('use-new-editor-problem');
|
||||
|
||||
@@ -1181,7 +1179,7 @@ function($, _, Backbone, gettext, BasePage,
|
||||
var blockType = data.locator.match(matchBlockTypeFromLocator);
|
||||
}
|
||||
// open mfe editors for new blocks only and not for content imported from libraries
|
||||
if(!data.hasOwnProperty('upstreamRef') && ((useNewTextEditor === 'True' && blockType.includes('html'))
|
||||
if(!data.hasOwnProperty('upstreamRef') && (blockType.includes('html')
|
||||
|| (useNewVideoEditor === 'True' && blockType.includes('video'))
|
||||
|| (useNewProblemEditor === 'True' && blockType.includes('problem')))
|
||||
){
|
||||
|
||||
@@ -13,7 +13,7 @@ from django.urls import reverse
|
||||
from django.utils.translation import gettext as _
|
||||
|
||||
from cms.djangoapps.contentstore.helpers import xblock_studio_url, xblock_type_display_name
|
||||
from cms.djangoapps.contentstore.toggles import use_new_text_editor, use_new_problem_editor, use_new_video_editor, use_video_gallery_flow
|
||||
from cms.djangoapps.contentstore.toggles import use_new_problem_editor, use_new_video_editor, use_video_gallery_flow
|
||||
from cms.djangoapps.contentstore.utils import get_editor_page_base_url
|
||||
from openedx.core.djangolib.js_utils import (
|
||||
dump_js_escaped_json, js_escaped_string
|
||||
@@ -115,7 +115,6 @@ from openedx.core.djangolib.markup import HTML, Text
|
||||
<%block name="content">
|
||||
|
||||
<%
|
||||
use_new_editor_text = use_new_text_editor(xblock_locator.course_key)
|
||||
use_new_editor_video = use_new_video_editor(xblock_locator.course_key)
|
||||
use_new_editor_problem = use_new_problem_editor(xblock_locator.course_key)
|
||||
use_new_video_gallery_flow = use_video_gallery_flow()
|
||||
@@ -172,7 +171,6 @@ use_new_video_gallery_flow = use_video_gallery_flow()
|
||||
</div>
|
||||
|
||||
<nav class="nav-actions" aria-label="${_('Page Actions')}"
|
||||
use-new-editor-text = ${use_new_editor_text}
|
||||
use-new-editor-video = ${use_new_editor_video}
|
||||
use-new-editor-problem = ${use_new_editor_problem}
|
||||
use-video-gallery-flow = ${use_new_video_gallery_flow}
|
||||
|
||||
@@ -7,12 +7,11 @@ from lms.lib.utils import is_unit
|
||||
from openedx.core.djangolib.js_utils import (
|
||||
dump_js_escaped_json, js_escaped_string
|
||||
)
|
||||
from cms.djangoapps.contentstore.toggles import use_new_text_editor, use_new_problem_editor, use_new_video_editor, use_video_gallery_flow
|
||||
from cms.djangoapps.contentstore.toggles import use_new_problem_editor, use_new_video_editor, use_video_gallery_flow
|
||||
from cms.lib.xblock.upstream_sync import UpstreamLink
|
||||
from openedx.core.djangoapps.content_tagging.toggles import is_tagging_feature_disabled
|
||||
%>
|
||||
<%
|
||||
use_new_editor_text = use_new_text_editor(xblock.context_key)
|
||||
use_new_editor_video = use_new_video_editor(xblock.context_key)
|
||||
use_new_editor_problem = use_new_problem_editor(xblock.context_key)
|
||||
use_new_video_gallery_flow = use_video_gallery_flow()
|
||||
@@ -83,7 +82,6 @@ can_unlink = upstream_info.upstream_ref and not upstream_info.has_top_level_pare
|
||||
is-collapsed
|
||||
% endif
|
||||
"
|
||||
use-new-editor-text = ${use_new_editor_text}
|
||||
use-new-editor-video = ${use_new_editor_video}
|
||||
use-new-editor-problem = ${use_new_editor_problem}
|
||||
use-video-gallery-flow = ${use_new_video_gallery_flow}
|
||||
|
||||
Reference in New Issue
Block a user